diff options
author | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2008-06-30 22:07:04 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2008-06-30 22:07:04 +0000 |
commit | d4f7af436d07c7bc4dd61ac45bff3414a1c12c74 (patch) | |
tree | 049f5903fea26153466932a6b271c49f10b75ba8 /packages/gcc/gcc-4.3.1/fix-ICE-in-arm_unwind_emit_set.diff | |
parent | 873ce28c40814edb45f534003450318c6e9b2650 (diff) | |
parent | 7339a83b4095582728045cee92aa215373607caf (diff) |
merge of '08199c52a592fe71e2675200cf618a439d710884'
and '3e5f187370604cf4577025ebc49d90ca52a72d4d'
Diffstat (limited to 'packages/gcc/gcc-4.3.1/fix-ICE-in-arm_unwind_emit_set.diff')
-rw-r--r-- | packages/gcc/gcc-4.3.1/fix-ICE-in-arm_unwind_emit_set.diff | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.3.1/fix-ICE-in-arm_unwind_emit_set.diff b/packages/gcc/gcc-4.3.1/fix-ICE-in-arm_unwind_emit_set.diff new file mode 100644 index 0000000000..b8a147d3d9 --- /dev/null +++ b/packages/gcc/gcc-4.3.1/fix-ICE-in-arm_unwind_emit_set.diff @@ -0,0 +1,28 @@ +--- /tmp/arm.c 2008-03-17 14:24:39.590464969 +0100 ++++ gcc-4.3.0/gcc/config/arm/arm.c 2008-03-17 14:12:21.614701982 +0100 +@@ -15959,6 +15959,9 @@ + int regno; + int lo_mask = mask & 0xFF; + int pushed_words = 0; ++ rtx e0; ++ rtx e1; ++ unsigned reg; + + gcc_assert (mask); + +@@ -16025,6 +16028,15 @@ + + return; + } ++ 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 + { + if (mask & 0xFF) |