From 04570aaa8ad88caad303f8afe469beb4cf851e17 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 6 Sep 2012 16:29:10 -0700 Subject: [PATCH] Restore GL(dl_initial_dtv) --- ChangeLog | 6 ++++++ elf/dl-tls.c | 6 ++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e259fabbbf..f8ccb686b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 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 ... (_dl_static_dtv): This. Make it global. (_dl_initial_dtv): Removed. 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) -- 2.11.4.GIT