1
0
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:
Ulrich Drepper
2005-01-09 20:13:03 +00:00
parent e145f1cc75
commit 217fc747ff
13 changed files with 86 additions and 23 deletions

View File

@ -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