about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/mach/hurd/i386/tls.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 67df0af51c..6c7f83c4c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-26  Roland McGrath  <roland@frob.com>
+
+	* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb.
+
 2004-10-26  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t
diff --git a/sysdeps/mach/hurd/i386/tls.h b/sysdeps/mach/hurd/i386/tls.h
index f81180f9b1..910834687f 100644
--- a/sysdeps/mach/hurd/i386/tls.h
+++ b/sysdeps/mach/hurd/i386/tls.h
@@ -63,6 +63,10 @@ _hurd_tls_init (tcbhead_t *tcb, int secondcall)
 
   if (!secondcall)
     {
+      /* This field is used by TLS accesses to get our "thread pointer"
+	 from the TLS point of view.  */
+      tcb->tcb = tcb;
+
       /* Cache our thread port.  */
       tcb->self = __mach_thread_self ();