diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-02-24 11:00:05 (GMT) |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-02-24 11:00:05 (GMT) |
commit | 1906cf93f86d8d66f45f90380a8d3da25c087ee5 (patch) | |
tree | 90916c99abe1f1ec26709ee420e6c349eda4670a /patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch | |
parent | 2609573aede4ce198b3462976725b25eb1637d2e (diff) |
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
Diffstat (limited to 'patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch')
-rw-r--r-- | patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch b/patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch new file mode 100644 index 0000000..2fc805b --- /dev/null +++ b/patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch @@ -0,0 +1,42 @@ +Message-ID: <33159.207.230.144.240.1093980498.squirrel@207.230.144.240> +Date: Tue, 31 Aug 2004 14:28:18 -0500 (CDT) +Subject: Crosstool 0.28-rc35 +From: "Jason Rothstein" <fdragon@fdragon.org> +To: dank@kegel.com + +Could you please add the patches in GCC PR 16430 to GCC 3.4.1? + +http://gcc.gnu.org/PR16430 + +These fix one of 2 current ICE conditions when building a sparc64 ada +compilers. + + +http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.271.4.16&r2=1.271.4.17 + +=================================================================== +RCS file: /cvs/gcc/gcc/gcc/config/sparc/sparc.c,v +retrieving revision 1.271.4.16 +retrieving revision 1.271.4.17 +diff -u -r1.271.4.16 -r1.271.4.17 +--- gcc/gcc/config/sparc/sparc.c 2004/07/08 13:00:56 1.271.4.16 ++++ gcc/gcc/config/sparc/sparc.c 2004/07/08 14:36:51 1.271.4.17 +@@ -5808,6 +5808,18 @@ + abort (); + + mode = mode_for_size (bytes * BITS_PER_UNIT, MODE_INT, 0); ++ ++ /* ??? We probably should have made the same ABI change in ++ 3.4.0 as the one we made for unions. The latter was ++ required by the SCD though, while the former is not ++ specified, so we favored compatibility and efficiency. ++ ++ Now we're stuck for aggregates larger than 16 bytes, ++ because OImode vanished in the meantime. Let's not ++ try to be unduly clever, and simply follow the ABI ++ for unions in that case. */ ++ if (mode == BLKmode) ++ return function_arg_union_value (bytes, mode, regbase); + } + else if (GET_MODE_CLASS (mode) == MODE_INT + && GET_MODE_SIZE (mode) < UNITS_PER_WORD) |