2012-09-06 H.J. Lu <hongjiu.lu@intel.com>
+ [BZ #14545]
+ * csu/libc-tls.c (_dl_initial_dtv): New variable.
+ * elf/dl-tls.c (_dl_deallocate_tls): Always check dtv before
+ freeing dtv[-1].
+
+2012-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
[BZ #14544]
* Makeconfig (link-static-before-libc): Replace $(+prector)
with $(+prectorT).
size_t _dl_tls_static_used;
/* Alignment requirement of the static TLS block. */
size_t _dl_tls_static_align;
+/* Initial dtv of the main thread, not allocated with normal malloc. */
+void *_dl_initial_dtv = &static_dtv[1];
/* Generation counter for the dtv. */
size_t _dl_tls_generation;
free (dtv[1 + cnt].pointer.val);
/* The array starts with dtv[-1]. */
-#ifdef SHARED
if (dtv != GL(dl_initial_dtv))
-#endif
free (dtv - 1);
if (dealloc_tcb)