diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2010-07-26 15:53:50 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-07-26 15:53:50 -0700 |
commit | 8b84c5966fddefd51475d4df0fb2f1a699ba23fe (patch) | |
tree | 566634468015c713398a1fcd59ec66da7138545a /gcc/dwarf2out.c | |
parent | b57c6b13e0d950ba0771b1688cf6e57e3a5beae6 (diff) | |
download | gcc-8b84c5966fddefd51475d4df0fb2f1a699ba23fe.zip gcc-8b84c5966fddefd51475d4df0fb2f1a699ba23fe.tar.gz gcc-8b84c5966fddefd51475d4df0fb2f1a699ba23fe.tar.bz2 |
re PR target/44132 (emutls is broken under a range of circumstances.)
PR target/44132
Emulated TLS rewrite.
From-SVN: r162549
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 68b6483..1ca53bb 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -15111,7 +15111,11 @@ loc_list_from_tree (tree loc, int want_address) if (!targetm.emutls.debug_form_tls_address || !(dwarf_version >= 3 || !dwarf_strict)) return 0; - loc = emutls_decl (loc); + /* We stuffed the control variable into the DECL_VALUE_EXPR + to signal (via DECL_HAS_VALUE_EXPR_P) that the decl should + no longer appear in gimple code. We used the control + variable in specific so that we could pick it up here. */ + loc = DECL_VALUE_EXPR (loc); first_op = DW_OP_addr; second_op = DW_OP_form_tls_address; } |