diff options
author | 2003-07-02 12:52:01 +0000 | |
---|---|---|
committer | 2003-07-02 12:52:01 +0000 | |
commit | caf555119250e57f482cb1131412a9f356c961b8 (patch) | |
tree | bb94e0f96edd39158fd2f997ad2f79279bae8db8 /sys-devel | |
parent | unmasks and changelog fixes (diff) | |
download | gentoo-2-caf555119250e57f482cb1131412a9f356c961b8.tar.gz gentoo-2-caf555119250e57f482cb1131412a9f356c961b8.tar.bz2 gentoo-2-caf555119250e57f482cb1131412a9f356c961b8.zip |
G4 mergel fix added
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gcc/ChangeLog | 6 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.3/gcc-3.2.3-mergel-fix.patch | 55 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.2.3-r1.ebuild | 9 |
4 files changed, 70 insertions, 5 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index 7606ea66ac2d..7259aa8231f0 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,6 +1,10 @@ # 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.106 2003/07/02 01:33:19 lu_zero Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.107 2003/07/02 12:51:39 lu_zero Exp $ + + 02 Jul 2003; Luca Barbato <lu_zero@gentoo.org> gcc-3.2.3-r1.ebuild: + set added the mergel workaround, G4 users should reemerge or change the + altivec.h include by hand 01 Jul 2003; Luca Barbato <lu_zero@gentoo.org> gcc-3.2.3-r1.ebuild: set stable on ppc diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 800a60bf9d56..aad090ea23e6 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,4 +1,4 @@ -MD5 467af8b271737e67d5899ce031e10894 ChangeLog 23224 +MD5 c9c38ab44c8bcc688b1ff59108cb7bcf ChangeLog 23397 MD5 63530786ea42df2b5ca6e52999f586f2 gcc-2.95.3-r7.ebuild 5464 MD5 b47190af0648ab5deee8d2fdf337bd4e gcc-2.95.3-r8.ebuild 9250 MD5 feb010a6cb97e65c1d201a5796e92942 gcc-3.0.4-r6.ebuild 8766 @@ -6,7 +6,7 @@ MD5 789ae0db671f886a9d355cfcc6c561ec gcc-3.1-r8.ebuild 9814 MD5 2e044311e5c3f623625fde2864df0a81 gcc-3.1.1-r1.ebuild 9648 MD5 cc1be3b81467d78adbe37b1aa9f2e139 gcc-3.3.ebuild 16164 MD5 8b116192168fec85477e59d68d24ac44 gcc-3.2-r5.ebuild 12936 -MD5 4abf6034c983afb57e0ef4a216c74eee gcc-3.2.3-r1.ebuild 15895 +MD5 9374e9124f25ae28eb6e52a433308979 gcc-3.2.3-r1.ebuild 16011 MD5 857d79065f68cdc820201acbeb5c10ac gcc-3.2.1-r7.ebuild 14840 MD5 3d13dcdb8ae4a92e1809b031504feb59 gcc-3.2.2.ebuild 15327 MD5 25e5edcce8f471a375b397ccbd52a761 gcc-3.2.2-r2.ebuild 15119 @@ -90,3 +90,4 @@ MD5 c9c45dab64bab25e716859626ad7f94f files/3.2.3/gcc32-c++-classfn-member-templa MD5 494d917cc15c81c9cead4a8c17d4d00d files/3.2.3/gcc32-mklibgcc-serialize-crtfiles.patch 926 MD5 99db7c1a41babe024f0c6859c30a87ee files/3.2.3/gcc323-gentoo-branding.patch 2058 MD5 9c700e137dd3bbd20dff378114b34943 files/3.2.3/protector-3.2.2-6-PPC.patch 439 +MD5 c01343ed021c34a91b1016583d383798 files/3.2.3/gcc-3.2.3-mergel-fix.patch 2598 diff --git a/sys-devel/gcc/files/3.2.3/gcc-3.2.3-mergel-fix.patch b/sys-devel/gcc/files/3.2.3/gcc-3.2.3-mergel-fix.patch new file mode 100644 index 000000000000..a12a63f7e8dd --- /dev/null +++ b/sys-devel/gcc/files/3.2.3/gcc-3.2.3-mergel-fix.patch @@ -0,0 +1,55 @@ +diff -ruN gcc-3.2.3.orig/gcc/config/rs6000/altivec.h gcc-3.2.3/gcc/config/rs6000/altivec.h +--- gcc-3.2.3.orig/gcc/config/rs6000/altivec.h 2002-05-18 07:40:16.000000000 +0200 ++++ gcc-3.2.3/gcc/config/rs6000/altivec.h 2003-07-02 10:11:35.000000000 +0200 +@@ -8535,4 +8535,51 @@ + + #endif /* __cplusplus */ + ++/*lu_zero@gentoo.org mergel issue workaround*/ ++static inline vector signed char my_vmrglb (vector signed char const A, ++ vector signed char const B) ++{ ++ static const vector unsigned char lowbyte = { ++ 0x08, 0x18, 0x09, 0x19, 0x0a, 0x1a, 0x0b, 0x1b, ++ 0x0c, 0x1c, 0x0d, 0x1d, 0x0e, 0x1e, 0x0f, 0x1f ++ }; ++ return vec_perm (A, B, lowbyte); ++} ++ ++static inline vector signed short my_vmrglh (vector signed short const A, ++ vector signed short const B) ++{ ++ static const vector unsigned char lowhalf = { ++ 0x08, 0x09, 0x18, 0x19, 0x0a, 0x0b, 0x1a, 0x1b, ++ 0x0c, 0x0d, 0x1c, 0x1d, 0x0e, 0x0f, 0x1e, 0x1f ++ }; ++ return vec_perm (A, B, lowhalf); ++} ++ ++static inline vector signed int my_vmrglw (vector signed int const A, ++ vector signed int const B) ++{ ++ static const vector unsigned char lowword = { ++ 0x08, 0x09, 0x0a, 0x0b, 0x18, 0x19, 0x1a, 0x1b, ++ 0x0c, 0x0d, 0x0e, 0x0f, 0x1c, 0x1d, 0x1e, 0x1f ++ }; ++ return vec_perm (A, B, lowword); ++} ++#undef vec_mergel ++ ++#define vec_mergel(a1, a2) \ ++__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \ ++ ((vector signed char) my_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \ ++__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \ ++ ((vector unsigned char) my_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \ ++__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \ ++ ((vector signed short) my_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \ ++__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \ ++ ((vector unsigned short) my_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \ ++__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \ ++ ((vector float) my_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \ ++__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \ ++ ((vector signed int) my_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \ ++__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \ ++ ((vector unsigned int) my_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \ + #endif /* _ALTIVEC_H */ diff --git a/sys-devel/gcc/gcc-3.2.3-r1.ebuild b/sys-devel/gcc/gcc-3.2.3-r1.ebuild index ff3d12ff6f24..0d8825ff11e7 100644 --- a/sys-devel/gcc/gcc-3.2.3-r1.ebuild +++ b/sys-devel/gcc/gcc-3.2.3-r1.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.3-r1.ebuild,v 1.6 2003/07/02 01:33:19 lu_zero Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2.3-r1.ebuild,v 1.7 2003/07/02 12:51:40 lu_zero Exp $ IUSE="static nls bootstrap java build" @@ -213,7 +213,12 @@ src_unpack() { epatch ${FILESDIR}/3.2.1/gcc32-arm-disable-mathf.patch epatch ${FILESDIR}/3.2.1/gcc32-arm-reload1-fix.patch fi - + #ppc mergel miscompilation workaround + if use ppc + then + epatch ${FILESDIR}/3.2.3/gcc-3.2.3-mergel-fix.patch + fi + # Install our pre generated manpages if we do not have perl ... if [ ! -x /usr/bin/perl ] then |