about summary refs log tree commit diff
path: root/linuxthreads/sysdeps/sh/tls.h
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/sysdeps/sh/tls.h
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/sysdeps/sh/tls.h')
-rw-r--r--linuxthreads/sysdeps/sh/tls.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/linuxthreads/sysdeps/sh/tls.h b/linuxthreads/sysdeps/sh/tls.h
index 17a247c6b6..699eeb6227 100644
--- a/linuxthreads/sysdeps/sh/tls.h
+++ b/linuxthreads/sysdeps/sh/tls.h
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  linuxthreads/SH version.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,6 +24,7 @@
 # include <pt-machine.h>
 
 #ifndef __ASSEMBLER__
+# include <stdbool.h>
 # include <stddef.h>
 # include <stdint.h>
 
@@ -31,7 +32,11 @@
 typedef union dtv
 {
   size_t counter;
-  void *pointer;
+  struct
+  {
+    void *val;
+    bool is_static;
+  } pointer;
 } dtv_t;
 
 #else /* __ASSEMBLER__ */