From: H.J. Lu Date: Thu, 6 Sep 2012 23:29:10 +0000 (-0700) Subject: Restore GL(dl_initial_dtv) X-Git-Tag: glibc-2.17~572 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=04570aaa8ad88caad303f8afe469beb4cf851e17;p=glibc.git Restore GL(dl_initial_dtv) --- diff --git a/ChangeLog b/ChangeLog index e259fabbbf..f8ccb686b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-09-06 H.J. Lu + + * elf/dl-tls.c (DL_INITIAL_DTV): Removed. + (_dl_initial_dtv): New. Defined if SHARED isn't defined. + (_dl_deallocate_tls): Restore GL(dl_initial_dtv). + 2012-09-06 H.J. Lu * csu/libc-tls.c (static_dtv): Renamed to ... diff --git a/elf/dl-tls.c b/elf/dl-tls.c index 9d896b7bdd..c3a3d68f93 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c @@ -466,9 +466,7 @@ 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) +# define _dl_initial_dtv (&_dl_static_dtv[1]) #endif void @@ -484,7 +482,7 @@ _dl_deallocate_tls (void *tcb, bool dealloc_tcb) free (dtv[1 + cnt].pointer.val); /* The array starts with dtv[-1]. */ - if (dtv != DL_INITIAL_DTV) + if (dtv != GL(dl_initial_dtv)) free (dtv - 1); if (dealloc_tcb)