missing __atomic_load_8 etc. symbols
Thomas Klausner <[email protected]> Sat, 19 Apr 2025 00:27:14 +0200
| Newsgroups | gmane.os.netbsd.devel.toolchain |
|---|---|
| Message-ID | <[email protected]> |
Hi! While feeding back a pkgsrc patch for compiler-rt, upstream asked me about a compile error they're seeing when testing. I guess it's about the latest git head of compiler-rt. When building on NetBSD 10/x86_64, they are seeing: /usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25 compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.i386.dir/sanitizer_libignore.cpp.o: in function `__sanitizer::LibIgnore::AddIgnoredLibrary(char const*)': sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x31): undefined reference to `__atomic_load_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x98): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0xf1): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x138): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x15a): undefined reference to `__atomic_load_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x1cf): undefined reference to `__atomic_load_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x222): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: sanitizer_libignore.cpp:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x28e): undefined reference to `__atomic_compare_exchange_8' and on NetBSD-current they get: /usr/bin/ld: compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.i386.dir/sanitizer_libignore.cpp.o: in function `__sanitizer::LibIgnore::AddIgnoredLibrary(char const*)': /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:43:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x31): undefined reference to `__atomic_load_8' /usr/bin/ld: /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:84:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x98): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.i386.dir/sanitizer_libignore.cpp.o: in function `Lock': /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:84:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0xf1): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:84:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x138): undefined reference to `__atomic_compare_exchange_8' /usr/bin/ld: compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.i386.dir/sanitizer_libignore.cpp.o: in function `__sanitizer::LibIgnore::AddIgnoredLibrary(char const*)': /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:43:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x15a): undefined reference to `__atomic_load_8' /usr/bin/ld: /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:43:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x1cf): undefined reference to `__atomic_load_8' /usr/bin/ld: /home/brad/tmp/llvm-brad/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h:84:(.text._ZN11__sanitizer9LibIgnore17AddIgnoredLibraryEPKc+0x222): undefined reference to `__atomic_compare_exchange_8' So basically two problems: - DWARM FORM 0x25 unsupported on NetBSD 10 I guess because the binutils there are too old? - missing symbols __atomic_load_8, __atomic_compare_exchange_8 what should provide these? Feel free to directly answer in the upstream discussion: https://github.com/llvm/llvm-project/issues/125566 or I can forward. Thanks, Thomas