fix inconsistent visibility for internal syscall symbols
authorRich Felker <dalias@aerifal.cx>
Tue, 14 Apr 2015 17:48:20 +0000 (13:48 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 14 Apr 2015 17:48:20 +0000 (13:48 -0400)
12 files changed:
src/internal/aarch64/syscall.s
src/internal/arm/syscall.s
src/internal/i386/syscall.s
src/internal/microblaze/syscall.s
src/internal/mips/syscall.s
src/internal/or1k/syscall.s
src/internal/powerpc/syscall.s
src/internal/sh/syscall.s
src/internal/syscall.h
src/internal/x32/syscall.s
src/internal/x86_64/syscall.s
src/thread/__syscall_cp.c

index 48fac924498726066df1c960c8686a49fa7c0426..845986bf787bfe39be6cd9f04005461f93019de9 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type __syscall,%function
 __syscall:
        uxtw x8,w0
index c5ae25c304fbd4be97c0ed32c07505ccaabb4c02..2028456c0a6986d680aa5eb0a00aafe3f8accec3 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type __syscall,%function
 __syscall:
        mov ip,sp
index 739201ae1df1e5a507714e04b7b49cfff3ec8c18..0ebf221842159ad2aeda5abc8753f9340abf1014 100644 (file)
@@ -59,6 +59,7 @@ __vsyscall6:
        ret
 
 .global __syscall
+.hidden __syscall
 .type __syscall,@function
 __syscall:
        lea 24(%esp),%eax
index 9bf7c0e0194ff287605b3b2231111f6a49c640b0..e0312e78759843e157d1705c6c4a72f37ce896de 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type   __syscall,@function
 __syscall:
        addi    r12, r5, 0              # Save the system call number
index e18a382e24225b673693268f01f3bbc8786fff3d..5d0def523e77acb1608bc81eb5734b273e69fa0d 100644 (file)
@@ -1,6 +1,7 @@
 .set    noreorder
 
 .global __syscall
+.hidden __syscall
 .type   __syscall,@function
 __syscall:
        move    $2, $4
index 2ea0eb13d684ce6f4cbfd7d8a97e70578d8c342d..177964e9044924652a422a134709a229033181a7 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type   __syscall,@function
 __syscall:
        l.ori   r11, r3, 0
index bca620db352c7d1394e7aa38b57c7fddc6666b2f..5b16b8f20cbcde33fc9180291af2a5876130255c 100644 (file)
@@ -1,4 +1,5 @@
        .global __syscall
+       .hidden __syscall
        .type   __syscall,@function
 __syscall:
        mr      0, 3                  # Save the system call number
index a8fda1c0ff13ae64506b86ecb7d637a95dc9a8aa..d00712a9702043ff9db9a5b44cd4b9891d82839a 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type   __syscall, @function
 __syscall:
        ! The kernel syscall entry point documents that the trap number indicates
index e3a8c5d6d43ac00f5328a2c55448b17646f8b9cb..a93f6d1e0b7d60bc5e5299bdc407b6f9cd78251f 100644 (file)
@@ -17,7 +17,7 @@
 typedef long syscall_arg_t;
 #endif
 
-#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
+#ifdef SHARED
 __attribute__((visibility("hidden")))
 #endif
 long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...),
index 6e0db09c307e176c7386cc35546527690ac87efa..c4bee804ffa3008c6ec76aff3c4e407b4554cac4 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type __syscall,@function
 __syscall:
        movq %rdi,%rax
index 6e0db09c307e176c7386cc35546527690ac87efa..c4bee804ffa3008c6ec76aff3c4e407b4554cac4 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.hidden __syscall
 .type __syscall,@function
 __syscall:
        movq %rdi,%rax
index a48cee9b022f0d516a8f188a5c8cc04800328f6c..faf57b1a6d4659bf9e83f89705464099172604d3 100644 (file)
@@ -1,6 +1,11 @@
 #include "pthread_impl.h"
 #include "syscall.h"
 
+#ifdef SHARED
+__attribute__((__visibility__("hidden")))
+#endif
+long __syscall_cp_c();
+
 static long sccp(syscall_arg_t nr,
                  syscall_arg_t u, syscall_arg_t v, syscall_arg_t w,
                  syscall_arg_t x, syscall_arg_t y, syscall_arg_t z)