summary refs log tree commit diff
path: root/linuxthreads/pthread.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-01-09 20:13:03 +0000
committerUlrich Drepper <drepper@redhat.com>2005-01-09 20:13:03 +0000
commit217fc747ff8ce46df736f0b975d7082753219391 (patch)
tree775c0f2d84b94717ca9e3d9f9aed1e6a9f3ec29a /linuxthreads/pthread.c
parente145f1cc757e1213c0d5fc51251db6a6f8bd04a0 (diff)
downloadglibc-217fc747ff8ce46df736f0b975d7082753219391.tar.gz
glibc-217fc747ff8ce46df736f0b975d7082753219391.tar.xz
glibc-217fc747ff8ce46df736f0b975d7082753219391.zip
* pthread.c (init_one_static_tls): Adjust initialization of DTV
	entry for static tls deallocation fix.

	* sysdeps/alpha/tls.h (dtv_t): Change pointer type to be struct which
	also contains information whether the memory pointed to is static
	TLS or not, include <stdbool.h>.
	* sysdeps/i386/tls.h: Likewise.
	* sysdeps/ia64/tls.h: Likewise.
	* sysdeps/powerpc/tls.h: Likewise.
	* sysdeps/s390/tls.h: Likewise.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/sparc/tls.h: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
Diffstat (limited to 'linuxthreads/pthread.c')
-rw-r--r--linuxthreads/pthread.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index 24f0eb02b0..39863f2b54 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -482,7 +482,8 @@ init_one_static_tls (pthread_descr descr, struct link_map *map)
 # endif
 
   /* Fill in the DTV slot so that a later LD/GD access will find it.  */
-  dtv[map->l_tls_modid].pointer = dest;
+  dtv[map->l_tls_modid].pointer.val = dest;
+  dtv[map->l_tls_modid].pointer.is_static = true;
 
   /* Initialize the memory.  */
   memset (__mempcpy (dest, map->l_tls_initimage, map->l_tls_initimage_size),