http://bugs.winehq.org/show_bug.cgi?id=58377
Bug ID: 58377 Summary: winegcc -m32 fails to link when using the new WoW64 mode Product: Wine Version: 10.9 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winelib Assignee: wine-bugs@winehq.org Reporter: mail@robbertvanderhelm.nl Distribution: ---
Created attachment 78787 --> http://bugs.winehq.org/attachment.cgi?id=78787 winegcc command output
Prompted by Arch switching to the new WoW64 mode in their packages. 32-bit winelib binaries seem to fail to link with the new WoW64 mode. I attached the output of compiling the following file with winegcc from a Wine build configured with `--enable-archs=i386,x86_64`:
/* main.c */ int main() { return 0; }
/* compiled with: LANG=C wineg++ -v -m32 -lole32 -o main main.c */
Swapping `-m32` out for `-m64` the winelib binary builds as expected. Most notably, the underlying GCC invocations include both `-m64` and `-m32` in that order (though it may have always done that), and the core Windows libraries cannot be found (which kind of makes sense since Wine no longer ships actual 32-bit libraries).
On a related note: is it possible to detect whether Wine has been configured with the new WoW64 mode? I may need to detect this at runtime to be able to distribute a build of yabridge that works with both the old and new WoW64 modes.