瀏覽代碼

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.
Rich Felker 6 年之前
父節點
當前提交
91c6a187b8
共有 5 個文件被更改,包括 6 次插入10 次删除
  1. 0 4
      ldso/dynlink.c
  2. 6 0
      src/internal/pthread_impl.h
  3. 0 2
      src/thread/__tls_get_addr.c
  4. 0 2
      src/thread/pthread_create.c
  5. 0 2
      src/time/timer_create.c

+ 0 - 4
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;

+ 6 - 0
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 *);

+ 0 - 2
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();

+ 0 - 2
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);

+ 0 - 2
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();