From: Rich Felker Date: Thu, 18 Oct 2012 03:45:21 +0000 (-0400) Subject: fix microblaze asm relocations for shared libc X-Git-Tag: v0.9.7~32 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ef2f595f7489a79b328766e3f8c2c899c8d23fd1;p=oweals%2Fmusl.git 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. --- diff --git a/src/ldso/microblaze/dlsym.s b/src/ldso/microblaze/dlsym.s index 2044e2df..63cd638b 100644 --- a/src/ldso/microblaze/dlsym.s +++ b/src/ldso/microblaze/dlsym.s @@ -1,5 +1,5 @@ .global dlsym .type dlsym,@function dlsym: - brid __dlsym + brid __dlsym@PLT add r7, r15, r0 diff --git a/src/ldso/microblaze/start.s b/src/ldso/microblaze/start.s index 4afd59f0..5ffbcbae 100644 --- a/src/ldso/microblaze/start.s +++ b/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 diff --git a/src/signal/microblaze/sigsetjmp.s b/src/signal/microblaze/sigsetjmp.s index 3aca90dc..47cf8d9e 100644 --- a/src/signal/microblaze/sigsetjmp.s +++ b/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 diff --git a/src/thread/microblaze/syscall_cp.s b/src/thread/microblaze/syscall_cp.s index c470521c..ce38b56c 100644 --- a/src/thread/microblaze/syscall_cp.s +++ b/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