#include <sysdep.h>
#include <tls.h>

--

-- Abuse tls.h macros to derive offsets relative to the thread register.
# undef __thread_register
# define __thread_register	((void *) 0)
# define thread_offsetof(mem)	((ptrdiff_t) THREAD_SELF + offsetof (struct pthread, mem))


#if TLS_MULTIPLE_THREADS_IN_TCB
MULTIPLE_THREADS_OFFSET		thread_offsetof (header.multiple_threads)
#endif
PID				thread_offsetof (pid)
TID				thread_offsetof (tid)
POINTER_GUARD			(offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
#ifndef __ASSUME_PRIVATE_FUTEX
PRIVATE_FUTEX_OFFSET		thread_offsetof (header.private_futex)
#endif
