Summary: | app-emulation/qemu-8.1.0-r1 fails to build on LLD16 with LLVM: undefined symbol: __unordtf2 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christopher Fore <csfore> |
Component: | Current packages | Assignee: | Virtualization Team <virtualization> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | misha.zavertkin |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 899582 | ||
Bug Blocks: | |||
Attachments: |
build.log for app-emulation/qemu-8.1.0-r1
Build Log for MUSLLLVM AM4 build qemu-8.1.0-r1 app-emulation/qemu-8.1.2 build.log |
Description
Christopher Fore
2023-09-20 17:22:20 UTC
Created attachment 871012 [details]
Build Log for MUSLLLVM AM4 build qemu-8.1.0-r1
Successfully replicated building for all targets.
(In reply to germ from comment #1) That's a completely different issue. Please open a new bug. Same happens for app-emulation/qemu-8.1.2 Steps to reproduce: 1. get new stage3 llvm archive 2. set these flags for qemu: app-emulation/qemu static-user qemu_softmmu_targets_aarch64 qemu_user_targets_aarch64 qemu_softmmu_targets_x86_64 3. emerge [74/984] clang -m64 -mcx16 -o subprojects/libvhost-user/link-test subprojects/libvhost-user/link-test.p/link-test.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--whole-archive -Wl,--start-group subprojects/libvhost-user/libvhost-user.a -Wl,--end-group -Wl,--no-whole-archive -static -fstack-protector-strong -Wl,-z,relro -Wl,-z,now -Wl,--warn-common -O2 -pipe -Wl,-O1 -Wl,--as-needed -Wl,--as-needed -pthread FAILED: subprojects/libvhost-user/link-test clang -m64 -mcx16 -o subprojects/libvhost-user/link-test subprojects/libvhost-user/link-test.p/link-test.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--whole-archive -Wl,--start-group subprojects/libvhost-user/libvhost-user.a -Wl,--end-group -Wl,--no-whole-archive -static -fstack-protector-strong -Wl,-z,relro -Wl,-z,now -Wl,--warn-common -O2 -pipe -Wl,-O1 -Wl,--as-needed -Wl,--as-needed -pthread ld.lld: error: undefined symbol: __unordtf2 >>> referenced by printf_fp.o:(__printf_fp_buffer_1.isra.0) in archive /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libc.a >>> referenced by printf_fp.o:(__printf_fp_buffer_1.isra.0) in archive /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libc.a >>> referenced by printf_fphex.o:(__printf_fphex_buffer) in archive /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libc.a >>> referenced 1 more times ld.lld: error: undefined symbol: __letf2 >>> referenced by printf_fp.o:(__printf_fp_buffer_1.isra.0) in archive /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libc.a >>> referenced by printf_fphex.o:(__printf_fphex_buffer) in archive /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libc.a clang-16: error: linker command failed with exit code 1 (use -v to see invocation) Created attachment 874094 [details]
app-emulation/qemu-8.1.2 build.log
Try to add -lgcc to your LDFLAGS https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html (In reply to Michael Zavertkin from comment #5) > Try to add -lgcc to your LDFLAGS > > https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html Please don't comment this on many bugs. This isn't relevant to the bug here anyway, as the point is a libgcc-free system in this case. (In reply to Sam James from comment #6) > (In reply to Michael Zavertkin from comment #5) > > Try to add -lgcc to your LDFLAGS > > > > https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > > https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html > > Please don't comment this on many bugs. This isn't relevant to the bug here > anyway, as the point is a libgcc-free system in this case. I think you right, but afaik llvm systems use glibc as a standard library. And the issue is that clang don't link libgcc by default unlike gcc (In reply to Michael Zavertkin from comment #7) compiler-rt is a substitute. |