[compiler-rt] [compiler-rt] [sanitizer_common] Fix SIGSEGV in ForEachMappedRegion for DSOs with custom image base (PR #206299)

Douglas Yung via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 19:23:46 PDT 2026


dyung wrote:

@mkruskal-google your change is causing linker errors on a buildbot:
https://lab.llvm.org/buildbot/#/builders/174/builds/38157
```
FAILED: compiler-rt/lib/tsan/rtl/CMakeFiles/GotsanRuntimeCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/runtimes/runtimes-bins/compiler-rt/lib/tsan/rtl/CMakeFiles/GotsanRuntimeCheck 
cd /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/compiler-rt/lib/tsan/go && env "CC=/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/./bin/clang " EXTRA_CFLAGS= IN_TMPDIR=1 SILENT=1 /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/compiler-rt/lib/tsan/rtl/../go/buildgo.sh
../rtl/tsan_interface_atomic.cpp:353:12: warning: unused function template 'NoTsanAtomic' [-Wunused-template]
  353 |   static T NoTsanAtomic(morder mo, volatile T *a, T v) {
      |            ^~~~~~~~~~~~
../rtl/tsan_interface_atomic.cpp:358:12: warning: unused function template 'Atomic' [-Wunused-template]
  358 |   static T Atomic(ThreadState *thr, uptr pc, morder mo, volatile T *a, T v) {
      |            ^~~~~~
../rtl/tsan_interface_atomic.cpp:389:12: warning: unused function template 'NoTsanAtomic' [-Wunused-template]
  389 |   static T NoTsanAtomic(morder mo, volatile T *a, T v) {
      |            ^~~~~~~~~~~~
../rtl/tsan_interface_atomic.cpp:394:12: warning: unused function template 'Atomic' [-Wunused-template]
  394 |   static T Atomic(ThreadState *thr, uptr pc, morder mo, volatile T *a, T v) {
      |            ^~~~~~
../rtl/tsan_interface_atomic.cpp:401:12: warning: unused function template 'NoTsanAtomic' [-Wunused-template]
  401 |   static T NoTsanAtomic(morder mo, volatile T *a, T v) {
      |            ^~~~~~~~~~~~
../rtl/tsan_interface_atomic.cpp:406:12: warning: unused function template 'Atomic' [-Wunused-template]
  406 |   static T Atomic(ThreadState *thr, uptr pc, morder mo, volatile T *a, T v) {
      |            ^~~~~~
6 warnings generated.
../rtl/tsan_interface_atomic.cpp:353:12: warning: unused function template 'NoTsanAtomic' [-Wunused-template]
  353 |   static T NoTsanAtomic(morder mo, volatile T *a, T v) {
      |            ^~~~~~~~~~~~
../rtl/tsan_interface_atomic.cpp:358:12: warning: unused function template 'Atomic' [-Wunused-template]
  358 |   static T Atomic(ThreadState *thr, uptr pc, morder mo, volatile T *a, T v) {
      |            ^~~~~~
../rtl/tsan_interface_atomic.cpp:389:12: warning: unused function template 'NoTsanAtomic' [-Wunused-template]
  389 |   static T NoTsanAtomic(morder mo, volatile T *a, T v) {
      |            ^~~~~~~~~~~~
../rtl/tsan_interface_atomic.cpp:394:12: warning: unused function template 'Atomic' [-Wunused-template]
  394 |   static T Atomic(ThreadState *thr, uptr pc, morder mo, volatile T *a, T v) {
      |            ^~~~~~
../rtl/tsan_interface_atomic.cpp:401:12: warning: unused function template 'NoTsanAtomic' [-Wunused-template]
  401 |   static T NoTsanAtomic(morder mo, volatile T *a, T v) {
      |            ^~~~~~~~~~~~
../rtl/tsan_interface_atomic.cpp:406:12: warning: unused function template 'Atomic' [-Wunused-template]
  406 |   static T Atomic(ThreadState *thr, uptr pc, morder mo, volatile T *a, T v) {
      |            ^~~~~~
6 warnings generated.
/usr/bin/ld: /tmp/gotsan.6GH9Tsn12P/race_linux_amd64.syso: in function `__sanitizer::DladdrSelfFName()':
gotsan.cpp:(.text+0x41d21): undefined reference to `dladdr'
/usr/bin/ld: /tmp/gotsan.6GH9Tsn12P/race_linux_amd64.syso: in function `__sanitizer::DladdrElfHeaderBase(void*, char*)':
gotsan.cpp:(.text+0x41d4c): undefined reference to `dladdr'
/usr/bin/ld: /tmp/gotsan.6GH9Tsn12P/race_linux_amd64.syso: in function `__sanitizer::ForEachMappedRegion(link_map*, void (*)(void const*, unsigned long))':
gotsan.cpp:(.text+0x46477): undefined reference to `dladdr'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
Can you take a look and revert if you need time to investigate?

https://github.com/llvm/llvm-project/pull/206299


More information about the llvm-commits mailing list