Преглед на файлове

remove potentially PIC-incompatible relocations from x86_64 and x32 asm

analogous to commit 8ed66ecbcba1dd0f899f22b534aac92a282f42d5 for i386.
Rich Felker преди 10 години
родител
ревизия
b35c4c475b
променени са 6 файла, в които са добавени 11 реда и са изтрити 7 реда
  1. 1 1
      src/math/x32/expl.s
  2. 1 1
      src/math/x86_64/expl.s
  3. 2 2
      src/signal/x32/sigsetjmp.s
  4. 2 2
      src/signal/x86_64/sigsetjmp.s
  5. 3 0
      src/string/x86_64/memcpy.s
  6. 2 1
      src/string/x86_64/memmove.s

+ 1 - 1
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)

+ 1 - 1
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)

+ 2 - 2
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

+ 2 - 2
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

+ 3 - 0
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

+ 2 - 1
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