No subject


Mon Nov 10 20:17:25 PST 2014


CVS on FreeBSD -current that seem to be related to the use of BSD make. 
In the dlls 'setupapi' and 'version' directories there are source files 
called install.c. These confuse the build during a "make install". BSD 
make tries to compile and link a program called "install". Renaming the 
source files to something other than install.c (such as winstall.c) 
allows the build to succeed.

At run time, the error:

      "wine: failed to initialize: /something/lib/wine/ntdll.dll.so: 
mmap of entire address space failed: Cannot allocate memory"

is caused by Wine attempting to mmap memory outside the user process 
address space. I see mmap addr around 0xd8100000 (mostly 0xd81eccd8) 
whereas the user address space limit on FreeBSD current is 0xbfc00000 
(at least on my system).

This failure is well before any thread library issues are encountered.

I ran a test of mmap on FreeBSD current to see what address space I was 
able to mmap. Using objdump to identify the pages that the test program 
was linked to load in, the test program was able to mmap MAP_ANON, 
MAP_FIXED, MAP_NOCORE all memory from 0x0 to 0xbfc00000, except the 
pages at which the test program was mapped at.

I'll look further into how Wine is mmap'ing memory on FreeBSD.

Gerald then wondered where the change needed to be made - Wine or 
FreeBSD. John further explained:



More information about the Kernel mailing list