Browse Source

fix microblaze asm relocations for shared libc

only @PLT relocations are considered functions for purposes of
-Bsymbolic-functions, so always use @PLT. it should not hurt in the
static-linked case.
Rich Felker 12 years ago
parent
commit
ef2f595f74

+ 1 - 1
src/ldso/microblaze/dlsym.s

@@ -1,5 +1,5 @@
 .global dlsym
 .type   dlsym,@function
 dlsym:
-	brid    __dlsym
+	brid    __dlsym@PLT
 	add     r7, r15, r0

+ 2 - 2
src/ldso/microblaze/start.s

@@ -8,11 +8,11 @@ _start:
 	mfs     r7, rpc
 	addi    r7, r7, _GLOBAL_OFFSET_TABLE_+8
 	addi    r7, r7, _DYNAMIC@GOTOFF
-	brlid   r15, __reloc_self
+	brlid   r15, __reloc_self@PLT
 	nop
 
 	lwi     r5, r1, 0
-	brlid   r15, __dynlink
+	brlid   r15, __dynlink@PLT
 	addi    r6, r1, 4
 
 	lwi     r4, r1, 0

+ 2 - 2
src/signal/microblaze/sigsetjmp.s

@@ -2,8 +2,8 @@
 .type sigsetjmp,@function
 sigsetjmp:
 	lwi     r11, r5, 72
-	beqi    r11, setjmp
+	beqi    r11, setjmp@PLT
 	addi    r7, r5, 76
 	add     r6, r0, r0
-	brid    sigprocmask
+	brid    sigprocmask@PLT
 	ori     r5, r0, 2

+ 1 - 1
src/thread/microblaze/syscall_cp.s

@@ -4,7 +4,7 @@ __syscall_cp_asm:
 .global __cp_begin
 __cp_begin:
 	lwi     r5, r5, 0
-	bnei    r5, __cancel
+	bnei    r5, __cancel@PLT
 	addi    r12, r6, 0
 	add     r5, r7, r0
 	add     r6, r8, r0