diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-01-09 20:13:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-01-09 20:13:03 +0000 |
commit | 217fc747ff8ce46df736f0b975d7082753219391 (patch) | |
tree | 775c0f2d84b94717ca9e3d9f9aed1e6a9f3ec29a /linuxthreads_db | |
parent | e145f1cc757e1213c0d5fc51251db6a6f8bd04a0 (diff) | |
download | glibc-217fc747ff8ce46df736f0b975d7082753219391.tar.gz |
* 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/ChangeLog | 4 | ||||
-rw-r--r-- | linuxthreads_db/td_thr_tlsbase.c | 6 |
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 |