about summary refs log tree commit diff
path: root/ports/sysdeps/tile/nptl/tcb-offsets.sym
blob: 6740bc976f749f9740a3a67fff471958322c9da4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define SHARED  /* needed to get struct rtld_global from <ldsodefs.h> */
#include <sysdep.h>
#include <tls.h>
#include <ldsodefs.h>

--

-- Abuse tls.h macros to derive offsets relative to the thread register.
#define thread_offsetof(mem)	(long)(offsetof(struct pthread, mem) - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)

MULTIPLE_THREADS_OFFSET		thread_offsetof (header.multiple_threads)
PID_OFFSET			thread_offsetof (pid)
TID_OFFSET			thread_offsetof (tid)
POINTER_GUARD			(offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
FEEDBACK_DATA_OFFSET		(offsetof (tcbhead_t, feedback_data) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
DTV_OFFSET			(offsetof (tcbhead_t, dtv) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
TLS_GENERATION_OFFSET		offsetof (struct rtld_global, _dl_tls_generation)