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
diff --git a/libc/bionic/libc_init_common.h b/libc/bionic/libc_init_common.h
index 23ac305..14105f8 100644
--- a/libc/bionic/libc_init_common.h
+++ b/libc/bionic/libc_init_common.h
@@ -50,7 +50,7 @@
 
 #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 af03fb0..88e87a7 100644
--- a/libc/bionic/libc_init_dynamic.cpp
+++ b/libc/bionic/libc_init_dynamic.cpp
@@ -63,9 +63,7 @@
 // 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<void*>(__get_tls());
   KernelArgumentBlock** args_slot = &reinterpret_cast<KernelArgumentBlock**>(tls)[TLS_SLOT_BIONIC_PREINIT];
@@ -82,7 +80,7 @@
   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 b01f9bd..c793fc6 100644
--- a/libc/bionic/pthread_key.cpp
+++ b/libc/bionic/pthread_key.cpp
@@ -185,8 +185,8 @@
   }
 };
 
-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 dd6b932..56a0ac2 100644
--- a/libc/private/bionic_tls.h
+++ b/libc/private/bionic_tls.h
@@ -114,7 +114,7 @@
 
 #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 */