Commit 8e1ba78f by Jan Hubicka Committed by Jan Hubicka

ipa-visibility.c (varpool_node::externally_visible_p): Do not privatize dynamic TLS variables.

	* ipa-visibility.c (varpool_node::externally_visible_p): Do not
	privatize dynamic TLS variables.

From-SVN: r215417
parent 26e82579
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.
* diagnostic-core.h (warning_n): Declare.
* ipa-devirt.c (ipa_devirt): Handle singulars correctly;
......@@ -277,6 +277,13 @@ varpool_node::externally_visible_p (void)
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))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment