about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/powerpc/tcb-offsets.sym3
2 files changed, 7 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 7d916791d7..a575a82034 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Redefine to suit
+	gcc4.
+
 2005-02-07  Richard Henderson  <rth@redhat.com>
 
 	* sysdeps/pthread/pthread.h (__sigsetjmp): Use pointer as first
diff --git a/nptl/sysdeps/powerpc/tcb-offsets.sym b/nptl/sysdeps/powerpc/tcb-offsets.sym
index a9701fb5b7..3962edbd54 100644
--- a/nptl/sysdeps/powerpc/tcb-offsets.sym
+++ b/nptl/sysdeps/powerpc/tcb-offsets.sym
@@ -6,7 +6,8 @@
 -- 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)