Troy Rollo wine@troy.rollo.name writes:
So you'd rather ensure that we hold one or more anonymous maps reserving everything above 0x80000000 (except for NT emulations, assuming the 3G emulation is to be preferred, or there's an option for 3G), and when the system needs to allocate something there, free a portion of the anonymous map and reallocate?
Something like that yes. It means we need to keep track of the allocations in that area, which cannot be done with the existing mechanism since we currently rely on the kernel to manage the free space. So there's a bit of work involved.
Presumably this should all only apply to PE files since Winelib files should be sufficiently aware of where they're running to be able to deal with whatever the system wants to do with its memory.
Winelib apps can load PE dlls too, so they probably need the same treatment. We can set the IMAGE_FILE_LARGE_ADDRESS flag if we don't want that behavior.