diff options
author | Richard Henderson <rth@redhat.com> | 2006-03-23 07:51:10 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2006-03-23 07:51:10 -0800 |
commit | e584065d68f543b9c8dcc4fde3b82caab9dca73e (patch) | |
tree | 21985eda5f768844f111444aab184a74b0566eea /gcc | |
parent | dec6909bcb5362b47ae0637ad955c67218a1cda0 (diff) | |
download | gcc-e584065d68f543b9c8dcc4fde3b82caab9dca73e.zip gcc-e584065d68f543b9c8dcc4fde3b82caab9dca73e.tar.gz gcc-e584065d68f543b9c8dcc4fde3b82caab9dca73e.tar.bz2 |
alpha.c (alpha_legitimate_constant_p): Reject tls symbols.
* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
tls symbols.
From-SVN: r112323
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; |