* 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;
};
enum {
- DT_EXITED = 0,
- DT_EXITING,
+ DT_EXITING = 0,
DT_JOINABLE,
DT_DETACHED,
- DT_DYNAMIC,
};
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 *);
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;
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;