On 5/12/10 5:37 PM, Ken Thomases wrote:
What problems does this cause?
It makes Wine use more memory than it needs to.
http://wiki.winehq.org/UnalignedMmap
Can't we achieve that just by avoiding the mapping of the "mmap" identifier to the _mmap$UNIX2003 symbol?
We could for 32-bit, but not 64-bit.
It may be sufficient to #define _NONSTD_SOURCE, #include <sys/mman.h> as the first header, #undef _NONSTD_SOURCE, and then continue to include any other headers.
Not on 64-bit (when support for that finally gets here). If you try that in a 64-bit program, you get an error.
Alternatively, you can probably use an approach like this:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=028b763f2f51e780841299...
Again, it won't work for 64-bit. On 64-bit, only the "conforming" version is available. (Use nm on the System Library, /usr/lib/libSystem.dylib, and see for yourself. Note that it doesn't have the $UNIX2003 on the end because the UNIX '03 version is the only one available there.)
The 32-bit version was ugly anyway. I'll submit a new patch series.
Chip