I've been investigating the free Borland ilink32.exe , the one that locks under wine. Has this been discussed already? Well anyway, it probes several memory address with VirtualQuery(). This first location is 0x80000000 . On a normal windows system that would be system memory. Wine claims that area as free memory. Well apparently ilink32 doesn't want to see that region as free memory so it goes into an endless loop . There is a big list of memory location that it checks and if it doesn't get an acceptable result (Reserved) then it goes into an endless loop.
If I set all the address to,
info->State = MEM_RESERVED; info->Protect = PAGE_NOACCESS; info->AllocationProtect = PAGE_NOACCESS; info->Type = MEM_PRIVATE;
Then ilink32 doesn't lock, but it has four internal memory errors. It still doesn't work, but it exit with an error.
Here is the first set of addressed,
0x80000000 0x80FFF000 0x81FFE000 0x82FFD000 0x83FFC000 0xADC00000 0xAEBFF000 0xBFB70000 0xA0000000 0x83FFE000 0x81FFF000 0xA1FFF000 0x90000000 0x91FFF000 0xB1BFE000 0x91FFF000 0x98000000 0x99FFF000 0xB8000000 0xBA000000
Daniel Walker