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
https://bugs.winehq.org/show_bug.cgi?id=51356
--- Comment #1 from Michel Terrisse mterrisse@free.fr --- Typo, please read 6.11 and not 6.1
https://bugs.winehq.org/show_bug.cgi?id=51356
--- Comment #2 from Michel Terrisse mterrisse@free.fr --- Same problem with Wine 6.12
Regards,
Michel Terrisse
https://bugs.winehq.org/show_bug.cgi?id=51356
--- Comment #3 from Michel Terrisse mterrisse@free.fr --- Same problem with Wine 6.13. Can you reproduce the problem? I just asked my company to order a CrossOver Licence, I will test with CrossOver too (and I am almost sure that CrossOver won't work either).
Regards,
Michel Terrisse
https://bugs.winehq.org/show_bug.cgi?id=51356
--- Comment #4 from Michel Terrisse mterrisse@free.fr --- I found this page at CrossOver that explains things : https://www.codeweavers.com/support/forums/general/?t=27;msg=240166#c3 with this comment from Jeremy Newman: "Monterey changed how thread 0's stack works. This affects the Wine preloader when it tries to reserve some memory in that region. Our devs understand the issue and already have planned fixes."
Regards,
Michel Terrisse
https://bugs.winehq.org/show_bug.cgi?id=51356
--- Comment #5 from Michel Terrisse mterrisse@free.fr --- Good news, this is fixed in macOS Monterey Beta 6 Update (21A5506j). You can close this ticket.
Regards,
Michel Terrisse