exec-shield workaround take 3

Peter Riocreux par+wine_devel at silistix.com
Tue Apr 13 10:34:29 CDT 2004


Mike McCormack <mike at codeweavers.com> writes:

>> ---------------------------
>> 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.

Ah, that old one-bug-masquerading-as-another trick.

> 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);

Is this a get-it-working-again fix, or the correct answer?

It does indeed make wineconsole now work the same as wine.

I had assumed that the message from wine (not wineconsole):

fixme:console:SetConsoleCtrlHandler (0x41a8af,1) - no error checking or testing yet

together with the advice in the docs to use wineconsole if it really
is a console program would mean that said message would magically
disappear when I used wineconsole - alas not. Having read the docs
about wineconsole, I am a little puzzled as to why the functionality
is not rolled into wine, but as I have yet to submit my first Wine
patch, it is not for me to criticize.

Peter






More information about the wine-devel mailing list