remove remaining traces of __tls_get_new
[musl] / src / internal / pthread_impl.h
index c677f7f..5742dfc 100644 (file)
@@ -18,7 +18,7 @@ struct pthread {
         * internal (accessed via asm) ABI. Do not change. */
        struct pthread *self;
        uintptr_t *dtv;
-       void *unused1, *unused2;
+       struct pthread *prev, *next; /* non-ABI */
        uintptr_t sysinfo;
        uintptr_t canary, canary2;
 
@@ -56,11 +56,9 @@ struct pthread {
 };
 
 enum {
-       DT_EXITED = 0,
-       DT_EXITING,
+       DT_EXITING = 0,
        DT_JOINABLE,
        DT_DETACHED,
-       DT_DYNAMIC,
 };
 
 struct __timer {
@@ -127,11 +125,11 @@ struct __timer {
         0x80000000 })
 
 void *__tls_get_addr(tls_mod_off_t *);
-hidden void *__tls_get_new(tls_mod_off_t *);
 hidden int __init_tp(void *);
 hidden void *__copy_tls(unsigned char *);
 hidden void __reset_tls();
 
+hidden void __membarrier_init(void);
 hidden void __dl_thread_cleanup(void);
 hidden void __testcancel();
 hidden void __do_cleanup_push(struct __ptcb *);
@@ -141,7 +139,6 @@ hidden void __pthread_tsd_run_dtors();
 hidden void __pthread_key_delete_synccall(void (*)(void *), void *);
 hidden int __pthread_key_delete_impl(pthread_key_t);
 
-extern hidden volatile int __block_new_threads;
 extern hidden volatile size_t __pthread_tsd_size;
 extern hidden void *__pthread_tsd_main[];
 extern hidden volatile int __aio_fut;
@@ -173,6 +170,12 @@ hidden void __acquire_ptc(void);
 hidden void __release_ptc(void);
 hidden void __inhibit_ptc(void);
 
+hidden void __tl_lock(void);
+hidden void __tl_unlock(void);
+hidden void __tl_sync(pthread_t);
+
+extern hidden volatile int __thread_list_lock;
+
 extern hidden unsigned __default_stacksize;
 extern hidden unsigned __default_guardsize;