1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Remove _dl_initial_dtv

* csu/libc-tls.c (static_dtv): Renamed to ...
	(_dl_static_dtv): This.  Make it global.
	(_dl_initial_dtv): Removed.
	(__libc_setup_tls): Updated.
	* elf/dl-tls.c (DL_INITIAL_DTV): New macro.
	(_dl_deallocate_tls): Replace GL(dl_initial_dtv) with
	DL_INITIAL_DTV.
This commit is contained in:
H.J. Lu
2012-09-06 16:03:32 -07:00
parent 2abe9f1507
commit b80af2f406
3 changed files with 27 additions and 12 deletions

View File

@ -464,6 +464,13 @@ _dl_allocate_tls (void *mem)
rtld_hidden_def (_dl_allocate_tls)
#ifndef SHARED
extern dtv_t _dl_static_dtv[];
# define DL_INITIAL_DTV (&_dl_static_dtv[1])
#else
# define DL_INITIAL_DTV GL(dl_initial_dtv)
#endif
void
internal_function
_dl_deallocate_tls (void *tcb, bool dealloc_tcb)
@ -477,7 +484,7 @@ _dl_deallocate_tls (void *tcb, bool dealloc_tcb)
free (dtv[1 + cnt].pointer.val);
/* The array starts with dtv[-1]. */
if (dtv != GL(dl_initial_dtv))
if (dtv != DL_INITIAL_DTV)
free (dtv - 1);
if (dealloc_tcb)