diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-06-21 20:02:33 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-06-21 20:02:33 +0000 |
commit | 5dc74c0b70df36c7692dbe34a77ba3772a5bd363 (patch) | |
tree | 30056c3e879745ae0323a5bd7e7f4da4f09a1c77 /4.1.1 | |
parent | sync with uclibc svn (diff) | |
download | gcc-patches-5dc74c0b70df36c7692dbe34a77ba3772a5bd363.tar.gz gcc-patches-5dc74c0b70df36c7692dbe34a77ba3772a5bd363.tar.bz2 gcc-patches-5dc74c0b70df36c7692dbe34a77ba3772a5bd363.zip |
fix from upstream for hidden/weak on alpha targets
Diffstat (limited to '4.1.1')
-rw-r--r-- | 4.1.1/gentoo/08_all_gcc-4-pr27082.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/4.1.1/gentoo/08_all_gcc-4-pr27082.patch b/4.1.1/gentoo/08_all_gcc-4-pr27082.patch new file mode 100644 index 0000000..b8e7067 --- /dev/null +++ b/4.1.1/gentoo/08_all_gcc-4-pr27082.patch @@ -0,0 +1,30 @@ +2006-06-21 Richard Henderson <rth@redhat.com> + + PR target/26347 + PR target/27082 + * config/alpha/predicates.md (small_symbolic_operand): Deny weak + symbols. + (global_symbolic_operand): Allow weak symbols, even if local_p. + +--- branches/gcc-4_1-branch/gcc/config/alpha/predicates.md 2006/06/21 18:31:56 114861 ++++ branches/gcc-4_1-branch/gcc/config/alpha/predicates.md 2006/06/21 19:06:49 114862 +@@ -366,7 +366,8 @@ + + return (SYMBOL_REF_LOCAL_P (op) + && SYMBOL_REF_SMALL_P (op) +- && SYMBOL_REF_TLS_MODEL (op) == 0); ++ && !SYMBOL_REF_WEAK (op) ++ && !SYMBOL_REF_TLS_MODEL (op)); + }) + + ;; Return true if OP is a SYMBOL_REF or CONST referencing a variable +@@ -382,7 +383,8 @@ + if (GET_CODE (op) != SYMBOL_REF) + return 0; + +- return !SYMBOL_REF_LOCAL_P (op) && !SYMBOL_REF_TLS_MODEL (op); ++ return ((!SYMBOL_REF_LOCAL_P (op) || SYMBOL_REF_WEAK (op)) ++ && !SYMBOL_REF_TLS_MODEL (op)); + }) + + ;; Returns 1 if OP is a symbolic operand, i.e. a symbol_ref or a label_ref, |