[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnustep-cvs] r26723 - in /libs/base/trunk: ChangeLog Headers/Additi
Re: [Gnustep-cvs] r26723 - in /libs/base/trunk: ChangeLog Headers/Additions/GNUstepBase/config.h.in Source/GSFFIInvocation.m configure configure.ac
Sun, 29 Jun 2008 09:54:56 +0200
Mozilla-Thunderbird 126.96.36.199 (X11/20080509)
David Chisnall schrieb:
> I think calling mmap directly is the wrong solution here. You should be
> using valloc() with the requested size rounded up to the nearest page
> size, and then use mprotect to set it as executable. Note that most
> sane operating systems (and Vista) are moving to W^X, so you need to set
> it as writeable while creating it, then executable while using it (i.e.
> call mprotect immediately before the return).
My man page for vmalloc states:
The obsolete function valloc() allocates size bytes and
returns a pointer to the allocated memory. The memory address will be a
multiple of the page
size. It is equivalent to memalign(sysconf(_SC_PAGESIZE),size).
I'm not sure whether you are aware of the fact that this function is
My man page for mmap states:
Synonym for MAP_ANONYMOUS. Deprecated.
So to me it seems the new #ifndef logic is inverted.