提交 72b25ddb 编写于 作者: R Rich Felker

use hidden visibility for call from dlsym to internal __dlsym

上级 cbc02ba2
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,%function .type dlsym,%function
dlsym: dlsym:
mov x2,x30 mov x2,x30
......
.text .text
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,%function .type dlsym,%function
dlsym: dlsym:
mov r2,lr mov r2,lr
......
...@@ -1598,6 +1598,7 @@ int __dladdr(const void *addr, Dl_info *info) ...@@ -1598,6 +1598,7 @@ int __dladdr(const void *addr, Dl_info *info)
return 1; return 1;
} }
__attribute__((__visibility__("hidden")))
void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra) void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra)
{ {
void *res; void *res;
......
.text .text
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
push (%esp) push (%esp)
......
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
brid __dlsym@PLT brid __dlsym
add r7, r15, r0 add r7, r15, r0
.set noreorder .set noreorder
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
lui $gp, %hi(_gp_disp) lui $gp, %hi(_gp_disp)
......
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
l.j plt(__dlsym) l.j __dlsym
l.ori r5, r9, 0 l.ori r5, r9, 0
.text .text
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
mflr 5 # The return address is arg3. mflr 5 # The return address is arg3.
......
.text .text
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym, @function .type dlsym, @function
dlsym: dlsym:
mov.l L1, r0 mov.l L1, r0
...@@ -7,4 +8,4 @@ dlsym: ...@@ -7,4 +8,4 @@ dlsym:
1: mov.l @r15, r6 1: mov.l @r15, r6
.align 2 .align 2
L1: .long __dlsym@PLT-(1b-.) L1: .long __dlsym-(1b-.)
.text .text
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
mov (%rsp),%rdx mov (%rsp),%rdx
......
.text .text
.global dlsym .global dlsym
.hidden __dlsym
.type dlsym,@function .type dlsym,@function
dlsym: dlsym:
mov (%rsp),%rdx mov (%rsp),%rdx
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册