Alexandre Julliard wrote:
John Reiser jreiser@BitWagon.com writes:
Attached is the patch for http://bugs.winehq.org/show_bug.cgi?id=14360 dosmem forgot MAP_FIXED
No, it's not forgotten, that's the way it's supposed to work. What are you trying to fix?
Some environments strictly enforce the semantics of mmap(), namely a successful return value need not equal the requested address unless MAP_FIXED, even if the requested address is unmapped and otherwise available. Unless MAP_FIXED, then it is legal to return any page range that is large enough. Callers of the patched code were relying on getting actual fixed addresses in the interval [0, 0x110000). In particular, this did not work under valgrind.
See also the similar bug http://bugs.winehq.org/show_bug.cgi?id=12783 Allocation of PEB and TEB can overlap dll mappings