* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space
authorRoland McGrath <roland@gnu.org>
Thu, 14 Nov 2002 00:48:38 +0000 (00:48 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 14 Nov 2002 00:48:38 +0000 (00:48 +0000)
for the new TCB.

ChangeLog
linuxthreads/ChangeLog
sysdeps/generic/dl-tls.c

index 11d3d19..27ab728 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-13  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space
+       for the new TCB.
+
 2002-11-13  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Check for visibility
index 414e309..fc48b50 100644 (file)
@@ -1,3 +1,7 @@
+2002-11-13  Roland McGrath  <roland@redhat.com>
+
+       * Examples/ex6.c (main): Improve error reporting.
+
 2002-11-04  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/i386/Makefile: Compile pthread.c and sighandler.c with
index 2c68a25..014c3a4 100644 (file)
@@ -262,6 +262,10 @@ _dl_allocate_tls_storage (void)
       result = (char *) result + GL(dl_tls_static_size) - TLS_TCB_SIZE;
 # endif
 
+      /* Clear the TCB data structure.  We can't ask the caller (i.e.
+        libpthread) to do it, because we will initialize the DTV et al.  */
+      memset (result, 0, TLS_TCB_SIZE);
+
       result = allocate_dtv (result);
       if (result == NULL)
        free (allocated);