提交 ef2f595f 编写于 作者: R Rich Felker

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.
上级 858df113
.global dlsym .global dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
brid __dlsym brid __dlsym@PLT
add r7, r15, r0 add r7, r15, r0
...@@ -8,11 +8,11 @@ _start: ...@@ -8,11 +8,11 @@ _start:
mfs r7, rpc mfs r7, rpc
addi r7, r7, _GLOBAL_OFFSET_TABLE_+8 addi r7, r7, _GLOBAL_OFFSET_TABLE_+8
addi r7, r7, _DYNAMIC@GOTOFF addi r7, r7, _DYNAMIC@GOTOFF
brlid r15, __reloc_self brlid r15, __reloc_self@PLT
nop nop
lwi r5, r1, 0 lwi r5, r1, 0
brlid r15, __dynlink brlid r15, __dynlink@PLT
addi r6, r1, 4 addi r6, r1, 4
lwi r4, r1, 0 lwi r4, r1, 0
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
.type sigsetjmp,@function .type sigsetjmp,@function
sigsetjmp: sigsetjmp:
lwi r11, r5, 72 lwi r11, r5, 72
beqi r11, setjmp beqi r11, setjmp@PLT
addi r7, r5, 76 addi r7, r5, 76
add r6, r0, r0 add r6, r0, r0
brid sigprocmask brid sigprocmask@PLT
ori r5, r0, 2 ori r5, r0, 2
...@@ -4,7 +4,7 @@ __syscall_cp_asm: ...@@ -4,7 +4,7 @@ __syscall_cp_asm:
.global __cp_begin .global __cp_begin
__cp_begin: __cp_begin:
lwi r5, r5, 0 lwi r5, r5, 0
bnei r5, __cancel bnei r5, __cancel@PLT
addi r12, r6, 0 addi r12, r6, 0
add r5, r7, r0 add r5, r7, r0
add r6, r8, r0 add r6, r8, r0
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册