about summary refs log tree commit diff
path: root/nptl/sysdeps/powerpc/tcb-offsets.sym
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/powerpc/tcb-offsets.sym')
-rw-r--r--nptl/sysdeps/powerpc/tcb-offsets.sym4
1 files changed, 3 insertions, 1 deletions
diff --git a/nptl/sysdeps/powerpc/tcb-offsets.sym b/nptl/sysdeps/powerpc/tcb-offsets.sym
index a9701fb5b7..4a8671e802 100644
--- a/nptl/sysdeps/powerpc/tcb-offsets.sym
+++ b/nptl/sysdeps/powerpc/tcb-offsets.sym
@@ -6,10 +6,12 @@
 -- Abuse tls.h macros to derive offsets relative to the thread register.
 # undef __thread_register
 # define __thread_register	((void *) 0)
-# define thread_offsetof(mem)	((void *) &THREAD_SELF->mem - (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))