diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-01-17 19:18:16 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-01-17 19:18:16 +0000 |
commit | 78fb5a1b98f255b3032ca0aa8d5102c9ddc5c083 (patch) | |
tree | 7477fe662541cb2ff193b12ce070f723fe25904c /toolchain/gcc | |
parent | 55a7b0a6e17ca6c0ad35f95b868944b26e51e70d (diff) | |
download | upstream-78fb5a1b98f255b3032ca0aa8d5102c9ddc5c083.tar.gz upstream-78fb5a1b98f255b3032ca0aa8d5102c9ddc5c083.tar.bz2 upstream-78fb5a1b98f255b3032ca0aa8d5102c9ddc5c083.zip |
add gcc eabi patches from #3988
SVN-Revision: 14072
Diffstat (limited to 'toolchain/gcc')
-rw-r--r-- | toolchain/gcc/patches/4.1.2/010-pr34130.patch | 16 | ||||
-rw-r--r-- | toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch | 18 |
2 files changed, 34 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.1.2/010-pr34130.patch b/toolchain/gcc/patches/4.1.2/010-pr34130.patch new file mode 100644 index 0000000000..415335f4b4 --- /dev/null +++ b/toolchain/gcc/patches/4.1.2/010-pr34130.patch @@ -0,0 +1,16 @@ +Index: gcc-4.1.2/gcc/fold-const.c +=================================================================== +--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100 ++++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100 +@@ -5339,7 +5339,10 @@ + } + break; + } +- /* FALLTHROUGH */ ++ /* If the constant is negative, we cannot simplify this. */ ++ if (tree_int_cst_sgn (c) == -1) ++ break; ++ /* FALLTHROUGH */ + case NEGATE_EXPR: + if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0) + return fold_build1 (tcode, ctype, fold_convert (ctype, t1)); diff --git a/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch b/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch new file mode 100644 index 0000000000..568e15abff --- /dev/null +++ b/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch @@ -0,0 +1,18 @@ +--- trunk/gcc/config/arm/arm.c 2006/09/19 13:18:27 117055 ++++ trunk/gcc/config/arm/arm.c 2006/09/19 13:19:24 117056 +@@ -15415,6 +15415,15 @@ + /* Move from sp to reg. */ + asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0)); + } ++ else if (GET_CODE (e1) == PLUS ++ && GET_CODE (XEXP (e1, 0)) == REG ++ && REGNO (XEXP (e1, 0)) == SP_REGNUM ++ && GET_CODE (XEXP (e1, 1)) == CONST_INT) ++ { ++ /* Set reg to offset from sp. */ ++ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n", ++ REGNO (e0), (int)INTVAL(XEXP (e1, 1))); ++ } + else + abort (); + break; |