aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/alpha/alpha.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 600619c..72fa4a5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2006-03-23 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
+ tls symbols.
+
PR target/26347
* config/alpha/predicates.md (local_symbolic_operand): Reject
weak symbols.
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 14d5438..6b1cef7 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -2124,10 +2124,13 @@ alpha_legitimate_constant_p (rtx x)
{
case CONST:
case LABEL_REF:
- case SYMBOL_REF:
case HIGH:
return true;
+ case SYMBOL_REF:
+ /* TLS symbols are never valid. */
+ return SYMBOL_REF_TLS_MODEL (x) == 0;
+
case CONST_DOUBLE:
if (x == CONST0_RTX (mode))
return true;