aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-08-07 14:16:28 +0000
committerJakub Jelinek <jakub@redhat.com>2009-08-07 14:16:28 +0000
commit749baf97a0224c820ab9e34619ca0be080cb8dca (patch)
tree896a69768a49d92a8afc333e5346bfa8d52ab470
parentddc95df1734794b2df17145d5ff4f05f96ee3c04 (diff)
* dwarf2out.c (loc_descriptor, add_const_value_attribute): Don't
handle TLS SYMBOL_REFs. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-4_4-branch@150571 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.vta5
-rw-r--r--gcc/dwarf2out.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog.vta b/gcc/ChangeLog.vta
index 8361264ecd5..5a47adc8c8a 100644
--- a/gcc/ChangeLog.vta
+++ b/gcc/ChangeLog.vta
@@ -1,3 +1,8 @@
+2009-08-07 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (loc_descriptor, add_const_value_attribute): Don't
+ handle TLS SYMBOL_REFs.
+
2009-08-05 Alexandre Oliva <aoliva@redhat.com>
* cfgexpand.c (expand_debug_expr): Fail gracefully when computing
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7be635ccf6c..40e9f6951da 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -11030,6 +11030,9 @@ loc_descriptor (rtx rtl, enum machine_mode mode,
}
/* FALLTHROUGH */
case SYMBOL_REF:
+ if (GET_CODE (rtl) == SYMBOL_REF
+ && SYMBOL_REF_TLS_MODEL (rtl) != TLS_MODEL_NONE)
+ break;
case LABEL_REF:
if (mode != VOIDmode && GET_MODE_SIZE (mode) == DWARF2_ADDR_SIZE)
{
@@ -11994,6 +11997,9 @@ add_const_value_attribute (dw_die_ref die, rtx rtl)
}
/* FALLTHROUGH */
case SYMBOL_REF:
+ if (GET_CODE (rtl) == SYMBOL_REF
+ && SYMBOL_REF_TLS_MODEL (rtl) != TLS_MODEL_NONE)
+ break;
case LABEL_REF:
add_AT_addr (die, DW_AT_const_value, rtl);
VEC_safe_push (rtx, gc, used_rtx_array, rtl);