make __init_tp function static when static linking
authorRich Felker <dalias@aerifal.cx>
Thu, 23 Apr 2015 21:04:31 +0000 (17:04 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 23 Apr 2015 21:04:31 +0000 (17:04 -0400)
this slightly reduces the code size cost of TLS/thread-pointer for
static linking since __init_tp can be inlined into its only caller and
removed. this is analogous to the handling of __init_libc in
__libc_start_main, where the function only has external linkage when
it needs to be called from the dynamic linker.

src/env/__init_tls.c

index b5bd80d13376704f17bbd1d5d71f99fbae680fd1..a5074fbab4860b0a32097b21323d8bc51cacbc54 100644 (file)
@@ -8,6 +8,9 @@
 #include "atomic.h"
 #include "syscall.h"
 
+#ifndef SHARED
+static
+#endif
 int __init_tp(void *p)
 {
        pthread_t td = p;