diff --git a/src/internal/libc.h b/src/internal/libc.h index 703d9853c06f8148bd596358f823d83153c2b078..5ab4e679906e85c3a77dd6483a43ab733511a7d5 100644 --- a/src/internal/libc.h +++ b/src/internal/libc.h @@ -46,10 +46,10 @@ extern struct __libc *__libc_loc(void) __attribute__((const)); /* Designed to avoid any overhead in non-threaded processes */ -void __lock(volatile int *); -void __unlock(volatile int *); -int __lockfile(FILE *); -void __unlockfile(FILE *); +void __lock(volatile int *) ATTR_LIBC_VISIBILITY; +void __unlock(volatile int *) ATTR_LIBC_VISIBILITY; +int __lockfile(FILE *) ATTR_LIBC_VISIBILITY; +void __unlockfile(FILE *) ATTR_LIBC_VISIBILITY; #define LOCK(x) (libc.threads_minus_1 ? (__lock(x),1) : ((void)(x),1)) #define UNLOCK(x) (libc.threads_minus_1 ? (__unlock(x),1) : ((void)(x),1)) diff --git a/src/internal/stdio_impl.h b/src/internal/stdio_impl.h index 279e91fdecb975604e25a11bac17d23f84588a6e..80646f8c731398c94a6aaa4ac1beeff569a94aa3 100644 --- a/src/internal/stdio_impl.h +++ b/src/internal/stdio_impl.h @@ -74,10 +74,10 @@ size_t __string_read(FILE *, unsigned char *, size_t); int __toread(FILE *); int __towrite(FILE *); -int __overflow(FILE *, int); -int __oflow(FILE *); -int __uflow(FILE *); -int __underflow(FILE *); +#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303) +__attribute__((visibility("protected"))) +#endif +int __overflow(FILE *, int), __uflow(FILE *); int __fseeko(FILE *, off_t, int); int __fseeko_unlocked(FILE *, off_t, int); diff --git a/src/internal/syscall.h b/src/internal/syscall.h index 50409ef8168db07e6ef458fefb0ec2b553797bbc..7381efea8d4d1e235d69909074645fca50d3e61e 100644 --- a/src/internal/syscall.h +++ b/src/internal/syscall.h @@ -1,9 +1,11 @@ #ifndef _INTERNAL_SYSCALL_H #define _INTERNAL_SYSCALL_H -long __syscall_ret(unsigned long); -long __syscall(long, ...); -long __syscall_cp(long, long, long, long, long, long, long); +#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303) +__attribute__((visibility("protected"))) +#endif +long __syscall_ret(unsigned long), __syscall(long, ...), + __syscall_cp(long, long, long, long, long, long, long); #include #include "syscall_arch.h"