From ef2f595f7489a79b328766e3f8c2c899c8d23fd1 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 17 Oct 2012 23:45:21 -0400 Subject: [PATCH] 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. --- src/ldso/microblaze/dlsym.s | 2 +- src/ldso/microblaze/start.s | 4 ++-- src/signal/microblaze/sigsetjmp.s | 4 ++-- src/thread/microblaze/syscall_cp.s | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) 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 -- 2.20.1