@@ -1,4 +1,5 @@
.global dlsym
+.hidden __dlsym
.type dlsym,%function
dlsym:
mov x2,x30
@@ -1,5 +1,6 @@
.text
mov r2,lr
@@ -1598,6 +1598,7 @@ int __dladdr(const void *addr, Dl_info *info)
return 1;
}
+__attribute__((__visibility__("hidden")))
void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra)
{
void *res;
.type dlsym,@function
push (%esp)
- brid __dlsym@PLT
+ brid __dlsym
add r7, r15, r0
.set noreorder
lui $gp, %hi(_gp_disp)
- l.j plt(__dlsym)
+ l.j __dlsym
l.ori r5, r9, 0
+ .hidden __dlsym
mflr 5 # The return address is arg3.
.type dlsym, @function
mov.l L1, r0
@@ -7,4 +8,4 @@ dlsym:
1: mov.l @r15, r6
.align 2
-L1: .long __dlsym@PLT-(1b-.)
+L1: .long __dlsym-(1b-.)
mov (%rsp),%rdx