diff --git a/src/ldso/aarch64/dlsym.s b/src/ldso/aarch64/dlsym.s index be2dce5289b16530a84ba1b7a209dc8f274a1e03..abaae4d519cf76ebb81443b97d32c14ed95f3633 100644 --- a/src/ldso/aarch64/dlsym.s +++ b/src/ldso/aarch64/dlsym.s @@ -1,4 +1,5 @@ .global dlsym +.hidden __dlsym .type dlsym,%function dlsym: mov x2,x30 diff --git a/src/ldso/arm/dlsym.s b/src/ldso/arm/dlsym.s index 17c890565cba5c9f9d5d49dd9091a910eb1d25fc..3b88d91038b6973c1b04540deda76736aa1e244a 100644 --- a/src/ldso/arm/dlsym.s +++ b/src/ldso/arm/dlsym.s @@ -1,5 +1,6 @@ .text .global dlsym +.hidden __dlsym .type dlsym,%function dlsym: mov r2,lr diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 0151f74d248d2eb8ecfbda4ff6b74b57aee845b1..122fc49ee7b43ed441346335c3bdac8f1f57c42a 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -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; diff --git a/src/ldso/i386/dlsym.s b/src/ldso/i386/dlsym.s index abd53a09d7bf8253140af9e9be965bab7ab6dff9..097e30ce9cee2ed70a463f57d63b103f5138fabb 100644 --- a/src/ldso/i386/dlsym.s +++ b/src/ldso/i386/dlsym.s @@ -1,5 +1,6 @@ .text .global dlsym +.hidden __dlsym .type dlsym,@function dlsym: push (%esp) diff --git a/src/ldso/microblaze/dlsym.s b/src/ldso/microblaze/dlsym.s index 63cd638baf76ab0c203c864176bdbda5f9432f81..ea9d8be09dabddc46d3b17c569dfca2e7386b68b 100644 --- a/src/ldso/microblaze/dlsym.s +++ b/src/ldso/microblaze/dlsym.s @@ -1,5 +1,6 @@ .global dlsym +.hidden __dlsym .type dlsym,@function dlsym: - brid __dlsym@PLT + brid __dlsym add r7, r15, r0 diff --git a/src/ldso/mips/dlsym.s b/src/ldso/mips/dlsym.s index c57b972918410aeb7b6a2d419deeeff7dd9cb5b5..1573e519380e4398b4165774fd88d98de915fa22 100644 --- a/src/ldso/mips/dlsym.s +++ b/src/ldso/mips/dlsym.s @@ -1,5 +1,6 @@ .set noreorder .global dlsym +.hidden __dlsym .type dlsym,@function dlsym: lui $gp, %hi(_gp_disp) diff --git a/src/ldso/or1k/dlsym.s b/src/ldso/or1k/dlsym.s index b2f4dfe3d2558208024a8f05897349c89862f05b..122475c158b8d3bb58eab0b8bd52603bf13d708f 100644 --- a/src/ldso/or1k/dlsym.s +++ b/src/ldso/or1k/dlsym.s @@ -1,5 +1,6 @@ .global dlsym +.hidden __dlsym .type dlsym,@function dlsym: - l.j plt(__dlsym) + l.j __dlsym l.ori r5, r9, 0 diff --git a/src/ldso/powerpc/dlsym.s b/src/ldso/powerpc/dlsym.s index b9fae982f08939c01dd65556969c78a40f41af09..357d577131a67a8bb0b7d40415937d399c205626 100644 --- a/src/ldso/powerpc/dlsym.s +++ b/src/ldso/powerpc/dlsym.s @@ -1,5 +1,6 @@ .text .global dlsym + .hidden __dlsym .type dlsym,@function dlsym: mflr 5 # The return address is arg3. diff --git a/src/ldso/sh/dlsym.s b/src/ldso/sh/dlsym.s index 8258507fbbc88bb086b6182a8eddd13a0116b7d2..15a8dce8b8d8be1afb38cba3fbcf9d36cc133a62 100644 --- a/src/ldso/sh/dlsym.s +++ b/src/ldso/sh/dlsym.s @@ -1,5 +1,6 @@ .text .global dlsym +.hidden __dlsym .type dlsym, @function dlsym: 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-.) diff --git a/src/ldso/x32/dlsym.s b/src/ldso/x32/dlsym.s index 3c16616a22f41ff64146f62a4b4f39bae931e704..d840b955c36ed72af2db68eeaee7e33e49caf5a5 100644 --- a/src/ldso/x32/dlsym.s +++ b/src/ldso/x32/dlsym.s @@ -1,5 +1,6 @@ .text .global dlsym +.hidden __dlsym .type dlsym,@function dlsym: mov (%rsp),%rdx diff --git a/src/ldso/x86_64/dlsym.s b/src/ldso/x86_64/dlsym.s index 3c16616a22f41ff64146f62a4b4f39bae931e704..d840b955c36ed72af2db68eeaee7e33e49caf5a5 100644 --- a/src/ldso/x86_64/dlsym.s +++ b/src/ldso/x86_64/dlsym.s @@ -1,5 +1,6 @@ .text .global dlsym +.hidden __dlsym .type dlsym,@function dlsym: mov (%rsp),%rdx