3 #include <kernel-features.h>
7 -- Abuse tls.h macros to derive offsets relative to the thread register.
8 # undef __thread_register
9 # define __thread_register ((void *) 0)
10 # define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct pthread, mem))
13 #if TLS_MULTIPLE_THREADS_IN_TCB
14 MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
16 PID thread_offsetof (pid)
17 TID thread_offsetof (tid)
18 POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
19 TAR_SAVE (offsetof (tcbhead_t, tar_save) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
20 DSO_SLOT1 (offsetof (tcbhead_t, dso_slot1) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
21 DSO_SLOT2 (offsetof (tcbhead_t, dso_slot2) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
22 TM_CAPABLE (offsetof (tcbhead_t, tm_capable) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
23 #ifndef __ASSUME_PRIVATE_FUTEX
24 PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex)