about summary refs log tree commit diff
path: root/linuxthreads_db
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_db
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_db')
-rw-r--r--linuxthreads_db/ChangeLog4
-rw-r--r--linuxthreads_db/td_thr_tlsbase.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index 338bf8207f..4bda6fb47a 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,7 @@
+2005-01-09  Andreas Jaeger  <aj@suse.de>
+
+	* td_thr_tlsbase.c (td_thr_tlsbase): Adjust for dtv change.
+
 2004-05-01  Jakub Jelinek  <jakub@redhat.com>
 
 	* thread_dbP.h (LOG): Use write instead of __libc_write.
diff --git a/linuxthreads_db/td_thr_tlsbase.c b/linuxthreads_db/td_thr_tlsbase.c
index 081e8d0e70..5a7e31b9e1 100644
--- a/linuxthreads_db/td_thr_tlsbase.c
+++ b/linuxthreads_db/td_thr_tlsbase.c
@@ -1,5 +1,5 @@
 /* Locate TLS data for a thread.
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 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
@@ -59,10 +59,10 @@ td_thr_tlsbase (const td_thrhandle_t *th,
 
   /* It could be that the memory for this module is not allocated for
      the given thread.  */
-  if (pdtv.pointer == TLS_DTV_UNALLOCATED)
+  if (pdtv.pointer.val == TLS_DTV_UNALLOCATED)
     return TD_TLSDEFER;
 
-  *base = (char *) pdtv.pointer;
+  *base = (char *) pdtv.pointer.val;
 
   return TD_OK;
 #else