* 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.
This commit is contained in:
Roland McGrath 2002-10-15 08:38:53 +00:00
parent a7a2ea5a71
commit 9cbc282304
2 changed files with 18 additions and 1 deletions

View File

@ -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.

View 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);
}
}