https://bugs.winehq.org/show_bug.cgi?id=51356
Bug ID: 51356 Summary: Wine cannot run executables with base address 0x400000 on macOS 12 Monterey Product: Wine Version: 6.11 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: loader Assignee: wine-bugs@winehq.org Reporter: mterrisse@free.fr
Created attachment 70214 --> https://bugs.winehq.org/attachment.cgi?id=70214 A simple console application that outputs Hello macOS
Wine 6.1 (from HomeBrew, gcenx-wine-devel), macOS 12 Monterey Beta 12
Hello,
Wine used to work fine on my machine running macOS 11 Big Sur. I migrated it to macOS 12 Monterey Beta 12, and now it works for some programs but not for all of them. I have noticed this warning: preloader: Warning: failed to reserve range 0000000000110000-0000000068000000 and indeed Wine cannot load programs with base address in this range. If I just change the base address from 0x400000 to 0x80000000 (above 0x68000000), it works fine.
I think that the Wine preloader should use the relocation section and relocate the executable if it fails to load it at its preferred address.
I attach hellomacos.exe, a simple Delphi program build with this code: program hellomacos;
{$APPTYPE CONSOLE}
{$R *.res}
begin Writeln (Output, 'Hello macOS'); end.
Regards,
Michel Terrisse