diff options
author | 2003-02-22 07:52:32 +0000 | |
---|---|---|
committer | 2003-02-22 07:52:32 +0000 | |
commit | 7ee1958161cb0d5db64182b0242f38dd0a61e0e3 (patch) | |
tree | 261ef89144bdebd3c7737679344d3d51e91f5c56 /sys-devel | |
parent | add arm keyword (diff) | |
download | gentoo-2-7ee1958161cb0d5db64182b0242f38dd0a61e0e3.tar.gz gentoo-2-7ee1958161cb0d5db64182b0242f38dd0a61e0e3.tar.bz2 gentoo-2-7ee1958161cb0d5db64182b0242f38dd0a61e0e3.zip |
add arm patch to fix gcc from generating incorrect code
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gcc/ChangeLog | 5 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-arm-reload1-fix.patch | 21 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.2.2.ebuild | 7 |
3 files changed, 31 insertions, 2 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index 481a6e7cddbe..9d3613587259 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,9 +1,12 @@ # ChangeLog for sys-devel/gcc # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.67 2003/02/21 21:23:24 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.68 2003/02/22 07:52:32 zwelch Exp $ *gcc-3.2.2 (06 Feb 2003) + 21 Feb 2003; Zach Welch <zwelch@gentoo.org> gcc-3.2.2.ebuild : + Added patch for arm to fix incorrect code generation + 21 Feb 2003; Aron Griffis <agriffis@gentoo.org> gcc-3.2.2.ebuild : Mark 3.2.2 stable on alpha -- it's the best we've got so far! diff --git a/sys-devel/gcc/files/3.2.1/gcc32-arm-reload1-fix.patch b/sys-devel/gcc/files/3.2.1/gcc32-arm-reload1-fix.patch new file mode 100644 index 000000000000..0d5588e3c0f9 --- /dev/null +++ b/sys-devel/gcc/files/3.2.1/gcc32-arm-reload1-fix.patch @@ -0,0 +1,21 @@ +--- gcc-3.2.1/gcc/reload1.c.orig 2002-10-10 09:40:20.000000000 -0600 ++++ gcc-3.2.1/gcc/reload1.c 2003-01-30 12:15:05.000000000 -0700 +@@ -8674,7 +8674,9 @@ + ... (MEM (PLUS (REGZ) (REGY)))... . + + First, check that we have (set (REGX) (PLUS (REGX) (REGY))) +- and that we know all uses of REGX before it dies. */ ++ and that we know all uses of REGX before it dies. ++ Also, explicitly check that REGX != REGY; our life information ++ does not yet show whether REGY changes in this insn. */ + set = single_set (insn); + if (set != NULL_RTX + && GET_CODE (SET_DEST (set)) == REG +@@ -8684,6 +8686,7 @@ + && GET_CODE (SET_SRC (set)) == PLUS + && GET_CODE (XEXP (SET_SRC (set), 1)) == REG + && rtx_equal_p (XEXP (SET_SRC (set), 0), SET_DEST (set)) ++ && !rtx_equal_p (XEXP (SET_SRC (set), 1), SET_DEST (set)) + && last_label_ruid < reg_state[REGNO (SET_DEST (set))].use_ruid) + { + rtx reg = SET_DEST (set); diff --git a/sys-devel/gcc/gcc-3.2.2.ebuild b/sys-devel/gcc/gcc-3.2.2.ebuild index 97af68240f2f..2d5caab3e4b5 100644 --- a/sys-devel/gcc/gcc-3.2.2.ebuild +++ b/sys-devel/gcc/gcc-3.2.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2.2.ebuild,v 1.5 2003/02/21 21:23:24 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2.2.ebuild,v 1.6 2003/02/22 07:52:32 zwelch Exp $ IUSE="static nls bootstrap java build" @@ -157,6 +157,11 @@ src_unpack() { epatch ${FILESDIR}/3.2.1/gcc32-strip-dotdot.patch epatch ${FILESDIR}/3.2.1/gcc32-athlon-alignment.patch + # Patches from debian-arm + if [ "${ARCH}" = "arm" ]; then + epatch ${FILESDIR}/3.2.1/gcc32-arm-reload1-fix.patch + fi + # Install our pre generated manpages if we do not have perl ... # if [ ! -x /usr/bin/perl ] # then |