aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);