summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/x86_64/bsd-setjmp.S
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-12-03 12:48:24 -0500
committerMike Frysinger <vapier@gentoo.org>2011-12-03 12:55:45 -0500
commit09dfeda9cf5a1bd1bd89180308ce923cc4c5f9b0 (patch)
treefb15c096881079c954cd4fbb2123c3c589ce7425 /libc/sysdeps/linux/x86_64/bsd-setjmp.S
parent46fa3f2fdc873d98818dcd5efae90c09a3b75a66 (diff)
x86_64: add PLT bypass for __sigsetjmp
The current x86_64 setjmp helpers incur a reloc, so fix that up. $ readelf -r lib/libc.so.0 ... Relocation section '.rela.plt' at offset 0xb058 contains 10 entries: Offset Info Type Sym. Value Sym. Name + Addend 000000236010 02a400000007 R_X86_64_JUMP_SLO 000000000000b3c4 __sigsetjmp + 0 ... Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libc/sysdeps/linux/x86_64/bsd-setjmp.S')
-rw-r--r--libc/sysdeps/linux/x86_64/bsd-setjmp.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/x86_64/bsd-setjmp.S b/libc/sysdeps/linux/x86_64/bsd-setjmp.S
index a906a6132..889efa6ce 100644
--- a/libc/sysdeps/linux/x86_64/bsd-setjmp.S
+++ b/libc/sysdeps/linux/x86_64/bsd-setjmp.S
@@ -20,10 +20,11 @@
#define _ASM
#define _SETJMP_H
#include <bits/setjmp.h>
+#include <sysdep.h>
.global setjmp
.type setjmp,%function
setjmp:
movq $1, %rsi
- jmp __sigsetjmp@PLT
+ jmp HIDDEN_JUMPTARGET(__sigsetjmp)
.size setjmp,.-setjmp