diff options
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/fdpic_crt.h | 4 | ||||
-rw-r--r-- | src/internal/libc.h | 23 | ||||
-rw-r--r-- | src/internal/malloc_impl.h | 8 | ||||
-rw-r--r-- | src/internal/sh/__shcall.c | 5 | ||||
-rw-r--r-- | src/internal/syscall.h | 4 | ||||
-rw-r--r-- | src/internal/version.c | 4 |
6 files changed, 23 insertions, 25 deletions
diff --git a/src/internal/fdpic_crt.h b/src/internal/fdpic_crt.h index 7eb50c6b..3c3f077d 100644 --- a/src/internal/fdpic_crt.h +++ b/src/internal/fdpic_crt.h @@ -1,7 +1,7 @@ #include <stdint.h> +#include "libc.h" -__attribute__((__visibility__("hidden"))) -void *__fdpic_fixup(void *map, uintptr_t *a, uintptr_t *z) +hidden void *__fdpic_fixup(void *map, uintptr_t *a, uintptr_t *z) { /* If map is a null pointer, the program was loaded by a * non-FDPIC-aware ELF loader, and fixups are not needed, diff --git a/src/internal/libc.h b/src/internal/libc.h index 5e145183..7307a738 100644 --- a/src/internal/libc.h +++ b/src/internal/libc.h @@ -33,24 +33,21 @@ struct __libc { #define PAGE_SIZE libc.page_size #endif -#ifdef __PIC__ -#define ATTR_LIBC_VISIBILITY __attribute__((visibility("hidden"))) -#else -#define ATTR_LIBC_VISIBILITY -#endif +#define weak __attribute__((__weak__)) +#define hidden __attribute__((__visibility__("hidden"))) -extern struct __libc __libc ATTR_LIBC_VISIBILITY; +extern hidden struct __libc __libc; #define libc __libc -extern size_t __hwcap ATTR_LIBC_VISIBILITY; -extern size_t __sysinfo ATTR_LIBC_VISIBILITY; +extern hidden size_t __hwcap; +extern hidden size_t __sysinfo; extern char *__progname, *__progname_full; /* Designed to avoid any overhead in non-threaded processes */ -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; +hidden void __lock(volatile int *); +hidden void __unlock(volatile int *); +hidden int __lockfile(FILE *); +hidden void __unlockfile(FILE *); #define LOCK(x) __lock(x) #define UNLOCK(x) __unlock(x) @@ -61,7 +58,7 @@ extern char **__environ; #undef weak_alias #define weak_alias(old, new) \ - extern __typeof(old) new __attribute__((weak, alias(#old))) + extern __typeof(old) new __attribute__((__weak__, __alias__(#old))) #undef LFS64_2 #define LFS64_2(x, y) weak_alias(x, y) diff --git a/src/internal/malloc_impl.h b/src/internal/malloc_impl.h index 5d025b06..4355d84c 100644 --- a/src/internal/malloc_impl.h +++ b/src/internal/malloc_impl.h @@ -1,6 +1,8 @@ #ifndef MALLOC_IMPL_H #define MALLOC_IMPL_H +#include "libc.h" + void *__mmap(void *, size_t, int, int, int, off_t); int __munmap(void *, size_t); void *__mremap(void *, size_t, size_t, int, ...); @@ -36,10 +38,8 @@ struct bin { #define IS_MMAPPED(c) !((c)->csize & (C_INUSE)) -__attribute__((__visibility__("hidden"))) -void __bin_chunk(struct chunk *); +hidden void __bin_chunk(struct chunk *); -__attribute__((__visibility__("hidden"))) -extern int __malloc_replaced; +hidden extern int __malloc_replaced; #endif diff --git a/src/internal/sh/__shcall.c b/src/internal/sh/__shcall.c index dfe80a7f..23655904 100644 --- a/src/internal/sh/__shcall.c +++ b/src/internal/sh/__shcall.c @@ -1,5 +1,6 @@ -__attribute__((__visibility__("hidden"))) -int __shcall(void *arg, int (*func)(void *)) +#include "libc.h" + +hidden int __shcall(void *arg, int (*func)(void *)) { return func(arg); } diff --git a/src/internal/syscall.h b/src/internal/syscall.h index 6d378a81..c12a46cd 100644 --- a/src/internal/syscall.h +++ b/src/internal/syscall.h @@ -2,6 +2,7 @@ #define _INTERNAL_SYSCALL_H #include <sys/syscall.h> +#include "libc.h" #include "syscall_arch.h" #ifndef SYSCALL_RLIM_INFINITY @@ -21,8 +22,7 @@ typedef long syscall_arg_t; #endif -__attribute__((visibility("hidden"))) -long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), +hidden long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), __syscall_cp(syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t); diff --git a/src/internal/version.c b/src/internal/version.c index dc044ec4..0d6e1f82 100644 --- a/src/internal/version.c +++ b/src/internal/version.c @@ -1,9 +1,9 @@ #include "version.h" +#include "libc.h" static const char version[] = VERSION; -__attribute__((__visibility__("hidden"))) -const char *__libc_get_version() +hidden const char *__libc_get_version() { return version; } |