about summary refs log tree commit diff
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
musl-b35c4c475bea3c8f938d8e9696d1138eabb54a89.tar.xz
musl-b35c4c475bea3c8f938d8e9696d1138eabb54a89.zip
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