https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80551
--- Comment #12 from Segher Boessenkool <segher at gcc dot gnu.org> --- It does break if I set the breakpoints before the shared libs have loaded. Thread 3 "a.out" hit Breakpoint 1, 0x00003fffb6e0c860 in .__memset_power7 () from /lib64/libc.so.6 #0 0x00003fffb6e0c860 in .__memset_power7 () from /lib64/libc.so.6 #1 0x00003fffb7055b10 in __interceptor_memset (dst=0x100201f0 <Mtx>, v=<optimized out>, size=40) at /home/segher/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:709 #2 0x00003fffb6f9f2b0 in .pthread_mutex_init () from /lib64/libpthread.so.0 #3 0x00003fffb704d58c in __interceptor_pthread_mutex_init ( m=0x100201f0 <Mtx>, a=0x0) at /home/segher/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:1132 #4 0x0000000010000dc4 in .Thread1 () #5 0x00003fffb7049454 in __tsan_thread_start_func (arg=0x3fffffffeda0) at /home/segher/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:905 #6 0x00003fffb6f9c95c in .start_thread () from /lib64/libpthread.so.0 #7 0x00003fffb6e83bbc in .__clone () from /lib64/libc.so.6