summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-04-18 21:18:23 -0400
committerRich Felker <dalias@aerifal.cx>2015-04-18 21:18:23 -0400
commitb35c4c475bea3c8f938d8e9696d1138eabb54a89 (patch)
tree40d3f046173125a3a038e8b8c912bbcf35ac1003
parent8ed66ecbcba1dd0f899f22b534aac92a282f42d5 (diff)
downloadmusl-b35c4c475bea3c8f938d8e9696d1138eabb54a89.tar.gz
remove potentially PIC-incompatible relocations from x86_64 and x32 asm
analogous to commit 8ed66ecbcba1dd0f899f22b534aac92a282f42d5 for i386.
-rw-r--r--src/math/x32/expl.s2
-rw-r--r--src/math/x86_64/expl.s2
-rw-r--r--src/signal/x32/sigsetjmp.s4
-rw-r--r--src/signal/x86_64/sigsetjmp.s4
-rw-r--r--src/string/x86_64/memcpy.s3
-rw-r--r--src/string/x86_64/memmove.s3
6 files changed, 11 insertions, 7 deletions
diff --git a/src/math/x32/expl.s b/src/math/x32/expl.s
index aabea45e..369f7bd2 100644
--- a/src/math/x32/expl.s
+++ b/src/math/x32/expl.s
@@ -37,7 +37,7 @@ expl:
fstpt (%esp)
fstpt 16(%esp)
fstpt 32(%esp)
- call exp2l
+ call exp2l@PLT
# if 2^hi == inf return 2^hi
fld %st(0)
fstpt (%esp)
diff --git a/src/math/x86_64/expl.s b/src/math/x86_64/expl.s
index 3add810d..798261d2 100644
--- a/src/math/x86_64/expl.s
+++ b/src/math/x86_64/expl.s
@@ -37,7 +37,7 @@ expl:
fstpt (%rsp)
fstpt 16(%rsp)
fstpt 32(%rsp)
- call exp2l
+ call exp2l@PLT
# if 2^hi == inf return 2^hi
fld %st(0)
fstpt (%rsp)
diff --git a/src/signal/x32/sigsetjmp.s b/src/signal/x32/sigsetjmp.s
index d354d680..9a7695f9 100644
--- a/src/signal/x32/sigsetjmp.s
+++ b/src/signal/x32/sigsetjmp.s
@@ -11,7 +11,7 @@ __sigsetjmp:
mov %rbx,72+8(%rdi)
mov %rdi,%rbx
- call setjmp
+ call setjmp@PLT
pushq 64(%rbx)
mov %rbx,%rdi
@@ -21,4 +21,4 @@ __sigsetjmp:
.hidden __sigsetjmp_tail
jmp __sigsetjmp_tail
-1: jmp setjmp
+1: jmp setjmp@PLT
diff --git a/src/signal/x86_64/sigsetjmp.s b/src/signal/x86_64/sigsetjmp.s
index d354d680..9a7695f9 100644
--- a/src/signal/x86_64/sigsetjmp.s
+++ b/src/signal/x86_64/sigsetjmp.s
@@ -11,7 +11,7 @@ __sigsetjmp:
mov %rbx,72+8(%rdi)
mov %rdi,%rbx
- call setjmp
+ call setjmp@PLT
pushq 64(%rbx)
mov %rbx,%rdi
@@ -21,4 +21,4 @@ __sigsetjmp:
.hidden __sigsetjmp_tail
jmp __sigsetjmp_tail
-1: jmp setjmp
+1: jmp setjmp@PLT
diff --git a/src/string/x86_64/memcpy.s b/src/string/x86_64/memcpy.s
index 1282dc3b..3d960efa 100644
--- a/src/string/x86_64/memcpy.s
+++ b/src/string/x86_64/memcpy.s
@@ -1,6 +1,9 @@
.global memcpy
+.global __memcpy_fwd
+.hidden __memcpy_fwd
.type memcpy,@function
memcpy:
+__memcpy_fwd:
mov %rdi,%rax
cmp $8,%rdx
jc 1f
diff --git a/src/string/x86_64/memmove.s b/src/string/x86_64/memmove.s
index 247f0ac3..172c0252 100644
--- a/src/string/x86_64/memmove.s
+++ b/src/string/x86_64/memmove.s
@@ -4,7 +4,8 @@ memmove:
mov %rdi,%rax
sub %rsi,%rax
cmp %rdx,%rax
- jae memcpy
+.hidden __memcpy_fwd
+ jae __memcpy_fwd
mov %rdx,%rcx
lea -1(%rdi,%rdx),%rdi
lea -1(%rsi,%rdx),%rsi