exec-shield workaround take 3

Mike McCormack mike at codeweavers.com
Tue Apr 13 10:39:00 CDT 2004


Peter Riocreux wrote:

> It seems to be behaving as if none of your cunning
> exec-shield-avoidance code is in there. The error messages certainly
> seem to indicate this:
> 
> ---------------------------
> err:virtual:map_image Image was mapped at 0x11c000: standard load address for a Win32 program (0x00400000) not available
> err:virtual:map_image Do you have exec-shield or prelink active?
> wine: could not load L"G:\\foo\\bar.exe" as Win32 binary

Yeah, that's the problem i mentioned with incorrect calculation of the 
PE reserve area.

If you command out line 663 in wine/loader/preload.c it should work 
again. ie. make it look like the following:

     vars.pe_size = 0x01000000;
     vars.pe_address = (void*)0x00400000;
//  wld_reserve_wine_memory( pe_file, &vars.pe_address, &vars.pe_size );
     mmap( vars.pe_address, vars.pe_size, PROT_NONE,
           MAP_FIXED|MAP_PRIVATE|MAP_ANON, -1, 0);


Mike



More information about the wine-devel mailing list