wine on sparc solaris

Juraj Hercek juraj at syncad.com
Wed Oct 9 07:54:18 CDT 2002


Hi,

Since no one had similar problems as I did on sparc solaris (no reply to 
my previous email sent to wine-devel on /Wed Oct 02 2002 - 09:38:12 CDT/ 
). I started to debug it. First problem lies here:

$WINE_ROOT/dlls/ntdll/virtual.c:986

There is a condition that says:

(char *)base + size > (char *)ADDRESS_SPACE_LIMIT

If base+size is above address space limit, NtAllocateVirtualMemory 
fails. Problem is, that addresses returned by wine_anon_mmap function 
($WINE_ROOT/library/port.c:458) - which in turn calls system mmap - are 
far behind ADDRESS_SPACE_LIMIT (ADDRESS_SPACE_LIMIT=0xc0000000, 
definition in $WINE_ROOT/dlls/ntdll/virtual.c:110). Just to be precise, 
they are around 0xfe000000 and higher.

I changed address space limit to -1, just to avoid this problem (I know, 
this is probably not the best solution, but I didn't find better one at 
the moment). After this change NtAllocateVirtualMemory passed.

When I run it again, I got stuck in setup_dos_mem() function 
($WINE_ROOT/msdos/dosmem.c:489) where is error saying:

"Cannot use first megabyte for DOS address space, please report."

After deeper insight I figured out that try_mmap_fixed() function failed 
($WINE_ROOT/library/port.c:431), because memory page we were trying to 
allocate was alredy mapped.

So, question is: Is there any way how to solve these two problems 
(address space limit, already mapped pages) correctly?

Thanks for reply.

Juraj




More information about the wine-devel mailing list