[oe-commits] org.oe.dev gcc 4.2.1: Fix ICE that occurs with AVR32 gcc, especially when compiling OpenSSH.
gwossum commit
oe at amethyst.openembedded.net
Wed Mar 26 18:55:45 UTC 2008
gcc 4.2.1: Fix ICE that occurs with AVR32 gcc, especially when compiling OpenSSH.
Mainly just applies patch for gcc pr32889.
Since this ICE was first reported on the debian-gcc list
(see http://lists.debian.org/debian-gcc/2007/10/msg00306.html), and was
actually report for the HPPA, this patch might be desireable for other
architectures. This patch showed in mainline gcc 4.2.3
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32889 for mor info
Author: gwossum at acm.org
Branch: org.openembedded.dev
Revision: 1438a702b5d85e3ee6fa00b844a0c18cad10bdc9
ViewMTN: http://monotone.openembedded.org/revision/info/1438a702b5d85e3ee6fa00b844a0c18cad10bdc9
Files:
1
packages/gcc/gcc-4.2.1/gcc-pr32889.patch
packages/gcc/gcc-4.2.1.inc
packages/gcc/gcc-cross_4.2.1.bb
packages/gcc/gcc_4.2.1.bb
Diffs:
#
# mt diff -r3197ebcd4ab946d62de31dd9c786d0852f28288b -r1438a702b5d85e3ee6fa00b844a0c18cad10bdc9
#
#
#
# add_file "packages/gcc/gcc-4.2.1/gcc-pr32889.patch"
# content [eb45ab7284e91a16c80214a334307325bfd20674]
#
# patch "packages/gcc/gcc-4.2.1.inc"
# from [b0978a7a2aa142fbad18b0986a5ae5f04f9befc5]
# to [59197ed463d5f91c6d514c6e90a471ba0d2fd799]
#
# patch "packages/gcc/gcc-cross_4.2.1.bb"
# from [b9af3bf259095ef8cf6f60cd84b98a4e7e3a3354]
# to [3cf868edf7b8d5f366fdd72bcdd3af04261368fe]
#
# patch "packages/gcc/gcc_4.2.1.bb"
# from [55051148fc35d4a5bd8c74f59d021f395d5ac029]
# to [62da9aa64bad2c95a9e38612cc77cd891da0b2f0]
#
============================================================
--- packages/gcc/gcc-4.2.1/gcc-pr32889.patch eb45ab7284e91a16c80214a334307325bfd20674
+++ packages/gcc/gcc-4.2.1/gcc-pr32889.patch eb45ab7284e91a16c80214a334307325bfd20674
@@ -0,0 +1,57 @@
+diff -urNp --exclude '*.swp' --exclude DEV-PHASE gcc-orig/gcc/reload.c gcc/gcc/reload.c
+--- gcc-orig/gcc/reload.c 2008-02-18 09:59:15.000000000 -0800
++++ gcc/gcc/reload.c 2008-02-18 10:05:47.000000000 -0800
+@@ -4574,7 +4574,7 @@ find_reloads_toplev (rtx x, int opnum, e
+ x = mem;
+ i = find_reloads_address (GET_MODE (x), &x, XEXP (x, 0), &XEXP (x, 0),
+ opnum, type, ind_levels, insn);
+- if (x != mem)
++ if (!rtx_equal_p (x, mem))
+ push_reg_equiv_alt_mem (regno, x);
+ if (address_reloaded)
+ *address_reloaded = i;
+@@ -4789,7 +4789,7 @@ find_reloads_address (enum machine_mode
+ find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
+ &XEXP (tem, 0), opnum,
+ ADDR_TYPE (type), ind_levels, insn);
+- if (tem != orig)
++ if (!rtx_equal_p (tem, orig))
+ push_reg_equiv_alt_mem (regno, tem);
+ }
+ /* We can avoid a reload if the register's equivalent memory
+@@ -5589,7 +5589,7 @@ find_reloads_address_1 (enum machine_mod
+ RELOAD_OTHER,
+ ind_levels, insn);
+
+- if (tem != orig)
++ if (!rtx_equal_p (tem, orig))
+ push_reg_equiv_alt_mem (regno, tem);
+
+ /* Then reload the memory location into a base
+@@ -5656,7 +5656,7 @@ find_reloads_address_1 (enum machine_mod
+ find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
+ &XEXP (tem, 0), opnum, type,
+ ind_levels, insn);
+- if (tem != orig)
++ if (!rtx_equal_p (tem, orig))
+ push_reg_equiv_alt_mem (regno, tem);
+ /* Put this inside a new increment-expression. */
+ x = gen_rtx_fmt_e (GET_CODE (x), GET_MODE (x), tem);
+@@ -5848,7 +5848,7 @@ find_reloads_address_1 (enum machine_mod
+ find_reloads_address (GET_MODE (x), &x, XEXP (x, 0),
+ &XEXP (x, 0), opnum, ADDR_TYPE (type),
+ ind_levels, insn);
+- if (x != tem)
++ if (!rtx_equal_p (x, tem))
+ push_reg_equiv_alt_mem (regno, x);
+ }
+ }
+@@ -6076,7 +6076,7 @@ find_reloads_subreg_address (rtx x, int
+ XEXP (tem, 0), &XEXP (tem, 0),
+ opnum, type, ind_levels, insn);
+ /* ??? Do we need to handle nonzero offsets somehow? */
+- if (!offset && tem != orig)
++ if (!offset && !rtx_equal_p (tem, orig))
+ push_reg_equiv_alt_mem (regno, tem);
+
+ /* For some processors an address may be valid in the
============================================================
--- packages/gcc/gcc-4.2.1.inc b0978a7a2aa142fbad18b0986a5ae5f04f9befc5
+++ packages/gcc/gcc-4.2.1.inc 59197ed463d5f91c6d514c6e90a471ba0d2fd799
@@ -37,6 +37,7 @@ SRC_URI_avr32 = " http://ewi546.ewi.utwe
"
SRC_URI_avr32 = " http://ewi546.ewi.utwente.nl/tmp/avr32-gcc-4.2.1-atmel.1.0.3.tar.gz \
+ file://gcc-pr32889.patch;patch=1 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
============================================================
--- packages/gcc/gcc-cross_4.2.1.bb b9af3bf259095ef8cf6f60cd84b98a4e7e3a3354
+++ packages/gcc/gcc-cross_4.2.1.bb 3cf868edf7b8d5f366fdd72bcdd3af04261368fe
@@ -1,4 +1,4 @@
-PR = "r13"
+PR = "r14"
require gcc-${PV}.inc
require gcc-cross4.inc
============================================================
--- packages/gcc/gcc_4.2.1.bb 55051148fc35d4a5bd8c74f59d021f395d5ac029
+++ packages/gcc/gcc_4.2.1.bb 62da9aa64bad2c95a9e38612cc77cd891da0b2f0
@@ -1,4 +1,4 @@
-PR = "r9"
+PR = "r10"
require gcc-${PV}.inc
require gcc-configure-target.inc
More information about the Openembedded-commits
mailing list