summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2003-07-02 12:52:01 +0000
committerLuca Barbato <lu_zero@gentoo.org>2003-07-02 12:52:01 +0000
commitcaf555119250e57f482cb1131412a9f356c961b8 (patch)
treebb94e0f96edd39158fd2f997ad2f79279bae8db8 /sys-devel
parentunmasks and changelog fixes (diff)
downloadgentoo-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/ChangeLog6
-rw-r--r--sys-devel/gcc/Manifest5
-rw-r--r--sys-devel/gcc/files/3.2.3/gcc-3.2.3-mergel-fix.patch55
-rw-r--r--sys-devel/gcc/gcc-3.2.3-r1.ebuild9
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