about summary refs log tree commit diff
path: root/include/stdlib.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2013-03-28 16:52:57 -0700
committerRoland McGrath <roland@hack.frob.com>2013-03-28 16:52:57 -0700
commite57b0c6100e63bfd816ae59339452eafc81f1d3a (patch)
tree679fa9bc3f13ac3f2df0249db9966b305d6e8244 /include/stdlib.h
parent288f7d79fe2dcc8e62c539f57b25d7662a2cd5ff (diff)
downloadglibc-e57b0c6100e63bfd816ae59339452eafc81f1d3a.tar.gz
glibc-e57b0c6100e63bfd816ae59339452eafc81f1d3a.tar.xz
glibc-e57b0c6100e63bfd816ae59339452eafc81f1d3a.zip
Avoid unconditional __call_tls_dtors calls in static linking.
Diffstat (limited to 'include/stdlib.h')
-rw-r--r--include/stdlib.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/stdlib.h b/include/stdlib.h
index db1812d85a..e50985a5b8 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -102,8 +102,12 @@ extern int __cxa_atexit_internal (void (*func) (void *), void *arg, void *d)
 
 extern int __cxa_thread_atexit_impl (void (*func) (void *), void *arg,
 				     void *d);
-extern void __call_tls_dtors (void);
-libc_hidden_proto (__call_tls_dtors);
+extern void __call_tls_dtors (void)
+#ifndef SHARED
+  __attribute__ ((weak))
+#endif
+  ;
+libc_hidden_proto (__call_tls_dtors)
 
 extern void __cxa_finalize (void *d);