https://bugs.winehq.org/show_bug.cgi?id=46695
Bug ID: 46695 Summary: Linking atl fails on ppc64el with undefined reference to SetWindowLongPtrW Product: Wine Version: 4.2 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: tpearson@raptorengineering.com Distribution: ---
When building on ppc64el, linking atl fails with an undefined reference to SetWindowLongPtrW.
I suspect this is due to the existing PowerPC code assuming ppc platforms are 32 bit only; SetWindowLongPtrW is a 64 bit call.
https://bugs.winehq.org/show_bug.cgi?id=46695
Timothy Pearson tpearson@raptorengineering.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |46330
https://bugs.winehq.org/show_bug.cgi?id=46695
Timothy Pearson tpearson@raptorengineering.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |Other
https://bugs.winehq.org/show_bug.cgi?id=46695
--- Comment #1 from Timothy Pearson tpearson@raptorengineering.com --- Digging further, the user32 DLL exports the missing symbols, but atl is being built before user32. Is wine supposed to be using lazy linking here, or is something else obviously amiss?
Output from build:
../../tools/winegcc/winegcc -o atl.dll.so -B../../tools/winebuild -fasynchronous-unwind-tables -shared atl.spec \ atl.o atl30.o atl_ax.o registrar.o atl_classes_r.res atl_lib_t.res atl_lib_r.res \ ../../dlls/uuid/libuuid.a -loleaut32 -lole32 -luser32 -lgdi32 -ladvapi32 -lshlwapi \ ../../libs/port/libwine_port.a /usr/bin/ld: atl_ax.o: in function `IOCS_Detach': /root/WINE_GIT/wine/dlls/atl/atl_ax.c:155: undefined reference to `SetWindowLongPtrW' /usr/bin/ld: atl_ax.o: in function `IOCS_Create': /root/WINE_GIT/wine/dlls/atl/atl_ax.c:920: undefined reference to `SetWindowLongPtrW' /usr/bin/ld: atl.dll.so: hidden symbol `SetWindowLongPtrW' isn't defined /usr/bin/ld: final link failed: bad value collect2: error: ld returned 1 exit status winegcc: gcc failed
https://bugs.winehq.org/show_bug.cgi?id=46695
Timothy Pearson tpearson@raptorengineering.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |WONTFIX
--- Comment #2 from Timothy Pearson tpearson@raptorengineering.com --- On further investigation, this is expected behaviour when trying to build a 64-bit wine using legacy 32-bit ppc code.
https://bugs.winehq.org/show_bug.cgi?id=46695
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED Resolution|WONTFIX |INVALID
--- Comment #3 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Timothy Pearson from comment #2)
On further investigation, this is expected behaviour when trying to build a 64-bit wine using legacy 32-bit ppc code.
Not a big deal but I think INVALID is a bit more appropriate in this case.