about summary refs log tree commit diff
path: root/sysdeps/generic/dl-tls.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-23 07:59:56 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-23 07:59:56 +0000
commite413826144bcd0a910e8a6f942ec34a368f65613 (patch)
treedf006e17ef7841a1d2886d800c60365492809291 /sysdeps/generic/dl-tls.c
parent903b3396b8a1a5f4488649b7975cffed4c771e80 (diff)
downloadglibc-e413826144bcd0a910e8a6f942ec34a368f65613.tar.gz
glibc-e413826144bcd0a910e8a6f942ec34a368f65613.tar.xz
glibc-e413826144bcd0a910e8a6f942ec34a368f65613.zip
Update.
2002-02-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls.
	* elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE.
	* sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls.
	(_dl_deallocate_tls): New function.
	* sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and
	_dl_deallocate_tls.
Diffstat (limited to 'sysdeps/generic/dl-tls.c')
-rw-r--r--sysdeps/generic/dl-tls.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c
index 7e45850198..b7ed69f934 100644
--- a/sysdeps/generic/dl-tls.c
+++ b/sysdeps/generic/dl-tls.c
@@ -324,6 +324,21 @@ _dl_allocate_tls (void)
 
   return result;
 }
+INTDEF(_dl_allocate_tls)
+
+
+void
+internal_function
+_dl_deallocate_tls (void *tcb)
+{
+  dtv_t *dtv = GET_DTV (tcb);
+
+  /* The array starts with dtv[-1].  */
+  free (dtv - 1);
+
+  munmap (tcb, GL(dl_tls_static_size));
+}
+
 
 
 # ifdef SHARED