From 91c6a187b89cb1ea9afc6a963106fbccca218dde Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Sat, 8 Sep 2018 18:46:06 -0400
Subject: move declarations of tls setup/access functions to pthread_impl.h

it's already included in all places where these are needed, and aside
from __tls_get_addr, they're all implementation internals.
---
 ldso/dynlink.c              | 4 ----
 src/internal/pthread_impl.h | 6 ++++++
 src/thread/__tls_get_addr.c | 2 --
 src/thread/pthread_create.c | 2 --
 src/time/timer_create.c     | 2 --
 5 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/ldso/dynlink.c b/ldso/dynlink.c
index 1d3dacc3..f78a02e6 100644
--- a/ldso/dynlink.c
+++ b/ldso/dynlink.c
@@ -96,9 +96,7 @@ struct symdef {
 	struct dso *dso;
 };
 
-int __init_tp(void *);
 void __init_libc(char **, char *);
-void *__copy_tls(unsigned char *);
 
 static struct builtin_tls {
 	char c;
@@ -1892,8 +1890,6 @@ static void *addr2dso(size_t a)
 	return 0;
 }
 
-void *__tls_get_addr(tls_mod_off_t *);
-
 static void *do_dlsym(struct dso *p, const char *s, void *ra)
 {
 	size_t i;
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
index d4d1dc61..3479bcf6 100644
--- a/src/internal/pthread_impl.h
+++ b/src/internal/pthread_impl.h
@@ -135,6 +135,12 @@ struct __timer {
 	((sigset_t *)(const unsigned long [_NSIG/8/sizeof(long)]){ \
 	 0x80000000 })
 
+void *__tls_get_addr(tls_mod_off_t *);
+hidden void *__tls_get_new(tls_mod_off_t *);
+int __init_tp(void *);
+void *__copy_tls(unsigned char *);
+void __reset_tls();
+
 int __clone(int (*)(void *), void *, int, void *, ...);
 int __set_thread_area(void *);
 int __libc_sigaction(int, const struct sigaction *, struct sigaction *);
diff --git a/src/thread/__tls_get_addr.c b/src/thread/__tls_get_addr.c
index 3bc60571..013817b4 100644
--- a/src/thread/__tls_get_addr.c
+++ b/src/thread/__tls_get_addr.c
@@ -2,8 +2,6 @@
 #include "pthread_impl.h"
 #include "libc.h"
 
-hidden void *__tls_get_new(tls_mod_off_t *);
-
 void *__tls_get_addr(tls_mod_off_t *v)
 {
 	pthread_t self = __pthread_self();
diff --git a/src/thread/pthread_create.c b/src/thread/pthread_create.c
index 27ace2c6..dc869dc1 100644
--- a/src/thread/pthread_create.c
+++ b/src/thread/pthread_create.c
@@ -178,8 +178,6 @@ static void init_file_lock(FILE *f)
 	if (f && f->lock<0) f->lock = 0;
 }
 
-void *__copy_tls(unsigned char *);
-
 int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict attrp, void *(*entry)(void *), void *restrict arg)
 {
 	int ret, c11 = (attrp == __ATTRP_C11_THREAD);
diff --git a/src/time/timer_create.c b/src/time/timer_create.c
index 16432bec..ad7a2646 100644
--- a/src/time/timer_create.c
+++ b/src/time/timer_create.c
@@ -19,8 +19,6 @@ static void dummy_0()
 }
 weak_alias(dummy_0, __pthread_tsd_run_dtors);
 
-void __reset_tls();
-
 static void cleanup_fromsig(void *p)
 {
 	pthread_t self = __pthread_self();
-- 
cgit v1.2.3-70-g09d2