Restore GL(dl_initial_dtv)
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 6 Sep 2012 23:29:10 +0000 (16:29 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 6 Sep 2012 23:29:10 +0000 (16:29 -0700)
ChangeLog
elf/dl-tls.c

index e259fab..f8ccb68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2012-09-06  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * 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  <hongjiu.lu@intel.com>
+
        * csu/libc-tls.c (static_dtv): Renamed to ...
        (_dl_static_dtv): This.  Make it global.
        (_dl_initial_dtv): Removed.
index 9d896b7..c3a3d68 100644 (file)
@@ -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)