diff options
Diffstat (limited to 'ports/sysdeps/alpha/nptl/tcb-offsets.sym')
-rw-r--r-- | ports/sysdeps/alpha/nptl/tcb-offsets.sym | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ports/sysdeps/alpha/nptl/tcb-offsets.sym b/ports/sysdeps/alpha/nptl/tcb-offsets.sym new file mode 100644 index 0000000000..c21a791040 --- /dev/null +++ b/ports/sysdeps/alpha/nptl/tcb-offsets.sym @@ -0,0 +1,14 @@ +#include <sysdep.h> +#include <tls.h> + +-- + +-- Abuse tls.h macros to derive offsets relative to the thread register. +-- # define __builtin_thread_pointer() ((void *) 0) +-- # define thread_offsetof(mem) ((void *) &THREAD_SELF->mem - (void *) 0) +-- Ho hum, this doesn't work in gcc4, so Know Things about THREAD_SELF +#define thread_offsetof(mem) (long)(offsetof(struct pthread, mem) - sizeof(struct pthread)) + +MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) +PID_OFFSET thread_offsetof (pid) +TID_OFFSET thread_offsetof (tid) |