]> sourceware.org Git - glibc.git/commitdiff
* sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]:
authorRoland McGrath <roland@gnu.org>
Tue, 15 Oct 2002 08:38:53 +0000 (08:38 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 15 Oct 2002 08:38:53 +0000 (08:38 +0000)
Adjust TCB pointer before calling free, so we get the whole block.

2002-10-14  Roland McGrath  <roland@redhat.com>

* sysdeps/unix/sysv/linux/x86_64/sigaction.c
[HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt
extern using attribute_hidden instead of static, avoids warning.

ChangeLog
sysdeps/generic/dl-tls.c

index d0b02a153e9b16681b8d3175c29e556284c03fca..735021a8f95246bc04509f501224f7c6cfd22b22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2002-10-15  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]:
+       Adjust TCB pointer before calling free, so we get the whole block.
+
+2002-10-14  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/sigaction.c
+       [HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt
+       extern using attribute_hidden instead of static, avoids warning.
+
 2002-10-09  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/configure.in: Use */lib64 for s390x too.
index a6428652cfad6f009f6fb8e2161bcfa259bd2e45..b92fecbe271ca51f276c16f55f61450dbb2ecebe 100644 (file)
@@ -356,7 +356,13 @@ _dl_deallocate_tls (void *tcb, bool dealloc_tcb)
   free (dtv - 1);
 
   if (dealloc_tcb)
-    free (tcb);
+    {
+# if TLS_TCB_AT_TP
+      /* The TCB follows the TLS blocks.  Back up to free the whole block.  */
+      tcb -= GL(dl_tls_static_size) - TLS_TCB_SIZE;
+# endif
+      free (tcb);
+    }
 }
 
 
This page took 0.04172 seconds and 5 git commands to generate.