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
This commit is contained in:
parent
26e8257938
commit
8e1ba78f1b
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue