* ipa-visibility.c (varpool_node::externally_visible_p): Do not
privatize dynamic TLS variables.
From-SVN: r215417
+2014-09-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-visibility.c (varpool_node::externally_visible_p): Do not
+ privatize dynamic TLS variables.
+
2014-09-19 Jan Hubicka <hubicka@ucw.cz>
* diagnostic.c (warning_n): New function.
if (used_from_object_file_p ())
return true;
+ /* Bringing TLS variables local may cause dynamic linker failures
+ on limits of static TLS vars. */
+ if (DECL_THREAD_LOCAL_P (decl)
+ && (DECL_TLS_MODEL (decl) != TLS_MODEL_EMULATED
+ && DECL_TLS_MODEL (decl) != TLS_MODEL_INITIAL_EXEC))
+ return true;
+
if (DECL_HARD_REGISTER (decl))
return true;
if (DECL_PRESERVE_P (decl))