[Bug sanitizer/59188] [4.9 Regression] lib64/libtsan.so: undefined reference to `sigsetjmp'

dvyukov at google dot com gcc-bugzilla@gcc.gnu.org
Tue Nov 19 15:16:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59188

--- Comment #4 from Dmitry Vyukov <dvyukov at google dot com> ---
> glibc (at least the 2.17 I have around) doesn't have sigsetjmp function at all

this must be fine, we do not call it if it's not used

> Not to mention that the arguments are wrong even for __sigsetjmp

setjmp interception is a bit tricky (because one can't wrap libc setjmp into
another function, otherwise the saved context will be broken)
so it's actually called from tsan_rtl_amd64.S by a tail call here:

  // tail jump to libc sigsetjmp
  movl $0, %eax
  movq _ZN14__interception16real___sigsetjmpE@GOTPCREL(%rip), %rdx
  jmp *(%rdx)
  .cfi_endproc
.size __sigsetjmp, .-__sigsetjmp



More information about the Gcc-bugs mailing list