diff options
Diffstat (limited to 'packages/gcc/gcc-4.3.0/debian/pr34571.dpatch')
-rw-r--r-- | packages/gcc/gcc-4.3.0/debian/pr34571.dpatch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.3.0/debian/pr34571.dpatch b/packages/gcc/gcc-4.3.0/debian/pr34571.dpatch new file mode 100644 index 0000000000..d0a654a3cc --- /dev/null +++ b/packages/gcc/gcc-4.3.0/debian/pr34571.dpatch @@ -0,0 +1,63 @@ +#! /bin/sh -e + +# DP: Proposed patch for PR target/34571 (alpha) + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2007-12-26 Rask Ingemann Lambertsen <rask@sygehus.dk> + + PR target/34571 + * config/alpha/alpha.c (alpha_cannot_force_const_mem): Use + symbolic_operand. + * varasm.c (output_constant_pool_1): Fix typo. + +Index: gcc/config/alpha/alpha.c +=================================================================== +--- gcc/config/alpha/alpha.c (revision 131132) ++++ gcc/config/alpha/alpha.c (working copy) +@@ -1112,10 +1112,9 @@ alpha_legitimize_address (rtx x, rtx scr + + static bool + alpha_cannot_force_const_mem (rtx x) + { +- enum rtx_code code = GET_CODE (x); +- return code == SYMBOL_REF || code == LABEL_REF || code == CONST; ++ return symbolic_operand (x, GET_MODE (x)); + } + + /* We do not allow indirect calls to be optimized into sibling calls, nor + can we allow a call to a function with a different GP to be optimized +Index: gcc/varasm.c +=================================================================== +--- gcc/varasm.c (revision 131132) ++++ gcc/varasm.c (working copy) +@@ -3709,9 +3709,9 @@ output_constant_pool_1 (struct constant_ + tmp = XEXP (XEXP (x, 0), 0); + /* FALLTHRU */ + + case LABEL_REF: +- tmp = XEXP (x, 0); ++ tmp = XEXP (tmp, 0); + gcc_assert (!INSN_DELETED_P (tmp)); + gcc_assert (!NOTE_P (tmp) + || NOTE_KIND (tmp) != NOTE_INSN_DELETED); + break; |