[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnustep-cvs] r26723 - in /libs/base/trunk: ChangeLog Headers/Additi
From: |
David Ayers |
Subject: |
Re: [Gnustep-cvs] r26723 - in /libs/base/trunk: ChangeLog Headers/Additions/GNUstepBase/config.h.in Source/GSFFIInvocation.m configure configure.ac |
Date: |
Sun, 29 Jun 2008 09:54:56 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.14 (X11/20080509) |
Hello David
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
considered obsolete.
Hi Richard,
My man page for mmap states:
MAP_ANON
Synonym for MAP_ANONYMOUS. Deprecated.
So to me it seems the new #ifndef logic is inverted.
Cheers,
David