re PR target/44132 (emutls is broken under a range of circumstances.)
authorIain Sandoe <iains@gcc.gnu.org>
Mon, 24 May 2010 14:36:32 +0000 (14:36 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Mon, 24 May 2010 14:36:32 +0000 (14:36 +0000)
commit1db0429a13b229a2a2ad43ca895786871f0b4834
tree572e1afe3e6475f92e50a9110276f5d8b13583fa
parente72e2da4db2f88219961c6615f0d5a673be3aaa4
re PR target/44132 (emutls is broken under a range of circumstances.)

2010-05-24  Iain Sandoe  <iains@gcc.gnu.org>

PR target/44132
PR middle-end/43602
* varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
DECL_VISIBILITY_SPECIFIED.
(emutls_decl): Set DECL_PRESERVE_P and copy
DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
(emutls_finalize_control_var): New callback.
(emutls_finish): Finalize emutls control variables.
* toplev.c (compile_file): Move the call to emutls_finish ()
before varpool_assemble_pending_decls ().

From-SVN: r159781
gcc/ChangeLog
gcc/toplev.c
gcc/varasm.c