[Bug 275854] -fsanitize=address and -fsanitize=memory fail with clang 17
Date: Wed, 20 Dec 2023 09:23:52 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275854 Bug ID: 275854 Summary: -fsanitize=address and -fsanitize=memory fail with clang 17 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Ports Framework Assignee: portmgr@FreeBSD.org Reporter: jbeich@FreeBSD.org CC: ports-bugs@FreeBSD.org Blocks: 273753 $ echo 'int main() {}' >a.c $ cc -fsanitize=address a.c ld: error: undefined symbol: __sanitizer::ThreadArgRetval::GetAllPtrsLocked(__sanitizer::InternalMmapVector<unsigned long>*) >>> referenced by asan_thread.cpp:560 (/usr/src/contrib/llvm-project/compiler-rt/lib/asan/asan_thread.cpp:560) >>> asan_thread.o:(__lsan::GetAdditionalThreadContextPtrsLocked(__sanitizer::InternalMmapVector<unsigned long>*)) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a ld: error: undefined symbol: __sanitizer::ThreadArgRetval::CreateLocked(unsigned long, bool, __sanitizer::ThreadArgRetval::Args const&) >>> referenced by sanitizer_thread_arg_retval.h:48 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h:48) >>> asan_interceptors.o:(__interceptor_pthread_create) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a ld: error: undefined symbol: __sanitizer::ThreadArgRetval::BeforeJoin(unsigned long) const >>> referenced by sanitizer_thread_arg_retval.h:74 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h:74) >>> asan_interceptors.o:(__interceptor_pthread_join) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a ld: error: undefined symbol: __sanitizer::ThreadArgRetval::AfterJoin(unsigned long, unsigned int) >>> referenced by sanitizer_thread_arg_retval.h:76 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h:76) >>> asan_interceptors.o:(__interceptor_pthread_join) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a ld: error: undefined symbol: __sanitizer::ThreadArgRetval::DetachLocked(unsigned long) >>> referenced by sanitizer_thread_arg_retval.h:65 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h:65) >>> asan_interceptors.o:(__interceptor_pthread_detach) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a ld: error: undefined symbol: __sanitizer::ThreadArgRetval::Finish(unsigned long, void*) >>> referenced by asan_interceptors.cpp:290 (/usr/src/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:290) >>> asan_interceptors.o:(__interceptor_pthread_exit) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a >>> referenced by asan_interceptors.cpp:226 (/usr/src/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:226) >>> asan_interceptors.o:(asan_thread_start(void*)) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a ld: error: undefined symbol: __sanitizer::ThreadArgRetval::GetArgs(unsigned long) const >>> referenced by asan_interceptors.cpp:224 (/usr/src/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:224) >>> asan_interceptors.o:(asan_thread_start(void*)) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a cc: error: linker command failed with exit code 1 (use -v to see invocation) $ cc -fsanitize=memory a.c ld: error: undefined symbol: __msan::UnpoisonDllAddrInfo(void*) >>> referenced by msan_interceptors.cpp:1550 (/usr/src/contrib/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1550) >>> msan_interceptors.o:(__interceptor_dladdr) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.msan-x86_64.a cc: error: linker command failed with exit code 1 (use -v to see invocation) Note, -fsanitize=undefined, -fsanitize=thread work fine. Referenced Bugs: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273753 [Bug 273753] [exp-run] Against llvm-17-update branch on GitHub -- You are receiving this mail because: You are on the CC list for the bug.