diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 5 |
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; |