From ce532721aaf61d4b6a171903c851ac82adf08aa8 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 15 Mar 2013 16:31:09 -0700 Subject: [PATCH] Hide various symbols that shouldn't be exposed. A mangled symbol in libc.so is a symbol that shouldn't be exported by libc.so. Change-Id: Id92d1e1968b3d11d111a5d9ef692adb1ac7694a1 --- libc/bionic/libc_init_common.h | 2 +- libc/bionic/libc_init_dynamic.cpp | 6 ++---- libc/bionic/pthread_key.cpp | 4 ++-- libc/private/bionic_tls.h | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/libc/bionic/libc_init_common.h b/libc/bionic/libc_init_common.h index 23ac30554..14105f87b 100644 --- a/libc/bionic/libc_init_common.h +++ b/libc/bionic/libc_init_common.h @@ -50,7 +50,7 @@ __END_DECLS #if defined(__cplusplus) struct KernelArgumentBlock; -void __libc_init_common(KernelArgumentBlock& args); +void __LIBC_HIDDEN__ __libc_init_common(KernelArgumentBlock& args); #endif #endif diff --git a/libc/bionic/libc_init_dynamic.cpp b/libc/bionic/libc_init_dynamic.cpp index af03fb05f..88e87a712 100644 --- a/libc/bionic/libc_init_dynamic.cpp +++ b/libc/bionic/libc_init_dynamic.cpp @@ -63,9 +63,7 @@ extern "C" { // that its address is listed in libc.so's .init_array section. // This ensures that the function is called by the dynamic linker // as soon as the shared library is loaded. -void __attribute__((constructor)) __libc_preinit(void); - -void __libc_preinit() { +__attribute__((constructor)) static void __libc_preinit() { // Read the kernel argument block pointer from TLS. void* tls = const_cast(__get_tls()); KernelArgumentBlock** args_slot = &reinterpret_cast(tls)[TLS_SLOT_BIONIC_PREINIT]; @@ -82,7 +80,7 @@ void __libc_preinit() { malloc_debug_init(); } -void __libc_postfini() { +__LIBC_HIDDEN__ void __libc_postfini() { // A hook for the debug malloc library to let it know that we're shutting down. malloc_debug_fini(); } diff --git a/libc/bionic/pthread_key.cpp b/libc/bionic/pthread_key.cpp index b01f9bd4f..c793fc61c 100644 --- a/libc/bionic/pthread_key.cpp +++ b/libc/bionic/pthread_key.cpp @@ -185,8 +185,8 @@ class ScopedTlsMapAccess { } }; -tls_map_t ScopedTlsMapAccess::s_tls_map_; -pthread_mutex_t ScopedTlsMapAccess::s_tls_map_lock_; +__LIBC_HIDDEN__ tls_map_t ScopedTlsMapAccess::s_tls_map_; +__LIBC_HIDDEN__ pthread_mutex_t ScopedTlsMapAccess::s_tls_map_lock_; __LIBC_HIDDEN__ void pthread_key_clean_all() { ScopedTlsMapAccess tls_map; diff --git a/libc/private/bionic_tls.h b/libc/private/bionic_tls.h index dd6b93276..56a0ac283 100644 --- a/libc/private/bionic_tls.h +++ b/libc/private/bionic_tls.h @@ -114,7 +114,7 @@ __END_DECLS #if defined(__cplusplus) struct KernelArgumentBlock; -extern void __libc_init_tls(KernelArgumentBlock& args); +extern __LIBC_HIDDEN__ void __libc_init_tls(KernelArgumentBlock& args); #endif #endif /* _SYS_TLS_H */