mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* 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.
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user