https://bugs.winehq.org/show_bug.cgi?id=36511
Bug ID: 36511 Summary: widl fails to build with clang -fsanitize=undefined Product: Wine Version: 1.7.19 Hardware: x86 OS: Linux Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: tools Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com
make[1]: Entering directory `/home/austin/src/wine-clang/tools/widl' clang -fsanitize=undefined -m32 -g -O2 -o widl client.o expr.o hash.o header.o proxy.o register.o server.o typegen.o typelib.o typetree.o utils.o widl.o write_msft.o parser.tab.o parser.yy.o ../../libs/wpp/libwpp.a ../../libs/port/libwine_port.a ../../libs/wpp/libwpp.a(ppy.tab.o): In function `ppy_parse': /home/austin/src/wine-clang/libs/wpp/ppy.y:397: undefined reference to `__mulodi4' /home/austin/src/wine-clang/libs/wpp/ppy.y:397: undefined reference to `__mulodi4' /home/austin/src/wine-clang/libs/wpp/ppy.y:397: undefined reference to `__mulodi4' clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [widl] Error 1 make[1]: Leaving directory `/home/austin/src/wine-clang/tools/widl' make: *** [tools/widl] Error 2
https://bugs.winehq.org/show_bug.cgi?id=36511
--- Comment #1 from Austin English austinenglish@gmail.com --- This is with clang 3.4. I see that 1.7.17 (mostly) worked with clang 3.3 in bug 36079. I tried building 1.7.17 with 3.4, but it fails the same as here, in widl.
I'll try bisecting clang if time permits, but presumably it's an improvement in its undefined behavior detection.
https://bugs.winehq.org/show_bug.cgi?id=36511
--- Comment #2 from Austin English austinenglish@gmail.com --- Compiling llvm/clang 3.3 from source with gcc 4.8.2 on fedora 20, I get the same widl failure. I'm not sure what's responsible for the regression :/.
https://bugs.winehq.org/show_bug.cgi?id=36511
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- Works for me using wine-8.10. is this still relevant?
https://bugs.winehq.org/show_bug.cgi?id=36511
--- Comment #4 from Austin English austinenglish@gmail.com --- (In reply to Fabian Maurer from comment #3)
Works for me using wine-8.10. is this still relevant?
What compiler are you using?
Testing on a cfarm node (gcc186), it works for me with gcc (gcc (Debian 10.2.1-6) 10.2.1 20210110), but not clang (9/11/13) using wine-8.12-136-g94d61d1b280.
Side note: with gcc, it later fails in ntdll, do you see that as well?
https://bugs.winehq.org/show_bug.cgi?id=36511
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- Created attachment 74861 --> https://bugs.winehq.org/attachment.cgi?id=74861 Log using clang 15.0.7-9
I'm on Arch, using clang 15.0.7-9.
Not sure what exactly is different now, but I now get various errors...
https://bugs.winehq.org/show_bug.cgi?id=36511
--- Comment #6 from Fabian Maurer dark.shadow4@web.de ---
Side note: with gcc, it later fails in ntdll, do you see that as well?
Using gcc 13.1.1 20230429 export ALLFLAGS="-g -O0 -fcommon -fsanitize=undefined" with --without-mingw
I get basically the same errors.