diff -r 4edbcdb17e3d -r b150d6f590fc patches/gcc/4.3.0/500-pr34571.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc/4.3.0/500-pr34571.patch Mon Jul 28 21:08:01 2008 +0000 @@ -0,0 +1,35 @@ +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch +http://gcc.gnu.org/PR34571 + +2007-12-26 Rask Ingemann Lambertsen + + PR target/34571 + * config/alpha/alpha.c (alpha_cannot_force_const_mem): Use + symbolic_operand. + * varasm.c (output_constant_pool_1): Fix typo. + +diff -durN gcc-4.3.0.orig/gcc/config/alpha/alpha.c gcc-4.3.0/gcc/config/alpha/alpha.c +--- gcc-4.3.0.orig/gcc/config/alpha/alpha.c 2008-02-07 18:45:24.000000000 +0100 ++++ gcc-4.3.0/gcc/config/alpha/alpha.c 2008-06-10 14:45:13.000000000 +0200 +@@ -1113,8 +1113,7 @@ + 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 +diff -durN gcc-4.3.0.orig/gcc/varasm.c gcc-4.3.0/gcc/varasm.c +--- gcc-4.3.0.orig/gcc/varasm.c 2007-12-05 22:55:10.000000000 +0100 ++++ gcc-4.3.0/gcc/varasm.c 2008-06-10 14:45:13.000000000 +0200 +@@ -3710,7 +3710,7 @@ + /* 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);