diff options
author | Rob Holland <tigger@gentoo.org> | 2004-09-19 21:20:02 +0000 |
---|---|---|
committer | Rob Holland <tigger@gentoo.org> | 2004-09-19 21:20:02 +0000 |
commit | 473f6cf2a7072a4c5a3d24d9015d58471a61979e (patch) | |
tree | 1c06d79bad42edd472f217724e1b1e073b623729 /sys-devel/gcc | |
parent | fix stack issues #64117 (Manifest recommit) (diff) | |
download | gentoo-2-473f6cf2a7072a4c5a3d24d9015d58471a61979e.tar.gz gentoo-2-473f6cf2a7072a4c5a3d24d9015d58471a61979e.tar.bz2 gentoo-2-473f6cf2a7072a4c5a3d24d9015d58471a61979e.zip |
added GCC_SPEC environment variable support
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r-- | sys-devel/gcc/ChangeLog | 1668 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 10 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.3.4/gcc-3.3.4-spec-env.patch | 24 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.4.1/gcc-3.4.1-spec-env.patch | 23 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.3.4-r2 | 6 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.4.1-r3 | 6 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.3.4-r2.ebuild | 831 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.4.1-r3.ebuild | 1002 |
8 files changed, 1907 insertions, 1663 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index e06fcbc20604..27eea9bc8b8d 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,1664 +1,12 @@ # ChangeLog for sys-devel/gcc -# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.326 2004/09/15 17:57:28 lv Exp $ +# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.327 2004/09/19 21:20:02 tigger Exp $ - 14 Sep 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.4.2-r1.ebuild: - Marked -ppc +*gcc-3.4.1-r3 (19 Sep 2004) - 13 Sep 2004; Travis Tilley <lv@gentoo.org> +files/gcc-spec-env.patch, - gcc-3.4.2-r1.ebuild: - added a patch from Rob "I own lv" Holland that allows you to switch specs - files based on an environment variable (GCC_SPECS) and made gcc build both a - vanilla and hardened specs file by default. Eventually this will mean being - able to switch between gcc and hardened gcc on the fly. Since neither - gcc-config nor portage support this yet, I'm not bumping the revision number. + 19 Sep 2004; Rob Holland <tigger@gentoo.org> + +files/3.3.4/gcc-3.3.4-spec-env.patch, + +files/3.4.1/gcc-3.4.1-spec-env.patch, +gcc-3.3.4-r2.ebuild, + +gcc-3.4.1-r3.ebuild: + added GCC_SPEC environment variable support -*gcc-3.4.2-r1 (12 Sep 2004) - - 12 Sep 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.2-r1.ebuild, - -gcc-3.4.2.ebuild: - re-added uclibc patches and masked for testing - - 10 Sep 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.2.ebuild: - updated ssp patch to 3.4.1-1. this version includes it's own documentation and - will define _SSP_ when stack protection code is being built. - - 08 Sep 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.2.ebuild: - made gcc default to using multilib on supported archs. add nomultilib to USE - to disable. - -*gcc-3.4.2 (07 Sep 2004) - - 07 Sep 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.2.ebuild, - -gcc-3.4.2_pre20040902.ebuild: - version bump. disabled building libjava multilib. this release is masked until - the uclibc patches are done, bootstrapping is tested, and the toolchain.eclass - changes are tested on ppc and ppc64. - - 06 Sep 2004; Ciaran McCreesh <ciaranm@gentoo.org> gcc-3.4.1-r2.ebuild, - gcc-3.4.1.ebuild, gcc-3.4.2_pre20040902.ebuild: - Switch to use epause and ebeep, bug #62950 - - 06 Sep 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.4.1-r2.ebuild: - Marked ppc - -*gcc-3.4.2_pre20040902 (05 Sep 2004) - - 05 Sep 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.2_pre20040902.ebuild: - - added 3.4.2_pre20040902 for testing and working on the new toolchain.eclass - - updated the gcc symbol visibility patch - - removed uclibc patches temporarily, they break every time I update gcc - - added a hack to make gcj not build multilib - - made libgcc_s.so install to /lib{,32,64} - - added a potential cross-compile fix that should run the correct target - when CCHOST != CHOST - - added java gui backport - - 31 Aug 2004; Gustavo Zacarias <gustavoz@gentoo.org> gcc-3.3.4-r1.ebuild: - Stable on sparc - - 28 Aug 2004; <solar@gentoo.org> gcc-3.4.1-r2.ebuild, gcc-3.4.1.ebuild: - We don't want a PDEPEND of libstd++v3 on uclibc. - - 26 Aug 2004; Jon Portnoy <avenj@gentoo.org> gcc-3.3.4-r1.ebuild : - Stable on x86 - - 26 Aug 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.4-r1.ebuild: - stable on amd64 - - 26 Aug 2004; <solar@gentoo.org> -gcc-3.3.2-r6.ebuild, -gcc-3.3.3-r1.ebuild, - -gcc-3.3.4.ebuild, -gcc-3.4.0-r6.ebuild: - pruned a few more ebuilds - - 25 Aug 2004; <solar@gentoo.org> -gcc-3.3-r1.ebuild, -gcc-3.3.3-r4.ebuild, - -gcc-3.3.3_pre20040130.ebuild, -gcc-3.3.3_pre20040215.ebuild, - -gcc-3.3.3_pre20040322.ebuild, gcc-3.3.4-r1.ebuild, gcc-3.4.1-r2.ebuild: - removed old/stale ebuilds, marked gcc-3.3.4-r1 stable on arm, keep gcc from - scanning for guard symbols when environment variable is set - - 25 Aug 2004; Mike Frysinger <vapier@gentoo.org> gcc-2.95.3-r8.ebuild, - gcc-3.2.3-r4.ebuild, gcc-3.3-r1.ebuild, gcc-3.3.1-r5.ebuild, - gcc-3.3.2-r1.ebuild, gcc-3.3.2-r2.ebuild, gcc-3.3.2-r3.ebuild, - gcc-3.3.2-r4.ebuild, gcc-3.3.2-r5.ebuild, gcc-3.3.2-r6.ebuild, - gcc-3.3.2-r7.ebuild, gcc-3.3.2.ebuild, gcc-3.3.3-r1.ebuild, - gcc-3.3.3-r3.ebuild, gcc-3.3.3-r4.ebuild, gcc-3.3.3-r5.ebuild, - gcc-3.3.3-r6.ebuild, gcc-3.3.3.ebuild, gcc-3.3.3_pre20040130.ebuild, - gcc-3.3.3_pre20040215.ebuild, gcc-3.3.3_pre20040322.ebuild, - gcc-3.3.3_pre20040408-r1.ebuild, gcc-3.3.3_pre20040426.ebuild, - gcc-3.3.4-r1.ebuild, gcc-3.3.4.ebuild, gcc-3.3.ebuild, gcc-3.4.0-r6.ebuild, - gcc-3.4.1-r2.ebuild, gcc-3.4.1.ebuild: - Rip out $COMPILER since it isnt used in such a way that matters. - - 20 Aug 2004; Gustavo Zacarias <gustavoz@gentoo.org> gcc-3.3.4-r1.ebuild: - Enabled -O2 for sparc: safe and good - - 17 Aug 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.1-r2.ebuild, - gcc-3.4.1.ebuild: - made gcc depend on media-libs/libart_lgpl when gcj is in USE - - 17 Aug 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.4.1-r2.ebuild: - Marked ~ppc - - 14 Aug 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r6.ebuild, - gcc-3.4.1-r2.ebuild, gcc-3.4.1.ebuild: - -mcpu is deprecated on amd64 and x86 - - 14 Aug 2004; Ilya A. Volynets-Evenbach <iluxa@gentoo.org> - files/3.4.1/gcc-3.4.1-mips-n32only.patch, - files/3.4.1/gcc-3.4.1-mips-n64only.patch, gcc-3.4.1-r2.ebuild: - Make sure all gcc libraries go into version-specific dir on n32-only and - n64-only systems - - 13 Aug 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.1-r2.ebuild: - stable on amd64 :) - - 11 Aug 2004; Gustavo Zacarias <gustavoz@gentoo.org> gcc-3.3.4-r1.ebuild: - Keyworded ~sparc - - 11 Aug 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.1/gcc-3.4.1-glibc-is-native.patch, gcc-3.4.1-r2.ebuild, - gcc-3.4.1.ebuild: - added a fix for bug 55108, where enabling multilib caused gcc to fail - compiling with "Link tests are not allowed after GCC_NO_EXECUTABLES" - - 08 Aug 2004; Tom Martin <slarti@gentoo.org> gcc-3.3.3-r3.ebuild, - gcc-3.3.3-r4.ebuild, gcc-3.3.3-r5.ebuild, gcc-3.3.3-r6.ebuild, - gcc-3.3.4-r1.ebuild, gcc-3.3.4.ebuild, gcc-3.4.0-r6.ebuild, - gcc-3.4.1-r2.ebuild, gcc-3.4.1.ebuild: - Typo in DESCRIPTION: extentions -> extensions. Bug 59717. - - 06 Aug 2004; Mike Frysinger <vapier@gentoo.org> - +files/pro-police-docs.patch, gcc-3.3.4-r1.ebuild, gcc-3.4.0-r6.ebuild, - gcc-3.4.1-r2.ebuild, gcc-3.4.1.ebuild: - Add the pro-police doc patch. - - 05 Aug 2004; Ilya A. Volynets-Evenbach <iluxa@gentoo.org> - gcc-3.4.1-r2.ebuild: - Disable PDEPEND on libstdc++-v3 for n32/n64 systems. gcc-3.3 didn't work on - them ever. Not to mention that libstdc++-v3 simply doesn't build as n32. - Also add $ABI variable. It should be set in profile for multi-abi capable arches - -*gcc-3.4.1-r2 (03 Aug 2004) - - 03 Aug 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.1/gcc-3.4.1-r2-gentoo-branding.patch, -gcc-3.4.1-r1.ebuild, - +gcc-3.4.1-r2.ebuild, gcc-3.4.1.ebuild: - new snapshot, among other things it contains an enum fix that's needed to work - on porting openoffice to gcc 3.4. removed the old experimental ebuild and - keyworded 3.4.1 stable on ppc64 since it also has the ICE fix for mozilla. - updated piepatch version to 8.7.6.5 - - 03 Aug 2004; Tom Gall <tgall@gentoo.org> gcc-3.4.1-r1.ebuild: - stable on ppc64 - - 29 Jul 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.4-r1.ebuild: - adding hardened dependency for sparc, still not keyworded, but yet to come - - 26 Jul 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.1/gcc341-ppc64-mozilla-ICE-fix.patch, gcc-3.4.1-r1.ebuild, - gcc-3.4.1.ebuild: - added a patch that should fix a ppc64 specific internal compiler error that - shows up when compiling mozilla - - 25 Jul 2004; Daniel Goller <morfic@gentoo.org> gcc-3.4.1.ebuild: - Marking ~x86 for gcc 3.4 profile - - 25 Jul 2004; Guy Martin <gmsoft@gentoo.org> gcc-3.4.1.ebuild: - Marked -hppa. It b0rks glibc and co. - -*gcc-3.3.3-r1 (22 Jul 2004) - - 22 Jul 2004; Martin Schlemmer <azarah@gentoo.org> - +files/3.3.3/gcc333-pr15693.patch, +gcc-3.3.3-r1.ebuild: - Bug #57182. This is sparc only fixup. - - 22 Jul 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.4-r1.ebuild: - fire up hardened changes for sparc and hppa, though still leaving keyworded on - sparc - - 22 Jul 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.4.1.ebuild: - added hppa logic and note for glibc - - 20 Jul 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r6.ebuild: - added hardened auto PIE SSP for sparc - - 19 Jul 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r6.ebuild, - gcc-3.4.1-r1.ebuild, gcc-3.4.1.ebuild: - changed use of gtk2 USE flag to gtk - - 14 Jul 2004; <solar@gentoo.org> gcc-3.3.4-r1.ebuild: - gcc-3.3.4-r1 marked -hppa ~x86 ~amd64 ~mips ~arm, ~sparc desired - - 13 Jul 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.1.ebuild: - marking 3.4.1 stable on amd64. fixes bug 56864 - - 13 Jul 2004; Travis Tilley <lv@gentoo.org> files/awk/fixlafiles.awk: - added Martin Schlemmer's new fixlafiles.awk with support for gcc 3.4 lib paths - - 11 Jul 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r6.ebuild, - gcc-3.4.1-r1.ebuild, gcc-3.4.1.ebuild: - xlib peers are deprecated in libjava 3.4.0, switching gcc 3.4 ebuilds to gtk2 - -*gcc-3.4.1-r1 (10 Jul 2004) - - 10 Jul 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.1-r1.ebuild: - now that i've tested it a bit locally, i'm committing a -* masked ebuild with - the GCC symbol visibility patch - (http://www.nedprod.com/programs/gccvisibility.html) for further testing by - hardened + uclibc devs. it should eventually lead to speed increases for - hardened, smaller libs for uclibc, and improved load times for everybody. this - ebuild also has a few readability cleanups for my own personal sanity. - - 07 Jul 2004; Joshua Kinard <kumba@gentoo.org> gcc-3.3.3-r6.ebuild: - Marked stable on mips. - -*gcc-3.4.1 (05 Jul 2004) - - 05 Jul 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.1/gcc-3.4.1-gentoo-branding.patch, +gcc-3.4.1.ebuild: - new version. please see http://gcc.gnu.org/gcc-3.4/changes.html#3.4.1 for more - information. - -*gcc-3.3.4-r1 (04 Jul 2004) - - 04 Jul 2004; Martin Schlemmer <azarah@gentoo.org> +gcc-3.3.4-r1.ebuild: - Update from 3_3-rhl branch. Add PIE support back. - - 02 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> gcc-2.95.3-r8.ebuild, - gcc-3.0.4-r6.ebuild, gcc-3.1.1-r2.ebuild, gcc-3.3-r1.ebuild, - gcc-3.3.1-r5.ebuild, gcc-3.3.2-r1.ebuild, gcc-3.3.2-r2.ebuild, - gcc-3.3.2-r4.ebuild, gcc-3.3.2-r5.ebuild, gcc-3.3.2-r6.ebuild, - gcc-3.3.2-r7.ebuild, gcc-3.3.2.ebuild, gcc-3.3.3-r3.ebuild, - gcc-3.3.3-r4.ebuild, gcc-3.3.3-r5.ebuild, gcc-3.3.3-r6.ebuild, - gcc-3.3.3.ebuild, gcc-3.3.3_pre20040130.ebuild, - gcc-3.3.3_pre20040215.ebuild, gcc-3.3.3_pre20040322.ebuild, - gcc-3.3.3_pre20040408-r1.ebuild, gcc-3.3.3_pre20040426.ebuild, - gcc-3.3.4.ebuild, gcc-3.3.ebuild, gcc-3.4.0-r6.ebuild: - virtual/glibc -> virtual/libc - - 29 Jun 2004; <solar@gentoo.org> gcc-3.3.3-r6.ebuild, gcc-3.3.4.ebuild, - gcc-3.4.0-r6.ebuild, files/3.3.3/gcc-3.3.3-norelro.patch: - add norelro patch for uclibc - - 28 Jun 2004; <solar@gentoo.org> gcc-3.4.0-r6.ebuild: - fwdport uclibc updates from 3.3.4 - - 27 Jun 2004; Luca Barbato <lu_zero@gentoo.org> : - Minor ppc/altivec related fix - - 24 Jun 2004; <solar@gentoo.org> gcc-3.3.3-r6.ebuild: - backport uclibc updates from 3.3.4 - - 24 Jun 2004; Aron Griffis <agriffis@gentoo.org> gcc-3.3-r1.ebuild, - gcc-3.3.2-r1.ebuild, gcc-3.3.2-r2.ebuild, gcc-3.3.2-r3.ebuild, - gcc-3.3.2-r4.ebuild, gcc-3.3.2-r5.ebuild, gcc-3.3.2-r6.ebuild, - gcc-3.3.2-r7.ebuild, gcc-3.3.2.ebuild, gcc-3.3.3-r3.ebuild, - gcc-3.3.3-r4.ebuild, gcc-3.3.3-r5.ebuild, gcc-3.3.3-r6.ebuild, - gcc-3.3.3.ebuild, gcc-3.3.3_pre20040130.ebuild, - gcc-3.3.3_pre20040215.ebuild, gcc-3.3.3_pre20040322.ebuild, - gcc-3.3.3_pre20040408-r1.ebuild, gcc-3.3.3_pre20040426.ebuild, - gcc-3.3.4.ebuild, gcc-3.3.ebuild, gcc-3.4.0-r6.ebuild: - Fix use invocation and regenerate broken manifest - -*gcc-3.3.4 (20 Jun 2004) - - 20 Jun 2004; Martin Schlemmer <azarah@gentoo.org> - +files/3.3.4/gcc334-gentoo-branding.patch, +gcc-3.3.4.ebuild: - Update version. Add uclibc changes as from Ned Ludd (not sure who they from). - PIE support is for the moment disabled, and thus the '-*' in KEYWORDS. - Closes bug #54321. - - 09 Jun 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r6.ebuild: - removing the hardened PIE SSP logic for sparc - it breaks glibc compiling with - a hardened gcc and until this is sorted out we cannot support it on sparc - anyway - - 08 Jun 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.3-r6.ebuild: - stable on amd64 - - 08 Jun 2004; <solar@gentoo.org> gcc-3.3.3-r6.ebuild: - gcc-3.3.3-r6.ebuild marked stable for upcoming release - - 08 Jun 2004; Brandon Hale <tseng@gentoo.org> gcc-3.3.3-r6.ebuild: - Start wider testing for 3.3.3-r6, marked ~x86. - -*gcc-3.1.1-r2 (07 Jun 2004) - - 07 Jun 2004; Mike Frysinger <vapier@gentoo.org> -gcc-3.1.1-r1.ebuild, - +gcc-3.1.1-r2.ebuild: - Fix long standing env bug #30849 and use epatch instead of patch. - - 05 Jun 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/reiser4-why-do-you-hate-me.patch, gcc-3.4.0-r6.ebuild: - added fix for compiling on reiser4 filesystems - - 04 Jun 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch, - +files/3.4.0/gcc34-ice-hack.patch, gcc-3.4.0-r6.ebuild: - updated the ice hack patch and added a stack protector fix for cc1 - - 04 Jun 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r6.ebuild: - stable on amd64 - - 04 Jun 2004; Brandon Hale <tseng@gentoo.org> - +files/3.3.3/gcc-3.3.3-libiberty-pic.patch, gcc-3.3.3-r6.ebuild: - Readd missing libiberty-pic patch for gcc-3.3.3-r6 - - 03 Jun 2004; Tom Gall <tgall@gentoo.org> gcc-3.4.0-r6.ebuild: - stable on ppc64 - - 02 Jun 2004; Pieter Van den Abeele <pvdabeel@gentoo.org> gcc-3.3.3_pre20040408-r1.ebuild: - Masked stable on ppc - - 02 Jun 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r6.ebuild: - lib64 fix for libgcc_s on ppc64 - - 02 Jun 2004; Joshua Kinard <kumba@gentoo.org> gcc-3.4.0-r6.ebuild: - Added ~mips back to KEYWORDS. - - 02 Jun 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc34-ia64-lib64.patch, +files/3.4.0/gcc34-multi32-hack.patch, - +files/3.4.0/gcc34-ppc64-m32-m64-multilib-only.patch, gcc-3.4.0-r6.ebuild: - added some last minute multilib fixes for ppc64, ia64, and sparc - -*gcc-3.4.0-r6 (01 Jun 2004) - - 01 Jun 2004; Travis Tilley <lv@gentoo.org> - -files/3.4.0/gcc-3.4-libiberty-pic.patch, - -files/3.4.0/gcc-3.4.0-mips-pcrel.diff, - -files/3.4.0/gcc-3.4.0-r3-gentoo-branding.patch, - +files/3.4.0/gcc-3.4.0-r6-gentoo-branding.patch, - -files/3.4.0/gcc34-ppc64-typo-fix.patch, -gcc-3.4.0-r4.ebuild, - -gcc-3.4.0-r5.ebuild, +gcc-3.4.0-r6.ebuild: - branch update. this release should fix most of the unit-at-a-time problems - people have been seeing. - - 30 May 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc34-ppc64-typo-fix.patch, gcc-3.4.0-r5.ebuild: - added a typo fix patch for ppc64 - - 30 May 2004; Ilya A. Volynets-Evenbach <iluxa@gentoo.org> - +files/3.4.0/gcc-3.4.0-mips-pcrel.diff, gcc-3.4.0-r5.ebuild: - Add n32 & n64 use flags - Add n32/n64 patches and build options - Allow multilibs on all arches - - 28 May 2004; Tom Gall <tgall@gentoo.org> gcc-3.3.3_pre20040408-r1.ebuild: - marked as stable for ppc64 - - 27 May 2004; Aron Griffis <agriffis@gentoo.org> gcc-3.3.2-r5.ebuild: - Fix bug 52147: gcc-3.3.2-r5 used to build on ia64, now it doesn't. Demote - stable version to 3.3.2-r2, which still builds. - -*gcc-3.3.3-r6 (27 May 2004) - - 27 May 2004; Alexander Gabert <pappy@gentoo.org> - +files/3.3.3/gcc333-ssp-3.3.2_1-fixup.patch, +gcc-3.3.3-r6.ebuild: - added preliminary gcc 3.3.3 -r6 version, this one will fix the problems with - bug 51386, removing guard from libgcc even UNResolved symbols - -*gcc-3.4.0-r5 (26 May 2004) - - 26 May 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.0-r5.ebuild: - uclibc related updates and fixes from Peter Mazinger - - 26 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r4.ebuild: - adding ~amd64 keyword. this shouldnt have an effect on most users, as gcc 3.4 - is profile masked. please switch to the gcc34-amd64-2004.1 profile if you want - to install this package on amd64. - - 21 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r4.ebuild: - updated piepatches from Peter Mazinger to 8.7.6.2. the 3.4.0 version should - now be as complete as the 3.3.x version. Thanks Peter, you rock! :) - - 20 May 2004; <solar@gentoo.org> gcc-3.3.3-r5.ebuild: - marked gcc-3.3.3-r5 -* -hppa arm ~x86 ~sparc ~amd64 - -*gcc-3.4.0-r4 (21 May 2004) - - 21 May 2004; Travis Tilley <lv@gentoo.org> -gcc-3.4.0-r3.ebuild, - +gcc-3.4.0-r4.ebuild: - 3.4.0-r3 was horribly broken, so i am doing a revision bump to encourage all - users who installed this version to upgrade. i have also removed backwards - compatibility support because it was horribly broken on a few archs other than - x86 and amd64. please keep gcc 3.3.x or 3.2.x around if you need the older - libstdc++ for running binary-only c++ apps. - -*gcc-3.4.0-r3 (20 May 2004) - - 20 May 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc-3.4-libiberty-pic.patch, - -files/3.4.0/gcc-3.4.0-fno-for-scope.patch, - -files/3.4.0/gcc-3.4.0-gentoo-branding.patch, - +files/3.4.0/gcc-3.4.0-r3-gentoo-branding.patch, -gcc-3.4.0-r1.ebuild, - -gcc-3.4.0-r2.ebuild, +gcc-3.4.0-r3.ebuild: - updated gcc 3.4 to a 20040519 snapshot and removed the fno-for-scope and - stack-size patches, as they"ve been merged upstream. updated to the latest - piessp patches from Peter Mazinger, only with the arm patches temporarily - disabled. removed SSP exclusion patch... it should no longer be needed. amd64 - users beware: this release breaks the ABI slightly, and has a small chance of - causing problems. for more information on this ABI break, see - http://gcc.gnu.org/ml/gcc/2004-05/msg00911.html - - 17 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.3-r5.ebuild: - added amd64 to the (short) list of archs that can enable automatic PIE + SSP - -*gcc-3.3.3-r5 (14 May 2004) - - 14 May 2004; Alexander Gabert <pappy@gentoo.org> +gcc-3.3.3-r5.ebuild: - added preliminary version for gcc-3.3.3-r5 with latest Mazinger patches and - sparc define fix, testing proceeds on intel and sparc - - 13 May 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc-3.4.0-move-propolice-into-glibc.patch, gcc-3.4.0-r2.ebuild: - it seems that the new SSP doesnt honor _LIBC_PROVIDES_SSP_, so i've included a - patch that adds this functionality back in - -*gcc-3.4.0-r2 (12 May 2004) - - 12 May 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.0-r2.ebuild, - -gcc-3.4.0.ebuild: - added SSP support and updated the piessp patches (mostly) to 8.7.4. note that - the piessp patches arent yet as complete as the 3.3.3 version on archs other - than x86 and amd64. - - 08 May 2004; <solar@gentoo.org> gcc-3.3.3-r4.ebuild: - patch updates - - 06 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.3-r3.ebuild, - gcc-3.3.3.ebuild, gcc-3.4.0-r1.ebuild: - made the compatibility check look for the actual .so instead of just the - versioned directory that contains it because there may or may not be any - shared objects to back up... The PPC-specific gcc 3.3.3 ebuilds for some - reason install libstdc++ directly to /usr/lib/ on PPC64, so this change should - allow gcc 3.4.0-r1 to install on this arch without tar failing. - - 06 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.3-r3.ebuild, - gcc-3.3.3.ebuild, gcc-3.4.0-r1.ebuild: - copied the sed magick from 3.3.3-r4 that should fix building gcc with binutils - 2.15.90.0.3 and then downgrading to a previous version. it disables the - --as-needed support that only gets compiled in when using binutils 2.15.90.0.2 - or higher (proper support of which has been moved back to a gcc 3.5 target) - - 06 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0-r1.ebuild: - added gcc333_pre20040408-stack-size.patch for testing on ppc64 - - 04 May 2004; Ilya A. Volynets-Evenbaks <iluxa@gentoo.org> gcc-3.4.0.ebuild: - gcc reqires glibc-2.3.3_pre20040420, primarily because of bunch of missing - sgidefs.h includes, patch for which is included there. - -*gcc-3.4.0-r1 (04 May 2004) - - 04 May 2004; Travis Tilley <lv@gentoo.org> +gcc-3.4.0-r1.ebuild: - added a compatibility function that backs up your older libstdc++ so that - binary applications wont break if/when you uninstall your old compiler - - 04 May 2004; <solar@gentoo.org> files/3.3.3/gcc-uclibc-3.3-loop.patch: - added gcc-uclibc-3.3-loop.patch - - 04 May 2004; <solar@gentoo.org> gcc-3.3.3-r4.ebuild: - fixed typo's and limit USE hardened piessp by default to x86 only for now - - 03 May 2004; <solar@gentoo.org> gcc-3.3.3-r4.ebuild, - files/3.3.3/gcc-3.3.3-uclibc-add-ssp.patch: - disable -as-needed from being compiled into gcc specs natively when using - >=sys-devel/binutils-2.15.90.0.3. This is done to keep our gcc backwards - compatible with binutils. misc pie updates for misc arches - -*gcc-3.3.3-r4 (02 May 2004) - - 02 May 2004; <solar@gentoo.org> gcc-3.3.3-r3, gcc-3.3.3-r4.ebuild: - ARM is having issues with static linking as the spec file calls for - crtbeginT.o vs crtbeginS.o so we disable improved handling patch till we can - take a closer look. FIXME - - 01 May 2004; <solar@gentoo.org> gcc-3.3.3-r4.ebuild: - piessp version 8.6.4 from Peter S. Mazinger. Additional patches added redhat - ice-hack updated and more uclibc updates - - 30 Apr 2004; Tom Gall <tgall@gentoo.org> gcc-3.3.3_pre20040322.ebuild, - gcc-3.3.3_pre20040408-r1.ebuild, gcc-3.3.3_pre20040426.ebuild: - mark these as ~ppc64. DO NOT MARK stable for ppc64 without talking to me please. - - 29 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.3.3-r3.ebuild, - +files/3.3.3/gcc333-debian-arm-getoff.patch, - +files/3.3.3/gcc333-debian-arm-ldm.patch: - Take two patches from debian gcc-3.3.3 so that it works nicely on arm. - - 28 Apr 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc-3.4.0-fno-for-scope.patch, gcc-3.4.0.ebuild: - added fix for bug 49174 - - 28 Apr 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0.ebuild: - fixed things up a bit and added a check that changes the deprecated -mcpu - option to -mtune so that libiberty wont break anymore for people with -mcpu in - CFLAGS - - 28 Apr 2004; <solar@gentoo.org> gcc-3.3.3-r3.ebuild: - More updates for uClibc, cross compiling fixes and addition of - --disable-libunwind-exceptions for use with glibc - - 27 Apr 2004; Aron Griffis <agriffis@gentoo.org> gcc-3.0.4-r6.ebuild: - Add flag-o-matic for bug 49179 - -*gcc-3.3.3_pre20040426 (27 Apr 2004) - - 27 Apr 2004; Luca Barbato <lu_zero@gentoo.org> - +files/3.3.3/gcc333_pre20040426-gentoo-branding.patch, - +gcc-3.3.3_pre20040426.ebuild: - New snapshot - - 27 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.4.0.ebuild: - cleanup flag stuff and remove CHOST setting with hppa gcc-3.4.0.ebuild - - 27 Apr 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0.ebuild: - re-added manpages and made the ebuild automatically die if gcj or multilib are - in USE, as these are sure to make gcc 3.4.0 fail at this point... - - 26 Apr 2004; Tom Gall <tgall@gentoo.org> gcc-3.4.0.ebuild: - fix bug 49111, appears to work quite well on ppc64 - - 27 Apr 2004; Michael McCabe <randy@gentoo.org> gcc-3.3.3-r3.ebuild: - Marked stable on s390 - - 26 Apr 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0.ebuild: - fix bug where the ebuild tries to nuke libiberty from outside the sandbox - - 26 Apr 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0.ebuild: - change settings for mips again... arch set to mips3 and tune set to r4600 - - 26 Apr 2004; Travis Tilley <lv@gentoo.org> gcc-3.4.0.ebuild: - changed mips default arch settings so that march defaults to r4k and not - mips3. also removed default mtune setting. thanks for the heads up geoman - -*gcc-3.4.0 (26 Apr 2004) - - 26 Apr 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc-3.4.0-gentoo-branding.patch, - -files/3.4.0/gcc-3.4.0_pre20040416-gentoo-branding.patch, - gcc-3.3.3-r3.ebuild, +gcc-3.4.0.ebuild, -gcc-3.4.0_pre20040416.ebuild: - added ebuild for gcc 3.4.0 final, and removed ada from the IUSE of gcc 3.3.3-r3 - -*gcc-3.3.3-r3 (25 Apr 2004) - - 25 Apr 2004; Martin Schlemmer <azarah@gentoo.org> +gcc-3.3.3-r3.ebuild: - Update snapshot. Fix objc doc install. Do not build ada until we resolve if we - should or not. - - 24 Apr 2004; Joshua Kinard <kumba@gentoo.org> gcc-3.3.3.ebuild: - Marking gcc-3.3.3 stable on mips, as stages and GRPs are built with it, and - it's run fine with no issues. - - 22 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.3.3-r2.ebuild: - Change the nogcj flag to gcj. - - 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.2-r5 gcc-3.1-r8: - These were never released so lets prune them. - - 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.2.3-r2 gcc-3.2.3-r3 - gcc-3.2.3-r4: - Bump r4 to stable and clean it up so we can force out r2 and r3 in the future. - - 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-2.95.3-r7 gcc-2.95.3-r8: - Clean up ebuilds (filter-flags and similar) and bump r8 to stable for ppc/sparc/alpha - so we can trim out r7 in the future. - - 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.0.4 gcc-3.1.1-r1: - Clean up the ebuild (filter-flags and similar). - - 20 Apr 2004; <solar@gentoo.org> gcc-3.3.3-r2.ebuild: - add s390 gcc-3.3.3 patch from bug #47915, added USE flags for f77, objc from - bug #23171. - -*gcc-3.4.0_pre20040416 (19 Apr 2004) - - 19 Apr 2004; Travis Tilley <lv@gentoo.org> - +files/3.4.0/gcc-3.4.0_pre20040416-gentoo-branding.patch, - +gcc-3.4.0_pre20040416.ebuild: - initial commit for gcc 3.4.0 pre-release. currently only amd64 is tested well - with gcc 3.4, gcj is broken, and some things dont compile properly. - PIE-by-default support has been added, but propolice has yet to be ported. - - 18 Apr 2004; <solar@gentoo.org> : - ChangeLog correction.. instructions on unmasking can be found in - /usr/portage/profiles/package.mask - -*gcc-3.3.3-r2 (18 Apr 2004) - - 18 Apr 2004; <solar@gentoo.org> gcc-3.3.3-r1.ebuild, gcc-3.3.3-r2.ebuild: - long awaited piessp functionality in here after alot of local testing.. Many - many thanks go to the PaX Team, Peter S. Mazinger (who helped tremendously), - and all those who helped getting this version ready.. This gcc-3.3.3-r2.ebuild - is currently package.masked but instructions on unmasking can be found in - /usr/portage/package.unmask, please test. Note: USE=uclibc might still need a - little more work, which we intend to address to before unmasking - -*gcc-3.3.3_pre20040408-r1 (15 Apr 2004) - - 15 Apr 2004; Luca Barbato <lu_zero@gentoo.org> - gcc-3.3.3_pre20040408-r1.ebuild, - files/3.3.3/gcc333_pre20040408-gentoo-branding.patch, - files/3.3.3/gcc333_pre20040408-stack-size.patch: - New Snapshot - - 05 Apr 2004; Brian Jackson <iggy@gentoo.org> gcc-3.3.3.ebuild: - add s390 to keywords - - 04 Apr 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.3.ebuild: - added avenjs amd64 fixes to gcc-3.3.3.ebuild - - 03 Apr 2004; Jon Portnoy <avenj@gentoo.org> gcc-3.3.3-r1.ebuild : - Yanked unnecessary amd64-related construct for finding libc. - Bug #46697. - - 26 Mar 2004; Jason Wever <weeve@gentoo.org> gcc-3.3.3.ebuild: - And on the 5th date, gcc-3.3.3 was stable for sparc, and it was good. - - 25 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> gcc-3.2.2-r2.ebuild, - gcc-3.2.2.ebuild, gcc-3.2.3-r2.ebuild, gcc-3.2.3-r3.ebuild, - gcc-3.2.3-r4.ebuild, gcc-3.3.ebuild: - don't use deprecated ? : use syntax - - 24 Mar 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.3.3_pre20040322.ebuild: - Fixed SRC_URI - -*gcc-3.3.3_pre20040322 (23 Mar 2004) - - 23 Mar 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.3.3_pre20040322.ebuild, - files/3.3.3/gcc333_pre20040322-gentoo-branding.patch: - New snapshot from the hammer branch. - - 22 Mar 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.3.3_pre20040215.ebuild: - Marked again -ppc since it is still too much problematic. - - 15 Mar 2004; Joshua Kinard <kumba@gentoo.org> gcc-3.3.2-r5.ebuild, - gcc-3.3.2-r6.ebuild: - Removed bogus comment from -r6; marked -r5 stable on mips - - 09 Mar 2004; <agriffis@gentoo.org> gcc-3.3.2-r5.ebuild: - stable on alpha and ia64 - - 06 Mar 2004; Alexander Gabert <pappy@gentoo.org> : - patch updates to let pie-ssp-bounds-check work with propolice patch during the - ebuild patching - - 06 Mar 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r1.ebuild: - added support for bug 6148 to the pie-ssp patch, the bounds checker fails with - some hunks but coupled with the pie-ssp patch it applies good - - 06 Mar 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r1.ebuild: - added v5 version for hardened pie ssp patch, this will be the release version - when testing shows no problems - - 01 Mar 2004; Martin Schlemmer <azarah@gentoo.org> files/awk/scanforssp.awk: - Add support to detect corrupted filesystem/bad hardware, patch by - Carter Smithhart <derheld42@derheld.net>. - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r1.ebuild: - added IUSE hardened flag (thx swtaylor) - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r1.ebuild: - changed typo in FVER of SSP, fixed up release_version logic a bit - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> gcc-2.95.3-r7.ebuild, - gcc-2.95.3-r8.ebuild, gcc-3.0.4-r6.ebuild, gcc-3.1-r8.ebuild, - gcc-3.1.1-r1.ebuild, gcc-3.2.1-r7.ebuild, gcc-3.2.3-r3.ebuild, - gcc-3.3-r1.ebuild, gcc-3.3.1-r1.ebuild, gcc-3.3.2-r3.ebuild, - gcc-3.3.2.ebuild, gcc-3.3.3-r1.ebuild: - changed brackets in SRC_URI for pie-ssp patch, fixed copyright ebuild headers - to 2004 - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> gcc-2.95.3-r7.ebuild, - gcc-2.95.3-r8.ebuild, gcc-3.0.4-r6.ebuild, gcc-3.1-r8.ebuild, - gcc-3.1.1-r1.ebuild, gcc-3.2.1-r7.ebuild, gcc-3.2.3-r3.ebuild, - gcc-3.3-r1.ebuild, gcc-3.3.1-r1.ebuild, gcc-3.3.2-r3.ebuild, - gcc-3.3.2.ebuild, gcc-3.3.3-r1.ebuild: - changed brackets in SRC_URI for pie-ssp patch, fixed copyright ebuild headers - to 2004 - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r1.ebuild: - implemented easier patch logic for SSP and PIE support with Azarah - -*gcc-3.3.3-r1 (26 Feb 2004) - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> gcc-3.3.3-r1.ebuild: - changed version_patch logic to use a single variable for assigning the string - to the different patch situations - - 26 Feb 2004; Alexander Gabert <pappy@gentoo.org> : - added preliminary version with hardened support - - 22 Feb 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.3.3_pre20040215.ebuild: - Marked ~ppc since seems to build altivec code correctly - - 21 Feb 2004; Brad House <brad_mssw@gentoo.org> gcc-3.3.3.ebuild: - mark stable for amd64 2004.0 release - -*gcc-3.3.3 (18 Feb 2004) - - 18 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.3.ebuild, - files/3.3.3/gcc333-gentoo-branding.patch, - files/3.3.3/gcc333-ssp-3.3_7-fixup.patch: - New release. - -*gcc-3.3.3_pre20040215 (16 Feb 2004) - - 15 Feb 2004; Tom Gall <tgall@gentoo.org> gcc-3.3.3_pre20040215.ebuild, - gcc-3.3.3_pre20040130: - Remove gcc-3.3.3_pre20040130, add gcc-3.3.3_pre20040215.ebuild - ppc64 prerelease, fixes a rather anoying set of ICEs. - gcc-3.3.2-r6.ebuild was the reference. - - 12 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r5.ebuild, - gcc-3.3.2-r7.ebuild: - Add nogcj USE flag to turn off building of gcj. - - 12 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r5.ebuild, - gcc-3.3.2-r7.ebuild: - Add -Os to previous fixup, bug #41322. - - 11 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r5.ebuild, - gcc-3.3.2-r7.ebuild: - Fix tweaking of -O gcc flag, bug #40863. - - 10 Feb 2004; Seemant Kulleen <seemant@gentoo.org> - files/fix_libtool_files.sh: - spelling correction: Scannig to Scanning - - 09 Feb 2004; Bartosch Pixa <darkspecter@gentoo.org> gcc-3.2.3-r4.ebuild: - set ppc in keywords - -*gcc-3.3.3_pre20040130 (09 Feb 2004) - - 09 Feb 2004; Brad House <brad_mssw@gentoo.org> gcc-3.3.3_pre20040130.ebuild, - files/gcc333-gentoo-branding.patch: - GCC 3.3.3 prerelease as required for PPC64. This ebuild has been based off the - gcc-3.3.2-r6.ebuild for reference - - 08 Feb 2004; Luca Barbato <lu_zero@gentoo.org> - files/3.3.2/gcc332-altivec-fix.patch: - Updated the altivec fix for gcc-3.3.2-r7 - -*gcc-3.3.2-r7 (08 Feb 2004) - - 08 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r7.ebuild: - Update snapshot to 20040119. Tweak SSP stuff to scan *before* unpacking and - patching. - - 07 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r6.ebuild: - Mask again, as it have some issues, bug #40603. - - 07 Feb 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r5.ebuild: - Bump to stable for x86. - - 03 Feb 2004; Joshua Kinard <kumba@gentoo.org> gcc-3.3.2-r4.ebuild: - Marked 3.3.2-r4 stable for mips. Stages are built for this, and no problems - have been reported so far. - -*gcc-3.2.3-r4 (27 Jan 2004) - - 27 Jan 2004; Luca Barbato <lu_zero@gentoo.org> gcc-3.2.3-r4.ebuild: - Removes the fixinclude headers, fix backported from the 3.3.2 series - -*gcc-3.3.2-r6 (21 Jan 2004) - - 21 Jan 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r6.ebuild, - files/3.3.2/gcc332-altivec-fix.patch: - Update snapshot to 20040108; fix SSP scanning to only scan when not already - done so, or when libgcc have __guard symbols; add altivec patch from Luca - Barbato <lu_zero@gentoo.org>. - - 08 Jan 2004; Aron Griffis <agriffis@gentoo.org> gcc-3.2-r5.ebuild, - gcc-3.2.2-r2.ebuild, gcc-3.2.2.ebuild, gcc-3.2.3-r2.ebuild, - gcc-3.3-r1.ebuild, gcc-3.3.1-r5.ebuild, gcc-3.3.2-r1.ebuild, - gcc-3.3.2-r2.ebuild: - Lots of keyword updates for ia64. I haven't tested anything past 3.3.2-r2, so - I didn't mark them ~ia64 yet - - 01 Jan 2004; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r5.ebuild: - Unmask again, as scanforssp.awk was fixed (bug #36792). - - 31 Dec 2003; <solar@gentoo.org> files/awk/scanforssp.awk: - Fix bug that causes awk script to fail when pipe is not closed. Closes bug - #36792 - - 30 Dec 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.2-r5.ebuild: - marking -* bug affects all arches - - 30 Dec 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.2-r5.ebuild: - Problems with -r5 on a fresh install of gentoo, I commented - inside the ebuild above the KEYWORDS= for more information, marked -amd64, but - other arches are probably affected too - - 29 Dec 2003; Seemant Kulleen <seemant@gentoo.org> gcc-3.3.2-r5.ebuild, - files/scan_libgcc_linked_ssp.sh: - spelling fixes, thanks to: Scott Taylor <scott@303underground.com> and Eric - Harney <eharney@clemson.edu> in bug #36772 - -*gcc-3.3.2-r5 (29 Dec 2003) - - 29 Dec 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r5.ebuild: - Update snapshot to 20031218; update SSP to 3.3-7. Rework guard detection in - glibc a bit (fix it to use scan_libgcc_linked_ssp.sh to detect ELF images - linked to __guard@GCC and add support for new _LIBC_PROVIDES_SSP_ instead - of patch to use __guard and co symbols from glibc). Thanks to the hardened - team, especially Ned Ludd <solar@gentoo.org> for help on the SSP stuff. - -*gcc-3.3.2-r4 (14 Dec 2003) - - 14 Dec 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r4.ebuild: - Update snapshot to 20031201. Remove 'fixed' headers, as they tend to break - some builds. Fix DEPEND on glibc for NPTL. Remove some stale sections. - - 30 Nov 2003; Alexander Gabert <pappy@gentoo.org> gcc-3.2.3-r3.ebuild, - gcc-3.3.2-r3.ebuild: - added ccache warnings to the ebuilds, thanks to Strider for pointing this out - and providing the workaround - - 29 Nov 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.2-r2.ebuild: - mark stable on amd64 - - 28 Nov 2003; Alexander Gabert <pappy@gentoo.org> gcc-3.2.3-r3.ebuild, - gcc-3.3.2-r3.ebuild: - added logic for false positives hitting gcc library with guard in it - -*gcc-3.2.3-r3 (27 Nov 2003) -*gcc-3.3.2-r3 (27 Nov 2003) - - 10 Dec 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.3.2-r3.ebuild, - gcc-3.3.2.ebuild : - Fixed little type unkown -> unknown. - - 08 Dec 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.3.2-r3.ebuild, - gcc-3.3.2.ebuild : - Force CHOST="hppa-unknown-linux-gnu" on hppa for stability. - - 27 Nov 2003; Alexander Gabert <pappy@gentoo.org> gcc-3.2.3-r3.ebuild, - gcc-3.3.2-r3.ebuild, files/3.2.3/gcc-3.2.3-move-propolice-into-glibc.patch: - adding bumpee versions of gcc-3.3.2 and gcc-3.2.3 for proper migration of the - propolice functions to the glibc, this updated is needed because of bugs like - 25299 and other related -static -fstack-protector building in the current - 2.3.2-r3 glibc - - 21 Nov 2003; Aron Griffis <agriffis@gentoo.org> gcc-3.3.2-r2.ebuild: - Add ~ia64 - - 20 Nov 2003; Aron Griffis <agriffis@gentoo.org> gcc-3.3.2-r2.ebuild: - Mark stable on alpha - - 04 Nov 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.1-r5.ebuild: - mark as stable on amd64 - - 01 Nov 2003; Aron Griffis <agriffis@gentoo.org> gcc-3.3.2-r2.ebuild: - Add ~alpha to KEYWORDS - -*gcc-3.3.2-r2 (27 Oct 2003) - - 19 Nov 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.3.2-r2.ebuild : - Added --enable-sjlj-exceptions to ${myconf} on hppa. - - 02 Nov 2003, Guy Martin <gmsoft@gentoo.org> gcc-3.3.2-r2.ebuild, - gcc-3.3.2-r1.ebuild, gcc-3.3.2.ebuild : - Marking gcc-3.3.2-r1 and -r2 -hppa due to a problem with binutils. - Marking gcc-3.3.2 as ~hppa which does not suffert of this problem. - - 27 Oct 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.3.2-r2.ebuild : - Added ~hppa to KEYWORDS. - - 27 Oct 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r2.ebuild: - Update protector patch to 3.3-5. - -*gcc-3.3.2-r1 (26 Oct 2003) - - 26 Oct 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2-r1.ebuild: - New snapshot of gcc-3_3-rhl-branch CVS branch that fixes the visibility issues - for x86 at least. - - 21 Oct 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2.ebuild: - Mask this puppy again until I figure out why it breaks visibility attribute - support (and thus NPTL, possibly TLS as well). - -*gcc-3.3.2 (21 Oct 2003) - - 08 Dec 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.3.2.ebuild : - Marked stable on hppa. - - 19 Nov 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.3.2.ebuild : - Added --enable-sjlj-exceptions to ${myconf} on hppa. - - 21 Oct 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.2.ebuild, - files/3.3.2/gcc332-gentoo-branding.patch: - New version. - - 18 Oct 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.1-r5.ebuild, - files/gcc331_use_multilib.amd64.patch: - add appropriate changes for amd64, and set ~amd64 in flags - -*gcc-3.3.1-r5 (14 Oct 2003) - - 15 Oct 2003; Joshua Kinard <kumba@gentoo.org> gcc-3.3.1-r4.ebuild, - gcc-3.3.1-r5.ebuild, gcc-3.3.1.ebuild: - Added ~sparc to KEYWORDS - This will only affect sparc64 users using the gcc33-sparc64 profile - - 14 Oct 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r5.ebuild, - files/3.3.1/gcc331-pp-fixup.patch: - Actually add gcc331-pp-fixup.patch for public use. - - 14 Oct 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r5.ebuild: - Update CVS snapshot. - - 09 Oct 2003; <tuxus@gentoo.org> gcc-3.3.1-r4.ebuild: - Added ~mips to Keywords - - 04 Oct 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.3-r2.ebuild: - Marked stable for x86, ppc, sparc, alpha, and mips. - - 03 Oct 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.1-r1.ebuild: - mark as stable for amd64 - - 28 Sep 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3-r1.ebuild, - gcc-3.3.1-r1.ebuild, gcc-3.3.1-r2.ebuild, gcc-3.3.1-r3.ebuild, - gcc-3.3.1.ebuild: - Exclude PPC mergel miscompilation workaround, as it is fixed in apps according - to lu_zero. - -*gcc-3.3.1-r4 (28 Sep 2003) - - 28 Sep 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r4.ebuild: - Update revision. Update ProPolice to 3.3-4. I also took the time and reaped - a few of non applied pr fixes for gcc-3_3-branch that is not yet applied to - gcc-3_3-rhl-branch we use. I also ported a few fixes that was fixed only 3.4 - side, and testing my side at least shows no regressions. - - 25 Sep 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r3.ebuild: - Add gcc-unsharing_lhs.patch resolving bug #29467. Also marked this ~x86. - More info on this bug can be found at: - - http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00853.html - -*gcc-3.3.1-r3 (20 Sep 2003) - - 20 Sep 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r3.ebuild: - Update CVS snapshot to 20030916 - this should fix the static linking problem - with some packages without the hack that broke things for a few people ... - -*gcc-3.3.1-r2 (15 Sep 2003) - - 15 Sep 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r2.ebuild: - Backout to an earlier cvs snapshot (20030815) to fix preprocessor issues (for - instance lilo not compiling, bug #28266). Change libgcc.a to a linker script - to fix problems with not linking to libc.a when linking static. - -*gcc-3.3.1-r1 (07 Sep 2003) - - 17 Sep 2003; Jon Portnoy <avenj@gentoo.org> gcc-3.3.1-r1.ebuild : - ia64 keywords. - - 12 Sep 2003; Joshua Kinard <kumba@gentoo.org> gcc-3.3.1.ebuild: - Added ~sparc to Keywords, should only affect users using the gcc33-sparc64-1.4 - testing profile. Yell if otherwise. - - 09 Sep 2003; George Shapovalov <george@gentoo.org> gcc-3.3.1.ebuild, gcc-3.3.1-r1.ebuild, gcc-3.2.1-r7.ebuild, gcc-3.2.2.ebuild, gcc-3.2.2-r2.ebuild: : - Removed "ada" from gcc_lang as month ago for previous versions. - Also removed gcc32-ada-make.patch and corresponding epatch invocations - - 07 Sep 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1-r1.ebuild: - Update snapshot to 20030904. Fix coreutils patch - it did not catch all broken - tail calls. - - 24 Aug 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.3-r1.ebuild, - gcc-3.2.3-r2.ebuild, gcc-3.3-r1.ebuild, gcc-3.3.1.ebuild, gcc-3.3.ebuild: - Add hardened-gcc support, bug #26305. - - 24 Aug 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2-r2.ebuild, - gcc-3.2.2.ebuild, gcc-3.2.3-r1.ebuild, gcc-3.2.3-r2.ebuild, - gcc-3.3-r1.ebuild, gcc-3.3.1.ebuild, gcc-3.3.ebuild, - files/fix_libtool_files.sh, files/awk/fixlafiles.awk: - Fix_libtool_files.sh did not catch a user changing CHOST. Updated - fixlafiles.awk and the latest ebuilds to support a fix for this, bug #23466. - -*gcc-3.3.1 (10 Aug 2003) - - 10 Aug 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.1.ebuild, - files/3.3.1/gcc331-gentoo-branding.patch: - New version. - - 09 Aug 2003; George Shapovalov <george@gentoo.org> gcc-2.95.3-r7.ebuild,gcc-2.95.3-r8.ebuild,gcc-3.0.4-r6.ebuild,gcc-3.1.1-r1.ebuild,gcc-3.1-r8.ebuild,gcc-3.2.3-r1.ebuild,gcc-3.2.3-r2.ebuild,gcc-3.2-r5.ebuild,gcc-3.3.ebuild,gcc-3.3-r1.ebuild - Removed "ada" from gcc_lang on listed ebuilds (did not touch three which do some patches, - will do them later myself or leave to azarah). - See #25178 for details. In short, having ada in --enable-languages does not make gcc build - ada support properly (there is more involved, see for example #11204) and makes gcc build fail - on users who have gnat installed. - - 04 Aug 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.3-r1.ebuild: - Update 3.3 ebuild to use the latest protector-3. Also don't patch - in ProPolice on HPPA (consistent with the 3.2.x gcc ebuilds). - -*gcc-3.2.3-r2 (23 Jul 2003) - - 23 Jul 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.3-r2.ebuild: - New revision includes updated ProPolice protector-10 - patch. This fixes the following issues: - - Regex functions cause m4 to seg fault - - Doesn't protect the 1st function argument when - CFLAGS="-O0". - - 24 Jul 2003; Martin Schlemmer <azarah@gentoo.org> files/fix_libtool_files.sh: - Fix fix_libtool_files.sh to first get the number of parameters, and $1, else - some odd settings in /etc/profile may cause $# to be overwritten. - -*gcc-3.3-r1 (20 Jul 2003) - - 20 Jul 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3-r1.ebuild, - files/3.3/gcc33-coreutils-compat.patch.bz2, - files/3.3/gcc33-gentoo-branding-1.patch: - New version that rather use the gcc-3_3-rhl-branch branch. Also add - gcc33-coreutils-compat.patch.bz2 to call head/tail corretly as needed - by coreutils-5.0. - - 20 Jul 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.ebulid, - files/3.3/gcc33-no-multilib-amd64.patch: - Cleanup amd64 support to rather use a patch. From Olivier Crete - <tester@gentoo.org>. - - 20 Jul 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.3-r1.ebuild, - files/3.2.3/gcc-3.2.3-mergel-fix.patch: - There exists a bug in the ebuild patched gcc that prevents hppa from getting - build because of default_assemble_visibility is not compiled. Patch done by - Alexander Gabert <pappy@nikita.ath.cx>. - - 18 Jul 2003; Will Woods <wwoods@gentoo.org> gcc-3.2.3-r1.ebuild: - Marked stable for alpha - - 16 Jul 2003; Jay Pfeifer <pfeifer@gentoo.org> gcc-3.2.3-r1.ebuild: - set stable on x86 - - 14 Jul 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.3-r1.ebuild: - ProPolice does not work on architectures where the stack - grows upward (such as HPPA). Therefore, if the - architecture is HPPA, do not apply the ProPolice patches. - - 09 Jul 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.3-r1.ebuild: - Updated ProPolice to protector-8. This includes minor - bugfixes on PPC that popped up in certain (rare) cases. - - 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 - - 01 Jul 2003; Todd Sunderlin <todd@gentoo.org> gcc-3.2.3-r1.ebuild: - set stable on sparc - - 14 Jun 2003; Joshua Kinard <kumba@gentoo.org> gcc-3.2.3-r1.ebuild: - Changed ~mips to mips in KEYWORDS - - 12 Jun 2003; <msterret@gentoo.org> gcc-3.1-r8.ebuild, gcc-3.1.1-r1.ebuild: - fix Header - - 10 Jun 2003; Tavis Ormandy,,, <taviso@gentoo.org> gcc-2.95.3-r8.ebuild, - files/gcc-2.95.3-alpha.diff: - new-atexit.diff is not finished for alpha, fixing #18626 - - 19 May 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.ebuild : - Only compile gcj AWT/Swing support if we have the Xlib.h header, else - it borks during bootstrap. - -*gcc-3.3 (17 May 2003) - - 17 May 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.3.ebuild, - gcc33-gentoo-branding.patch, gcc33-propolice-version.patch : - New version: - - Merge cleanups from Spider <spider@gentoo.org>. - - Add the manpages (required during bootstrap, as we do not have perl), - with some more cleanups. - - Add a nice collection of patches from Suse/Debian, thanks to - Nicholas Wourms <dragon@gentoo.org> for filtering these. - - Add an branch update from the Hammer 3.3 branch with lots of Athlon - and Hammer fixes/optimizations. This also includes the DFA scheduler - and profiler updates that should improve things accross the board. - Once again, many thanks to Nicholas Wourms <dragon@gentoo.org>. - - Add gcj AWT/Swing for people with X and java in USE (thanks again - Nicholas =). - - NOTE: I urge the faint of heart to leave this for now, as it have - deprecated many features, and a lot of packages will have to - be fixed first. - - 16 May 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild: - - Updated ProPolice to Protector-3.2.2-7, fixing the PPC bug and - parallel make bug - again we no longer need to apply these - separately. - - Converted to the new patch implementation as used in the - gcc-3.2.3-r1 ebuild making for easier patch management. Thanks - to Martin Schlemmer <azarah@gentoo.org> for this cleanup. - - 16 May 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.3-r1.ebuild: - Updated ProPolice to Protector-3.2.2-7. This revision includes the PPC bug fix - and the parallel make fix, so these no longer need to be applied separately. - -*gcc-3.2.3-r1 (29 Apr 2003) - - 14 Jun 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.2.3-r1.ebuild : - Changed ~hppa to -hppa in KEYWORDS. Too many crazy users are using ~hppa. - - 29 Apr 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.3-r1.ebuild : - Manpages gets regenerated, and as we do not have perl at bootstrap, we need - to use a tarball with updated manpages again. Also fix the build to gzip - manpages and info pages. Fix the build to actually remove man/info pages - if 'build' in USE .. this got broken during the gcc-config changes. - -*gcc-3.2.3 (28 Apr 2003) - - 28 Apr 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.3.ebuild, - gcc-323-propolice-version.patch, gcc32-c++-classfn-member-template.patch, - gcc32-mklibgcc-serialize-crtfiles.patch, gcc323-gentoo-branding.patch, - protector-3.2.2-6-PPC.patch : - Update version - - Add gcc323-gentoo-branding.patch and gcc-3.2.3-tls-update.patch.bz2 thanks - to Nicholas Wourms <dragon@gentoo.org>. He did a great job at porting - gcc-3.2.3-tls-update.patch.bz2 from 3.2.2! - - Add two patches from Mandrake; gcc32-c++-classfn-member-template.patch and - gcc32-mklibgcc-serialize-crtfiles.patch. - - Cleanup the ProPolice stuff. Also rather use the patch tarball from its - homepage then adding the files to cvs. - - Get the version patches (gcc323-gentoo-branding.patch and - gcc-323-propolice-version.patch) to be more generic to ebuild revisions; - added version_patch() for this. - - Fix awk/fixlafiles.awk to not change files in /usr/lib/gcc-lib. This got - broken with my previous recursion fix. - - 28 Apr 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r5.ebuild : - Remove message and 'die' in pkg_setup(). - - 28 Apr 2003; Luca Barbato <lu_zero@gentoo.org> gcc-3.2.2-r2.ebuild : - Unmasked on ppc - - 24 Mar 2003; Martin Schlemmer <azarah@gentoo.org> : - - Fix latest ebuild to only build static if we are just building the C - frontend, else some C++ packages fails when trying to link to libstdc++.so, - bug #18050. - - One more effort to try and fix the corner cases where an upgrade borks - python, and thus portage, resulting in /etc/ld.so.conf not being updated. - -*gcc-3.2.2-r2 (21 Mar 2003) - - 21 Mar 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2-r2.ebuild, - gcc32-pr7768.patch, gcc32-pr8213.patch, gcc32-pr9732.patch, - gcc322-pr8746.patch, gcc322-pr9888.patch, gcc322-ggc_page-speedup.patch, - gcc-3.2.2-branch-update-20030322.patch, gcc-3.2.2-tls-update2.patch : - - - Update to gcc-3_2 branch 2003-03-22 (gcc-3.2.2-branch-update-20030322.patch) - - Update TLS patch (gcc-3.2.2-tls-update2.patch) for 2003-03-22 CVS branch. - - Add gcc322-pr9888.patch to fix a out of range 'loop' instructions for the - K6 family of processors. Many thanks to Jim Bray <jb@as220.org> for his - work in getting this resolved with the gcc devs, and bringing it to my - attention (included in branch-update). - - Add gcc322-pr8746.patch to fix corner cases of miscompilation on K6 arch. - - Get gcc to decreases the number of times the collector has to be run - by increasing its memory workspace, bug #16548, thanks to - Garen <garen@garen.net>, patch gcc322-ggc_page-speedup.patch. - - Also added some other PR bugfixes. - - 09 Mar 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2*.ebuild : - Fix handling of fix_libtool_files.sh to be more $FILESDIR independant. - We basically install it to /sbin now, and then call it from there. Also - export LD_LIBRARY_PATH with new gcc library path in it to prevent gcc-config - from borking when run. This will hopefully fix bugs #15288, #16632, #16797. - -*gcc-3.2.2-r3 (03 Mar 2003) - - 25 Apr 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild: - Added files/3.2.2/protector_parallel_make.patch which - fixes the errors we've been seeing when using >= -j2 - as addressed in bug 18091. - - 24 Apr 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild, - files/3.2.2/protector.c: - Fixed the ProPolice PPC segfault issue on certain packages. - Thanks to Hiroaki Etoh <ETOH@jp.ibm.com> for the quick fix - for this problem. - - 20 Apr 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild, - files/3.2.2/protector.patch: - Updated to the latest ProPolice patch, Protector-6. This should resolve the - problems experienced with the Protector-5 patch. This was due to a bug in the - patch enabling the protection by default. - - 11 Apr 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild, - manifest, files/3.2.2/protector.patch: - Downgraded ProPolice to protector-4. With Protector-5 GCC seems to - die on bootstrap with 1.4-rc4. It also seems to be the source of the - unresolved symbols seen previously. We'll stay with -4 for now. - - 10 Apr 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild, - manifest: - Removing -fstack-protector from ALLOWED_FLAGS. This leads - to unresolved symbols in builds of certain packages. - - 09 Apr 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild, - files/3.2.2/protector.patch: - Updated ProPolice to protector-3.2.2-5 - - 31 Mar 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild: - Moved ProPolice related files from $FILEDIR/3.2 to $FILESDIR/3.2.2 - - 26 Mar 2003; Matthew Rickard <frogger@gentoo.org> gcc-3.2.2-r3.ebuild, - files/3.2/protector.patch: - - Updated ProPolice patch to protector-3.2.2-4.tar.gz - - Removed unneeded comments in ebuild about a patch we aren't applying anymore. - - Added gcc-322-r3-propolice-version.patch which will add propolice to the - gcc version string. This is necessary for xfree to build correctly with - stack protection. - - Added -fstack-protector to the list of known good CFLAGS - - 05 Mar 2003; Joshua Brindle <method@gentoo.org> gcc-3.2.2-r3.ebuild : - replace-flags for pentium4 for bug #16867, add optimizations for x86 only - - 03 Mar 2003; Joshua Brindle <method@gentoo.org> gcc-3.2.2-r3.ebuild : - Fixed strip-flags to allow certain known stable optimizations including: - -O -O1 -O2 -Os -O3 -mcpu -march -pipe -g -freorder-blocks -fprefetch-loop-arrays - -*gcc-3.2.2-r1 (23 Feb 2003) - - 25 Feb 2003; Nicholas Wourms <dragon@gentoo.org> gcc-3.2.2-r1.ebuild : - Fix mips depends so they actually work. - - 24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> gcc-3.2.2-r1.ebuild : - Mark testing for mips. Changed DEPENDS to a lower binutils *only* for mips, - since .18 generates really b0rked asm and tests prove that .16 works just fine. - - 23 Feb 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2-r1.ebuild : - Update from cvs to add __thread support. - -*gcc-3.2.2 (06 Feb 2003) - - 27 May 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.2.2.ebuild : - Downgrading DEPEND to binutils >=2.13.90.0.16 for hppa. - - 29 Mar 2003; Christian Birchinger <joker@gentoo.org> gcc-3.2.2.ebuild: - Added sparc stable keyword - - 25 Feb 2003; Nicholas Wourms <dragon@gentoo.org> gcc-3.2.2.ebuild : - Fix mips depends so they actually work. - - 24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> gcc-3.2.2.ebuild : - Mark stable for mips. Changed DEPENDS to a lower binutils *only* for mips, - since .18 generates really b0rked asm and tests prove that .16 works just fine. - - 24 Feb 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2.ebuild : - Mark stable for x86. - - 22 Feb 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.2.2.ebuild : - Commited stable for hppa. - - 22 Feb 2003; Zach Welch <zwelch@gentoo.org> gcc-3.2.2.ebuild : - Added patch for arm to disable floating point math - - 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! - - 18 Feb 2003; Zach Welch <zwelch@gentoo.org> gcc-3.2.2.ebuild : - Added arm to keywords. - - 08 Feb 2003; Guy Martin <gmsoft@gentoo.org> gcc-3.2.2.ebuild : - Added hppa to keywords. - - 06 Feb 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2.ebuild : - Update version. - -*gcc-3.2.2_pre20030131 (02 Feb 2003) - - 02 Feb 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.2_pre20030131.ebuild : - New snapshot. This should close bug #14699. - -*gcc-3.2.1-r7 (18 Jan 2003) - - 18 Jan 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1-r7.ebuild : - Add some patches from Mandrake/Suse. - -*gcc-3.2.1-r6 (16 Dec 2002) - - 13 Feb 2003; Mark Guertin <gerk@gentoo.org> gcc-3.2.1-r6.ebuild : - set ppc in keywords - - 19 Jan 2003; Jan Seidel <tuxus@gentoo.org> : - Added mips to keywords - - 08 Jan 2003; Seemant Kulleen <seemant@gentoo.org> gcc-3.2.1-r6.ebuild : - - Stable for sparc. - - 08 Jan 2003; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1-r6.ebuild : - Mark stable for x86. Do not merge with C[XX]FLAGS="-march=k6[-2]", as - it causes problems, bug #12791. - - 28 Dec 2002; Jack Morgan <jmorgan@gentoo.org> gcc-3.2.1.ebuild : - Changing ~sparc to sparc - - 23 Dec 2002; Martin Schlemmer <azarah@gentoo.org> : - Fix to use get_number_of_jobs to set -j. - - 16 Dec 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1*.ebuild : - Fix to set CC and CXX properly. - - 16 Dec 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1-r1.ebuild, - gcc-3.2.1-r6.ebuild, gcc-2.95.3-r7.ebuild gcc-3.2.1*.ebuild : - - Install and touch manpages if we do not have perl, as they started to - use perl to generate the manpages ... If we do not do this, gcc fails - to build during bootstrap. - - Install the /lib/cpp and /usr/bin/cc wrappers for other common used gcc's. - -*gcc-3.2.1-r1 (16 Dec 2002) - - 16 Dec 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1-r1.ebuild, - gcc-3.2.1-r6.ebuild : - - Update with patches from Redhat, and also update with patch against 2002-12-08 - CVS branch. For -r6, changed the /lib/cpp and /usr/bin/cc symlinks to wrapper - scripts, which is more generic if we do not fisically switch gcc profiles. - - 15 Dec 2002; Martin Schlemmer <azarah@gentoo.org> gcc-2.95.3-r*.ebuild : - Fix CXX to equal 'g++'. For some reason I was under the impression that - gcc3 was the only gcc that needed this. This should close bugs #11589 - and #12169. Ill figure some way to get this fixed painlessly for - most users ... - - 13 Dec 2002; Mark Guertin <gerk@gentoo.org> gcc-3.2.1.ebuild : - Marked stable for ppc. - - 12 Dec 2002; Jan Seidel <tuxus@gentoo.org> gcc-3.2.1.ebuild : - Added mips to keywords. - - 10 Dec 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1.ebuild : - Mark as stable for x86. - - 06 Dec 2002; Rodney Rees <manson@gentoo.org> : - Changed sparc ~sparc keywords. - - 03 Dec 2002; Martin Schlemmer <azarah@gentoo.org> : - Also set CC and CXX in /etc/env.d/05gcc. - - 01 Dec 2002; Olivier Reisch <doctomoe@gentoo.org> gcc-3.2-r4.ebuild : - Definitely fine now, marking it ppc stable. Moving on to 3.2.1 :) - - 25 Nov 2002; Olivier Reisch <doctomoe@gentoo.org> gcc-3.2-r4.ebuild : - Changed -ppc to ~ppc, we have been able to make it compile fine on a few - test machines. Will test further before marking it ppc stable eventually. - - 24 Nov 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1.ebuild, - gcc-3.2.1-r5.ebuild : - - Get these to run ${FILESDIR}/fix_libtool_files.sh, and thus fix libtool - linker scripts to reference the right gcc version ... This should close - bug #11094. - -*gcc-3.2.1 (21 Nov 2002) -*gcc-3.2.1-r5 (21 Nov 2002) - - 21 Nov 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.1.ebuild, - gcc-3.2.1-r5.ebuild : - - Update to new version. Multi arch version is -r5. - - 21 Nov 2002; Olivier Reisch <doctomoe@gentoo.org> gcc-3.2-r4.ebuild : - - Added -ppc, it does not compile on PPC test machine. - - 20 Nov 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r4.ebuild : - - Mark as stable. - -*gcc-3.2-r5 (10 Oct 2002) - - 10 Nov 2002; Martin Schlemmer <azarah@gentoo.org> : - - New multi version/arch version. Updated with patches - from Mandrake/Redhat/Suse. Have SLOT=$PV if CCHOST=CHOST. - -*gcc-3.2-r4 (10 Oct 2002) - - 10 Nov 2002; Martin Schlemmer <azarah@gentoo.org> : - - Updated with patches from Mandrake/Redhat/Suse. - -*gcc-2.95.3-r8 (10 Oct 2002) - - 03 Arp 2003; Martin Holzer <mholzer@gentoo.org> gcc-2.95.3-r8.ebuild : - Filtering out -ggdb. Closes #8229. - - 08 Jan 2003; Seemant Kulleen <seemant@gentoo.org> gcc-2.95.3-r8.ebuild : - - Marked stable for x86 - - 10 Nov 2002; Martin Schlemmer <azarah@gentoo.org> : - - New multi version/arch version. - -*gcc-3.2-r3 (28 Oct 2002) - - 28 Oct 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r3.ebuild : - - Initial version that support alpha version of new multi version/arch - scheme. Very ALPHA, so use at your own risk!! - -*gcc-3.2-r2 (20 Oct 2002) - - 20 Oct 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r2.ebuild : - - Add patches to compile under glibc-2.3.1. - -*gcc-3.2-r1 (27 Aug 2002) - - 9 Sep 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r1.ebuild : - - Remove symlinks that are installed to /usr/lib/gcc-lib/$CHOST/$PV/include, - as it may cause the build to fail. - - 27 Aug 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r1.ebuild : - - Update the "misconstruct function call frame" bug patches. This resolves - bug #7071, thanks to Steven Wong <wongs15@tartarus.uwa.edu.au>. Updated - info can be found at: - - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0588.html - - Good patch site to keep in mind (reminder to myself): - - http://www.zipworld.com.au/~gschafer/lfs-tweaks.html - - 21 Aug 2002; Dan Armak <danarmak@gentoo.org> ChangeLog : - - Filter -fomit-frame-pointer flag, which causes problems as reported in - bug #6641. - - 15 Aug 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2.ebuild : - - Add back gcc-3-deopt.patch. Also add gcc-3-deopt-doc.patch. Update - the docs that gets installed, as well as added html pages for libstdc++-v3. - -*gcc-3.2 (15 Aug 2002) - - 15 Aug 2002; Daniel Robbins <drobbins@gentoo.org> gcc-3.2.ebuild : - - Update to latest version - -*gcc-3.2_pre-r1 (15 Aug 2002) - - 15 Aug 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2_pre-r1 : - - New snapshot. - - Fixes a bug in gcc-3.1 and above ... -maccumulate-outgoing-args flag (added - in gcc-3.1) causes gcc to misconstruct the function call frame in many cases. - Thanks to Ronald Hummelink <ronald@hummelink.xs4all.nl> for bringing it to - our attention. - - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/ - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0319.html - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0350.html - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0410.html - http://gcc.gnu.org/ml/gcc/2002-08/msg00731.html - - NOTE to myself: I still have to apply the patch to the manpage *after* - compile. - - Add --enable-__cxa_atexit to ./configure, fixing bug #6430. - -*gcc-3.1.1-r1 (30 Jul 2002) - - 30 Jul 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1.1-r1 : - - Gcc-3.1.1 final. Also fixed it to be able to disable java. - Major cleanups from 3.1.1. - -*gcc-3.2_pre (28 Jul 2002) - - 30 Jul 2002; Mark Guertin <gerk@gentoo.org> gcc-3.2_pre : - Added ppc to keywords - - 30 Jul 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2_pre : - - Some cleanups. Use the "java" USE flag to enable/disable java - as it add a bit to compile time. - - 28 Jul 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2_pre : - - Add CVS version of gcc-3.2. - -*gcc-3.1.1 (07 Jul 2002) - - 7 Jul 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1.1 : - - Add snapshot for gcc-3.1.1. This fixes the internal compiler - errors with "-march=pentium4" for me at least (had with gcc-3.1). - -*gcc-3.1-r8 (03 Jul 2002) - - 6 Jul 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1-r8 : - - Update the fix for bug #4411, as the old caused ncurses, among things - not to link properly if an older version was installed. The sed - rule is now: - - sed -e "s:%{L\*} %(link_libgcc):%{L\*} -L/lib %(link_libgcc):" specs - - - 3 Jul 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1-r8 : - - Move all the libs to the version specific directory. Add a fix for - bug #4411, which should be considered *very* experimental. - - 3 Jul 2002; Martin Schlemmer <azarah@gentoo.org> : - Add the /usr/bin/$CHOST-g++ symlink, as it is needed now for - some weird reason. - -*gcc-2.95.3-r7 (29 Jun 2002) - - 29 Jun 2002; Martin Schlemmer <azarah@gentoo.org> : - Remove texinfo as we have an ebuild again. - - This new patch for the atexit problem occured with glibc-2.2.3 should - work with glibc-2.2.4. This closes bug #3987 and #4004. - - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2001/08/0476.html - http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2001/08/0589.html - - Something to note, is that this patch makes gcc crash if its given - the "-mno-ieee-fp" flag ... libvorbis is an good example of this. - This however is on of those which one we want fixed most cases :/ - - Also fix bug #3527, which was caused by a stray symlink on downgrading from - gcc-3.x. - -*gcc-3.1-r7 (29 June 2002) - - 29 June 2002; Brandon Low <lostlogic@gentoo.org> gcc-3.1-r6.ebuild : - - Make sure that static linking against gcc libraries works with a little - sed magic :). - - 25 Jun 2002; Martin Schlemmer <azarah@gentoo.org> texinfo providing ebuilds : - Add ibiblio to SRC_URI for all texinfo providing ebuilds (2.95.3 and 3.0.4); - resolve bug #1777. - -*gcc-3.1-r6 (10 June 2002) - - 11 June 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1-r6.ebuild : - - Update version checking. - - 10 June 2002; Bart Verwilst <verwilst@gentoo.org> Changelog: - - Remove curses.h and ncurses.h from the installation, so it doesn't - conflict with our ncurses package. - - -*gcc-3.1-r5 (29 May 2002) - - 29 May 2002; Matthew Kennedy <azarah@gentoo.org> gcc-3.1-r5.ebuild, - ChangeLog, files/digest-gcc-3.1-r5 : - - Fixes how we check for already install gcc's. - -*gcc-3.1-r4 (25 May 2002) - - 25 May 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1-r4.ebuild : - - Fix some more files that got installed in the wrong location. From - gcc-3.1, locales is installed in $datadir, so we should not set that - to a custom dir, and since libgcj.jar now have the version appended, - it should not be a problem with multiple version installs anymore. - -*gcc-3.1-r3 (25 May 2002) - - 25 May 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1-r3.ebuild : - - Added some Redhat/Suse/Mandrake patches. - -*gcc-3.1-r2 (24 May 2002) - - 24 May 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.1-r2.ebuild : - - Use the correct library versions in src_install(). - -*gcc-3.1-r1 (20 May 2002) - 20 May 2002; Spider <spider@gentoo.org> gcc-3.1-r1.ebuild : - removed all texinfo references in gcc 3.1 ebuild. - -*gcc-3.1 (17 May 2002) - - 17 May 2002; Preston Elder <prez@gentoo.org> gcc-3.1 : - - Added the 3.1 ebuild. - -*gcc-3.0.4-r6 (2 May 2002) - - 3 May 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.0.4-r6 : - - Fix some typo's thanks to Jared H. Hudson. - -*gcc-3.0.4-r5 (2 May 2002) - - 2 May 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.0.4-r5 : - - Only move .la files for parallel builds, else some packages (KDE *grin*) - fails to build. - -*gcc-2.95.3-r6 (30 Apr 2002) - - 30 Apr 2002; Daniel Robbins <drobbins@gentoo.org>: removed libiberty.a as - binutils installs it. This closes bug #2266. - -*gcc-3.0.4-r4 (25 Apr 2002) - - 25 Apr 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.0.4-r4 : - - Only apply the gcc3-program-transform.patch patch if building - a multiple install of gcc. - - 17 Apr 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.0.4-r3 : - - Move .la files to gcc internal dir to fix gcc2+libtool problems - of trying to link /usr/lib/libstdc++.so. - -*gcc-3.0.4-r3 (16 Apr 2002) - - 16 Apr 2002; Martin Schlemmer <azarah@gentoo.org> : - - Moved the manpages to version spesific ones. More cleanups. - Moved libgcj.jar to /usr/lib/gcc-$PV. - -*gcc-3.0.4-r2 (15 Apr 2002) - - 15 Apr 2002; Martin Schlemmer <azarah@gentoo.org> : - - This build enables us to have multiple versions of gcc - installed. - -*gcc-3.0.4 (1 Mar 2002) - - 1 Mar 2002; Grant Goodyear <g2boojum@gentoo.org> : - - Added 3.0.4. It looks like using the --disable-checks - command fixes most of the sandbox violations that we had - with 3.0.3 (or 3.0.4 no longer tries to update system - headers; I'm not sure which). - -*gcc-2.95.3-r5 (1 Feb 2002) - - 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog : - - Added initial ChangeLog which should be updated whenever the package is - updated in any way. This changelog is targetted to users. This means that the - comments should well explained and written in clean English. The details about - writing correct changelogs are explained in the skel.ChangeLog file which you - can find in the root directory of the portage repository. diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 0f1a36777d7d..02d55d9f888d 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -11,16 +11,17 @@ MD5 05e7bb2b00b720f2f80c9289b049a2fc gcc-3.3.2-r2.ebuild 17937 MD5 e586ae3d1dfd608365379f735502944b gcc-3.3.3.ebuild 22203 MD5 f3ebca152f27914897021eb0ddba2c35 gcc-3.3.1-r5.ebuild 17689 MD5 7b9e1f5167f95ef12201d256c1540273 gcc-3.4.1.ebuild 30210 +MD5 0e70d777f5b638857ad4c19b507e3de4 gcc-3.4.1-r3.ebuild 31213 MD5 5dc2c1245f12b0870a32c2ac4d9f58d7 gcc-3.3.3-r6.ebuild 24863 MD5 3f83a8d4f48a08c93928a74922eabaf0 gcc-3.3.2-r4.ebuild 20562 MD5 2f2650284e244eafc0795b02a1bdadd2 gcc-2.95.3-r8.ebuild 8306 MD5 192382b893da342324669e153371fd56 gcc-3.3.3-r3.ebuild 23575 MD5 8dc61d014521e2c7e35e11b147a5be30 gcc-3.3.2-r1.ebuild 17783 -MD5 89eb6ab822f4734f08cd7e2665acc697 ChangeLog 67423 +MD5 31a4625ece1a2c117a3475540ae39c60 ChangeLog 67609 MD5 c874c9694587097d692fa64cd46be416 gcc-3.3.2.ebuild 17730 MD5 c45538377c4cf95b5e05fe3f3eaecc97 gcc-3.3.3_pre20040426.ebuild 22454 +MD5 f0f868e57af0d5504fe71ed9f126e0ea gcc-3.3.4-r2.ebuild 24805 MD5 567094e03359ffc1c95af7356395228d metadata.xml 162 -MD5 dce0d569acbf0ba02b504d6d24ed1e8b gcc-3.4.1-r2.ebuild 31161 MD5 fbdd9445945cd92c9f1791320f6f5f31 gcc-3.3.3-r5.ebuild 24223 MD5 f7e7042c2ddf66e344b30cbc66ebaf73 files/cc 24 MD5 80d122265d3062847a4a1b161abe1d26 files/cpp 24 @@ -39,7 +40,9 @@ MD5 5a9db19cd5ad6ad16b0f838d525d842a files/digest-gcc-3.3.3-r3 522 MD5 3a68d40d170427ffbfcf181b5099d693 files/digest-gcc-3.3.3-r5 528 MD5 3fd5a29d44b89f4fb220fccaa968fc05 files/digest-gcc-3.3.3-r6 442 MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r1 442 +MD5 6df16eb92245a931ecfc4cbcc73c84cf files/digest-gcc-3.3.4-r2 442 MD5 c6ea8a92bac6d2638c54c011f98bc5b8 files/digest-gcc-3.4.1-r2 442 +MD5 c6ea8a92bac6d2638c54c011f98bc5b8 files/digest-gcc-3.4.1-r3 442 MD5 3e2ed05a6d6829b70d282af8aa1fce82 files/digest-gcc-3.4.2-r1 358 MD5 8f56750ce25ca30ffebcbdb65de95a1f files/digest-gcc-3.3.3_pre20040426 138 MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352 @@ -50,7 +53,6 @@ MD5 fc48a7567c14adcfeed10b5e03b4ebf6 files/digest-gcc-3.4.1 355 MD5 3213bd50acdbbd71ce7dd3e40710e30e files/digest-gcc-2.95.3-r8 64 MD5 f57a9900e4d0edcae7b1e327e263d2f7 files/digest-gcc-3.3 294 MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324 -MD5 edced3dd7f4035b638bbee500bc89e7b files/gcc-spec-env.patch 791 MD5 07b57d62aa1a8cd4d1cd37984ebe2053 files/scan_libgcc_linked_ssp.sh 861 MD5 f6b6f7c3577eccb694066bb54dd8075a files/3.3/gcc33-gentoo-branding-1.patch 870 MD5 d047c78a9141b16915d8ec3f54d1e246 files/3.3/gcc33-coreutils-compat.patch.bz2 3462 @@ -95,6 +97,7 @@ MD5 4b249bff27ab6328436e6289ac9f9cfc files/3.3.3/gcc333_pre20040215-gentoo-brand MD5 66df5567226338b7504bbd3c25cea92c files/3.3.3/gcc-3.3.3-libiberty-pic.patch 370 MD5 3210d5fd70806c44d4426c3dceebd480 files/3.3.3/gcc333_pre20040408-stack-size.patch 653 MD5 27120401d2355e5d959b8d2d55eba310 files/3.3.4/gcc334-gentoo-branding.patch 876 +MD5 bdb8caa319e9be11a73a0fc4f405cfbd files/3.3.4/gcc-3.3.4-spec-env.patch 785 MD5 bae93db3186aa0fc25d659b7799ef499 files/3.4.0/gcc34-ppc64-m32-m64-multilib-only.patch 825 MD5 17b3190d64e34ed7709d022b326d08ae files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch 563 MD5 c919e0a2cd429d0121b6133c1b4e41a6 files/3.4.0/gcc34-ice-hack.patch 8605 @@ -103,6 +106,7 @@ MD5 c7ed491e4bcee6cae89067d4e1c899a8 files/3.4.0/gcc34-ia64-lib64.patch 1395 MD5 06580106a905e8fa2ff23aa190f9d82c files/3.4.0/gcc-3.4.0-r6-gentoo-branding.patch 781 MD5 4edccdf0b4f6dbbc9f7bc9370c255e0c files/3.4.0/gcc34-reiser4-fix.patch 587 MD5 66edf32babf498517ca56fa44c901f26 files/3.4.0/gcc-3.4.0-move-propolice-into-glibc.patch 894 +MD5 3bc8c78533f4e995671cee8784ea82a6 files/3.4.1/gcc-3.4.1-spec-env.patch 754 MD5 cd770c23ece7458db5e6c5067f262ce0 files/3.4.1/gcc-3.4.1-glibc-is-native.patch 760 MD5 aa8e15a63d797df37bbd4e489ed0267f files/3.4.1/gcc-3.4.1-mips-n64only.patch 614 MD5 7cb2138ac2df6f8674d19974e966a45b files/3.4.1/gcc-3.4.1-mips-n32only.patch 614 diff --git a/sys-devel/gcc/files/3.3.4/gcc-3.3.4-spec-env.patch b/sys-devel/gcc/files/3.3.4/gcc-3.3.4-spec-env.patch new file mode 100644 index 000000000000..e8cbc4659503 --- /dev/null +++ b/sys-devel/gcc/files/3.3.4/gcc-3.3.4-spec-env.patch @@ -0,0 +1,24 @@ +--- gcc-3.3.4.orig/gcc/gcc.c 2004-09-19 19:41:03.943656776 +0000 ++++ gcc-3.3.4/gcc/gcc.c 2004-09-19 19:43:16.165555992 +0000 +@@ -6421,6 +6421,21 @@ + + /* Process any user specified specs in the order given on the command + line. */ ++ ++ GET_ENVIRONMENT (specs_file, "GCC_SPEC"); ++ if (specs_file) ++ { ++ struct user_specs *user = (struct user_specs *) ++ xmalloc (sizeof (struct user_specs)); ++ ++ user->next = (struct user_specs *) 0; ++ user->filename = specs_file; ++ if (user_specs_tail) ++ user_specs_tail->next = user; ++ else ++ user_specs_head = user; ++ user_specs_tail = user; ++ } + for (uptr = user_specs_head; uptr; uptr = uptr->next) + { + char *filename = find_a_file (&startfile_prefixes, uptr->filename, diff --git a/sys-devel/gcc/files/3.4.1/gcc-3.4.1-spec-env.patch b/sys-devel/gcc/files/3.4.1/gcc-3.4.1-spec-env.patch new file mode 100644 index 000000000000..44d790fc521b --- /dev/null +++ b/sys-devel/gcc/files/3.4.1/gcc-3.4.1-spec-env.patch @@ -0,0 +1,23 @@ +--- gcc-3.4.1.orig/gcc/gcc.c 2004-09-19 19:56:59.264425944 +0000 ++++ gcc-3.4.1/gcc/gcc.c 2004-09-19 20:01:19.101924640 +0000 +@@ -6421,6 +6421,20 @@ + + /* Process any user specified specs in the order given on the command + line. */ ++ ++ GET_ENVIRONMENT (specs_file, "GCC_SPEC"); ++ if (specs_file) ++ { ++ struct user_specs *user = xmalloc (sizeof (struct user_specs)); ++ ++ user->next = (struct user_specs *) 0; ++ user->filename = specs_file; ++ if (user_specs_tail) ++ user_specs_tail->next = user; ++ else ++ user_specs_head = user; ++ user_specs_tail = user; ++ } + for (uptr = user_specs_head; uptr; uptr = uptr->next) + { + char *filename = find_a_file (&startfile_prefixes, uptr->filename, diff --git a/sys-devel/gcc/files/digest-gcc-3.3.4-r2 b/sys-devel/gcc/files/digest-gcc-3.3.4-r2 new file mode 100644 index 000000000000..6832afb620e8 --- /dev/null +++ b/sys-devel/gcc/files/digest-gcc-3.3.4-r2 @@ -0,0 +1,6 @@ +MD5 a1c267b34f05c8660b24251865614d8b gcc-3.3.4.tar.bz2 23331664 +MD5 18a5af8be484605fbb35da7325eb4d90 gcc-3.3.4-patches-1.0.tar.bz2 67416 +MD5 a9edaf4e17cc4e91db9804caf8ee56c3 gcc-3.3.4-branch-update-20040623.patch.bz2 250809 +MD5 c24398a6d67954d467cbf2fc6c9dc3f9 protector-3.3.2-2.tar.gz 27258 +MD5 620ac4c41d8fbf6761e2401b7b07b713 gcc-3.3.3-piepatches-v8.7.6.tar.bz2 13916 +MD5 2b3242e9a55e26be57556c830c24825f gcc-3.3.4-manpages.tar.bz2 137301 diff --git a/sys-devel/gcc/files/digest-gcc-3.4.1-r3 b/sys-devel/gcc/files/digest-gcc-3.4.1-r3 new file mode 100644 index 000000000000..5ada98933542 --- /dev/null +++ b/sys-devel/gcc/files/digest-gcc-3.4.1-r3 @@ -0,0 +1,6 @@ +MD5 31b459062499f9f68d451db9cbf3205c gcc-3.4.1.tar.bz2 27182385 +MD5 029f1dde684d2f4132bc339908513451 gcc-3.4.1-branch-update-20040803.patch.bz2 220869 +MD5 52bf522b3fdfb93f2e939c1b52e21590 gcc-3.4.1-patches-1.1.tar.bz2 33399 +MD5 5db6cb16c361476f4bcb48df16793243 protector-3.4-2.tar.gz 31066 +MD5 2764c295d8348f58defd33b7eea9d5b7 gcc-3.4.1-manpages.tar.bz2 614346 +MD5 c6d950e8f61cbac4590061a116669b56 gcc-3.4.0-piepatches-v8.7.6.5.tar.bz2 16392 diff --git a/sys-devel/gcc/gcc-3.3.4-r2.ebuild b/sys-devel/gcc/gcc-3.3.4-r2.ebuild new file mode 100644 index 000000000000..3f1d9df5ac09 --- /dev/null +++ b/sys-devel/gcc/gcc-3.3.4-r2.ebuild @@ -0,0 +1,831 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.4-r2.ebuild,v 1.1 2004/09/19 21:20:02 tigger Exp $ + +inherit eutils flag-o-matic libtool gnuconfig + +# The next command strips most flags from CFLAGS/CXXFLAGS. If you do +# not like it, comment it out, but do not file bugreports if you run into +# problems. +do_filter_flags() { + strip-flags + + # In general gcc does not like optimization ... we'll add -O2 where safe + filter-flags -O? + + # -O2 is safe and good for sparc + [ "${ARCH}" = "sparc" ] && append-flags -O2 + + # Compile problems with these (bug #6641 among others)... + #filter-flags -fno-exceptions -fomit-frame-pointer -fforce-addr +} + +# gcc produce unstable binaries if compiled with a different CHOST. +[ "${ARCH}" = "hppa" ] && export CHOST="hppa-unknown-linux-gnu" + +# Theoretical cross compiler support +[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" + +LOC="/usr" +MY_PV="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" +MY_PV_FULL="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" + +LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${MY_PV_FULL}" +BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" +DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" +# Dont install in /usr/include/g++-v3/, but in gcc internal directory. +# We will handle /usr/include/g++-v3/ with gcc-config ... +STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" + +# PIE support +PIE_VER="8.7.6" + +# ProPolice version +PP_VER="3_3_2" +PP_FVER="${PP_VER//_/.}-2" + +# Patch tarball support ... +#PATCH_VER="1.0" +PATCH_VER="1.0" + +# Snapshot support ... +#SNAPSHOT="2002-08-12" +SNAPSHOT= + +# Branch update support ... +MAIN_BRANCH="${PV}" # Tarball, etc used ... + +#BRANCH_UPDATE="20040412" +BRANCH_UPDATE="20040623" + +if [ -z "${SNAPSHOT}" ] +then + S="${WORKDIR}/${PN}-${MAIN_BRANCH}" + SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${MAIN_BRANCH}.tar.bz2" + + if [ -n "${PATCH_VER}" ] + then + SRC_URI="${SRC_URI} + mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2" + fi + + if [ -n "${BRANCH_UPDATE}" ] + then + SRC_URI="${SRC_URI} + mirror://gentoo/${PN}-${MAIN_BRANCH}-branch-update-${BRANCH_UPDATE}.patch.bz2" + fi +else + S="${WORKDIR}/gcc-${SNAPSHOT//-}" + SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2" +fi +if [ -n "${PP_VER}" ] +then + SRC_URI="${SRC_URI} + http://www.research.ibm.com/trl/projects/security/ssp/gcc${PP_VER}/protector-${PP_FVER}.tar.gz" +fi +# bug #6148 - the bounds checking patch interferes with gcc.c +if [ -n "${PIE_VER}" ] +then + PIE_CORE="gcc-3.3.3-piepatches-v${PIE_VER}.tar.bz2" + SRC_URI="${SRC_URI} mirror://gentoo/${PIE_CORE}" +fi +SRC_URI="${SRC_URI} + mirror://gentoo/${P}-manpages.tar.bz2" + +DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie and ssp extensions" +HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" + +LICENSE="GPL-2 LGPL-2.1" +## SpanKY says hppa is a no go with any 3.3.x + +KEYWORDS="-hppa ~x86 ~amd64 ~mips ~arm ~sparc" + +IUSE="static nls bootstrap build X multilib gcj f77 objc pic hardened uclibc debug" + +# Ok, this is a hairy one again, but lets assume that we +# are not cross compiling, than we want SLOT to only contain +# $PV, as people upgrading to new gcc layout will not have +# their old gcc unmerged ... +if [ "${CHOST}" == "${CCHOST}" ] +then +# GCC-3.3 is supposed to be binary compatible with 3.2.. +# SLOT="${MY_PV}" + SLOT="3.2" +else +# GCC-3.3 is supposed to be binary compatible with 3.2.. +# SLOT="${CCHOST}-${MY_PV}" + SLOT="${CCHOST}-3.2" +fi + +# We need the later binutils for support of the new cleanup attribute. +# 'make check' fails for about 10 tests (if I remember correctly) less +# if we use later bison. +# This one depends on glibc-2.3.2-r3 containing the __guard in glibc +# we scan for Guard@@libgcc and then apply the function moving patch. +# If using NPTL, we currently cannot however depend on glibc-2.3.2-r3, +# else bootstap will break. + +# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs +DEPEND="virtual/libc + !uclibc? ( !nptl? ( >=sys-libs/glibc-2.3.2-r3 ) ) + !uclibc? ( hardened? ( >=sys-libs/glibc-2.3.2-r9 ) ) + ( !sys-devel/hardened-gcc ) + >=sys-devel/binutils-2.14.90.0.6-r1 + >=sys-devel/bison-1.875 + >=sys-devel/gcc-config-1.3.6 + amd64? ( multilib? ( >=app-emulation/emul-linux-x86-baselibs-1.0 ) ) + sparc? ( hardened? ( >=sys-libs/glibc-2.3.3.20040420 ) ) + !build? ( >=sys-libs/ncurses-5.2-r2 + nls? ( sys-devel/gettext ) )" + +RDEPEND="virtual/libc + !uclibc? ( !nptl? ( >=sys-libs/glibc-2.3.2-r3 ) ) + !uclibc? ( hardened? ( >=sys-libs/glibc-2.3.2-r9 ) ) + >=sys-devel/gcc-config-1.3.1 + >=sys-libs/zlib-1.1.4 + >=sys-apps/texinfo-4.2-r4 + !build? ( >=sys-libs/ncurses-5.2-r2 )" + +PDEPEND="sys-devel/gcc-config" + + +chk_gcc_version() { + # This next bit is for updating libtool linker scripts ... + local OLD_GCC_VERSION="`gcc -dumpversion`" + local OLD_GCC_CHOST="$(gcc -v 2>&1 | egrep '^Reading specs' |\ + sed -e 's:^.*/gcc[^/]*/\([^/]*\)/[0-9]\+.*$:\1:')" + + if [ "${OLD_GCC_VERSION}" != "${MY_PV_FULL}" ] + then + echo "${OLD_GCC_VERSION}" > "${WORKDIR}/.oldgccversion" + fi + + if [ -n "${OLD_GCC_CHOST}" ] + then + if [ "${CHOST}" = "${CCHOST}" -a "${OLD_GCC_CHOST}" != "${CHOST}" ] + then + echo "${OLD_GCC_CHOST}" > "${WORKDIR}/.oldgccchost" + fi + fi + + # Did we check the version ? + touch "${WORKDIR}/.chkgccversion" +} + +version_patch() { + [ ! -f "$1" ] && return 1 + [ -z "$2" ] && return 1 + + sed -e "s:@GENTOO@:$2:g" ${1} > ${T}/${1##*/} + epatch ${T}/${1##*/} +} + +glibc_have_ssp() { + use uclibc \ + && local my_libc="${ROOT}/lib/libc.so.0" \ + || local my_libc="${ROOT}/lib/libc.so.6" + +# Not necessary. lib64 is a symlink to /lib. -- avenj@gentoo.org 3 Apr 04 +# case "${ARCH}" in +# "amd64") +# my_libc="${ROOT}/lib64/libc.so.?" +# ;; +# esac + + # Check for the glibc to have the __guard symbols + if [ "$(readelf -s "${my_libc}" 2>/dev/null | \ + grep GLOBAL | grep OBJECT | grep '__guard')" ] && \ + [ "$(readelf -s "${my_libc}" 2>/dev/null | \ + grep GLOBAL | grep FUNC | grep '__stack_smash_handler')" ] + then + return 0 + else + return 1 + fi +} + +glibc_have_pie() { + if [ ! -f ${ROOT}/usr/lib/Scrt1.o ] ; then + echo + ewarn "Your glibc does not have support for pie, the file Scrt1.o is missing" + ewarn "Please update your glibc to a proper version or disable hardened" + echo + return 1 + fi +} + +check_glibc_ssp() { + if glibc_have_ssp + then + if [ -n "${GLIBC_SSP_CHECKED}" ] && \ + [ -z "$(readelf -s "${ROOT}/$(gcc-config -L)/libgcc_s.so" 2>/dev/null | \ + grep 'GLOBAL' | grep 'OBJECT' | grep '__guard')" ] + then + # No need to check again ... + return 0 + fi + + echo + ewarn "This sys-libs/glibc has __guard object and __stack_smash_handler functions" + ewarn "scanning the system for binaries with __guard - this may take 5-10 minutes" + ewarn "Please do not press ctrl-C or ctrl-Z during this period - it will continue" + echo + if ! bash ${FILESDIR}/scan_libgcc_linked_ssp.sh + then + echo + eerror "Found binaries that are dynamically linked to the libgcc with __guard@@GCC" + eerror "You need to compile these binaries without CFLAGS -fstack-protector/hcc -r" + echo + eerror "Also, you have to make sure that using ccache needs the cache to be flushed" + eerror "wipe out /var/tmp/ccache or /root/.ccache. This will remove possible saved" + eerror "-fstack-protector arguments that still may reside in such a compiler cache" + echo + eerror "When such binaries are found, gcc cannot remove libgcc propolice functions" + eerror "leading to gcc -static -fstack-protector breaking, see gentoo bug #25299" + echo + einfo "To do a full scan on your system, enter this following command in a shell" + einfo "(Please keep running and remerging broken packages until it do not report" + einfo " any breakage anymore!):" + echo + einfo " # ${FILESDIR}/scan_libgcc_linked_ssp.sh" + echo + die "Binaries with libgcc __guard@GCC dependencies detected!" + else + echo + einfo "No binaries with suspicious libgcc __guard@GCC dependencies detected" + echo + fi + fi + + return 0 +} + +update_gcc_for_libc_ssp() { + if glibc_have_ssp + then + einfo "Updating gcc to use SSP from glibc..." + sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -D_LIBC_PROVIDES_SSP_|' \ + -i ${S}/gcc/Makefile.in || die "Failed to update gcc!" + fi +} + +src_unpack() { + local release_version="Gentoo Linux ${PVR}" + + if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ] + then + # the guard check should be very early in the unpack process + check_glibc_ssp + fi + + [ -n "${PIE_VER}" ] && use hardened && glibc_have_pie + + if [ -z "${SNAPSHOT}" ] + then + unpack ${PN}-${MAIN_BRANCH}.tar.bz2 + + if [ -n "${PATCH_VER}" ] + then + unpack ${P}-patches-${PATCH_VER}.tar.bz2 + fi + else + unpack gcc-${SNAPSHOT//-}.tar.bz2 + fi + + if [ -n "${PP_VER}" ] + then + unpack protector-${PP_FVER}.tar.gz + fi + + if [ -n "${PIE_VER}" ] + then + unpack ${PIE_CORE} + fi + + cd ${S} + # Fixup libtool to correctly generate .la files with portage + elibtoolize --portage --shallow + + # Branch update ... + if [ -n "${BRANCH_UPDATE}" ] + then + epatch ${DISTDIR}/${PN}-${MAIN_BRANCH}-branch-update-${BRANCH_UPDATE}.patch.bz2 + fi + + # Do bulk patches included in ${P}-patches-${PATCH_VER}.tar.bz2 + if [ -n "${PATCH_VER}" ] + then + mkdir -p ${WORKDIR}/patch/exclude + mv -f ${WORKDIR}/patch/16* ${WORKDIR}/patch/exclude/ + mv -f ${WORKDIR}/patch/70* ${WORKDIR}/patch/exclude/ + + if use multilib && [ "${ARCH}" = "amd64" ] + then + mv -f ${WORKDIR}/patch/06* ${WORKDIR}/patch/exclude/ + bzip2 -c ${FILESDIR}/gcc331_use_multilib.amd64.patch > \ + ${WORKDIR}/patch/06_amd64_gcc331-use-multilib.patch.bz2 + fi + + epatch ${WORKDIR}/patch + mv ${S}/gcc-3.3.2/libstdc++-v3/config/os/uclibc ${S}/libstdc++-v3/config/os/ || die + mv ${S}/gcc-3.3.2/libstdc++-v3/config/locale/uclibc ${S}/libstdc++-v3/config/locale/ || die + use uclibc && epatch ${FILESDIR}/3.3.3/gcc-uclibc-3.3-loop.patch + fi + + if [ -n "${PIE_VER}" ] + then + # corrects startfile/endfile selection and shared/static/pie flag usage + epatch ${WORKDIR}/piepatch/upstream + # adds non-default pie support (for now only rs6000) + epatch ${WORKDIR}/piepatch/nondef + # adds default pie support for all archs less rs6000 if DEFAULT_PIE[_SSP] is defined + epatch ${WORKDIR}/piepatch/def + # disable relro/now + use uclibc && epatch ${FILESDIR}/3.3.3/gcc-3.3.3-norelro.patch + fi + + if [ "${ARCH}" = "ppc" -o "${ARCH}" = "ppc64" ] + then + epatch ${FILESDIR}/3.3.3/gcc333_pre20040408-stack-size.patch + fi + + if [ "${ARCH}" = "arm" ] + then + epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-getoff.patch + epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-ldm.patch + fi + + # non-default SSP support. + if [ "${ARCH}" != "hppa" -a "${ARCH}" != "hppa64" -a -n "${PP_VER}" ] + then + # ProPolice Stack Smashing protection + EPATCH_OPTS="${EPATCH_OPTS} ${WORKDIR}/protector.dif" \ + epatch ${FILESDIR}/3.3.1/gcc331-pp-fixup.patch + + EPATCH_OPTS="${EPATCH_OPTS} ${WORKDIR}/protector.dif" \ + epatch ${FILESDIR}/3.3.3/gcc333-ssp-3.3.2_1-fixup.patch + + epatch ${WORKDIR}/protector.dif + epatch ${FILESDIR}/pro-police-docs.patch + + cp ${WORKDIR}/protector.c ${WORKDIR}/${P}/gcc/ || die "protector.c not found" + cp ${WORKDIR}/protector.h ${WORKDIR}/${P}/gcc/ || die "protector.h not found" + + [ -n "${PATCH_VER}" ] && epatch ${FILESDIR}/3.3.3/gcc-3.3.3-uclibc-add-ssp.patch + + # we apply only the needed parts of protectonly.dif + sed -e 's|^CRTSTUFF_CFLAGS = |CRTSTUFF_CFLAGS = -fno-stack-protector-all |' \ + -i gcc/Makefile.in || die "Failed to update crtstuff!" + #sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -fno-stack-protector-all|' \ + # -i ${S}/gcc/Makefile.in || die "Failed to update libgcc!" + + release_version="${release_version}, ssp-${PP_FVER}" + + update_gcc_for_libc_ssp + fi + + cd ${WORKDIR}/${P} + + [ -n "${PIE_VER}" ] && release_version="${release_version}, pie-${PIE_VER}" + + if use hardened && ( use x86 || use amd64 || use sparc || use hppa ) + then + einfo "Updating gcc to use automatic PIE + SSP building ..." + sed -e 's|^ALL_CFLAGS = |ALL_CFLAGS = -DEFAULT_PIE_SSP |' \ + -i ${S}/gcc/Makefile.in || die "Failed to update gcc!" + + # rebrand to make bug reports easier + release_version="${release_version/Gentoo/Gentoo Hardened}" + fi + + # corrects text relocations in libiberty.a + (use pic || use hardened) && epatch ${FILESDIR}/3.3.3/gcc-3.3.3-libiberty-pic.patch + + version_patch ${FILESDIR}/3.3.4/gcc334-gentoo-branding.patch \ + "${BRANCH_UPDATE} (${release_version})" || die "Failed Branding" + + # Misdesign in libstdc++ (Redhat) + cp -a ${S}/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h + + # disable --as-needed from being compiled into gcc specs + # natively when using >=sys-devel/binutils-2.15.90.0.1 this is + # done to keep our gcc backwards compatible with binutils. + # gcc 3.4.1 cvs has patches that need back porting.. + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14992 (May 3 2004) + sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g ${S}/gcc/config.in + + epatch ${FILESDIR}/3.3.4/gcc-3.3.4-spec-env.patch + + use uclibc && gnuconfig_update + + cd ${S}; ./contrib/gcc_update --touch &> /dev/null +} + +src_compile() { + local myconf= + local gcc_lang= + + if ! use build + then + myconf="${myconf} --enable-shared" + gcc_lang="c,c++" + use f77 && gcc_lang="${gcc_lang},f77" + use objc && gcc_lang="${gcc_lang},objc" + use gcj && gcc_lang="${gcc_lang},java" + # We do NOT want 'ADA support' in here! + # use ada && gcc_lang="${gcc_lang},ada" + else + gcc_lang="c" + fi + if ! use nls || use build + then + myconf="${myconf} --disable-nls" + else + myconf="${myconf} --enable-nls --without-included-gettext" + fi + + # Enable building of the gcj Java AWT & Swing X11 backend + # if we have X as a use flag and are not in a build stage. + # X11 support is still very experimental but enabling it is + # quite innocuous... [No, gcc is *not* linked to X11...] + # <dragon@gentoo.org> (15 May 2003) + if ! use build && use gcj && use X && [ -f /usr/X11R6/include/X11/Xlib.h ] + then + myconf="${myconf} --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib" + myconf="${myconf} --enable-interpreter --enable-java-awt=xlib --with-x" + fi + + # Multilib not yet supported + if use multilib && [ "${ARCH}" = "amd64" ] + then + einfo "WARNING: Multilib support enabled. This is still experimental." + myconf="${myconf} --enable-multilib" + else + if [ "${ARCH}" = "amd64" ] + then + einfo "WARNING: Multilib not enabled. You will not be able to build 32bit binaries." + fi + myconf="${myconf} --disable-multilib" + fi + + # Fix linking problem with c++ apps which where linked + # against a 3.2.2 libgcc + [ "${ARCH}" = "hppa" ] && myconf="${myconf} --enable-sjlj-exceptions" + + # --with-gnu-ld needed for cross-compiling + # --enable-sjlj-exceptions : currently the unwind stuff seems to work + # for statically linked apps but not dynamic + # so use setjmp/longjmp exceptions by default + # --disable-libunwind-exceptions needed till unwind sections get fixed. see ps.m for details + + if ! use uclibc + then + # it's getting close to a time where we are going to need USE=glibc, uclibc, bsdlibc -solar + myconf="${myconf} --enable-__cxa_atexit --enable-clocale=generic" + else + myconf="${myconf} --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-sjlj-exceptions" + fi + + # Make sure we have sane CFLAGS + do_filter_flags + + # Build in a separate build tree + mkdir -p ${WORKDIR}/build + cd ${WORKDIR}/build + + # Install our pre generated manpages if we do not have perl ... + if [ ! -x /usr/bin/perl ] + then + unpack ${P}-manpages.tar.bz2 + fi + + einfo "Configuring GCC..." + addwrite "/dev/zero" + ${S}/configure --prefix=${LOC} \ + --bindir=${BINPATH} \ + --includedir=${LIBPATH}/include \ + --datadir=${DATAPATH} \ + --mandir=${DATAPATH}/man \ + --infodir=${DATAPATH}/info \ + --enable-shared \ + --host=${CHOST} \ + --target=${CCHOST} \ + --with-system-zlib \ + --enable-languages=${gcc_lang} \ + --enable-threads=posix \ + --enable-long-long \ + --disable-checking \ + --disable-libunwind-exceptions \ + --enable-cstdio=stdio \ + --enable-version-specific-runtime-libs \ + --with-gxx-include-dir=${STDCXX_INCDIR} \ + --with-local-prefix=${LOC}/local \ + ${myconf} || die + + touch ${S}/gcc/c-gperf.h + + # Do not make manpages if we do not have perl ... + if [ ! -x /usr/bin/perl ] + then + find ${WORKDIR}/build -name '*.[17]' -exec touch {} \; || : + fi + + # Setup -j in MAKEOPTS + get_number_of_jobs + + einfo "Building GCC..." + # Only build it static if we are just building the C frontend, else + # a lot of things break because there are not libstdc++.so .... + if use static && [ "${gcc_lang}" = "c" ] + then + # Fix for our libtool-portage.patch + S="${WORKDIR}/build" \ + emake LDFLAGS="-static" bootstrap \ + LIBPATH="${LIBPATH}" \ + BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + # Above FLAGS optimize and speedup build, thanks + # to Jeff Garzik <jgarzik@mandrakesoft.com> + else + # Fix for our libtool-portage.patch + S="${WORKDIR}/build" \ + emake bootstrap-lean \ + LIBPATH="${LIBPATH}" \ + BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + + fi +} + +src_install() { + local x= + + # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as + # this can break the build. + for x in ${WORKDIR}/build/gcc/include/* + do + if [ -L ${x} ] + then + rm -f ${x} + continue + fi + done + # Remove generated headers, as they can cause things to break + # (ncurses, openssl, etc). + for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` + do + if grep -q 'It has been auto-edited by fixincludes from' ${x} + then + rm -f ${x} + fi + done + + einfo "Installing GCC..." + # Do the 'make install' from the build directory + cd ${WORKDIR}/build + S="${WORKDIR}/build" \ + make prefix=${LOC} \ + bindir=${BINPATH} \ + includedir=${LIBPATH}/include \ + datadir=${DATAPATH} \ + mandir=${DATAPATH}/man \ + infodir=${DATAPATH}/info \ + DESTDIR="${D}" \ + LIBPATH="${LIBPATH}" \ + install || die + + [ -r ${D}${BINPATH}/gcc ] || die "gcc not found in ${D}" + + dodir /lib /usr/bin + dodir /etc/env.d/gcc + echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + if use multilib && [ "${ARCH}" = "amd64" ] + then + # amd64 is a bit unique because of multilib. Add some other paths + echo "LDPATH=\"${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32\"" >> \ + ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + else + echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + fi + echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + # Also set CC and CXX + echo "CC=\"gcc\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "CXX=\"g++\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + # Make sure we do not check glibc for SSP again, as we did already + if glibc_have_ssp || \ + [ -f "${ROOT}/etc/env.d/99glibc_ssp" ] + then + echo "GLIBC_SSP_CHECKED=1" > ${D}/etc/env.d/99glibc_ssp + fi + + # Make sure we dont have stuff lying around that + # can nuke multiple versions of gcc + if ! use build + then + cd ${D}${LIBPATH} + + # Tell libtool files where real libraries are + for x in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la + do + if [ -f "${x}" ] + then + sed -i -e "s:/usr/lib:${LIBPATH}:" ${x} + mv ${x} ${D}${LIBPATH} + fi + done + + # Move all the libraries to version specific libdir. + for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* + do + [ -f "${x}" -o -L "${x}" ] && mv -f ${x} ${D}${LIBPATH} + done + + # Move Java headers to compiler-specific dir + for x in ${D}${LOC}/include/gc*.h ${D}${LOC}/include/j*.h + do + [ -f "${x}" ] && mv -f ${x} ${D}${LIBPATH}/include/ + done + for x in gcj gnu java javax org + do + if [ -d "${D}${LOC}/include/${x}" ] + then + dodir /${LIBPATH}/include/${x} + mv -f ${D}${LOC}/include/${x}/* ${D}${LIBPATH}/include/${x}/ + rm -rf ${D}${LOC}/include/${x} + fi + done + + if [ -d "${D}${LOC}/lib/security" ] + then + dodir /${LIBPATH}/security + mv -f ${D}${LOC}/lib/security/* ${D}${LIBPATH}/security + rm -rf ${D}${LOC}/lib/security + fi + + # Move libgcj.spec to compiler-specific directories + [ -f "${D}${LOC}/lib/libgcj.spec" ] && \ + mv -f ${D}${LOC}/lib/libgcj.spec ${D}${LIBPATH}/libgcj.spec + + # Rename jar because it could clash with Kaffe's jar if this gcc is + # primary compiler (aka don't have the -<version> extension) + cd ${D}${LOC}/${CCHOST}/gcc-bin/${MY_PV} + [ -f jar ] && mv -f jar gcj-jar + + # Move <cxxabi.h> to compiler-specific directories + [ -f "${D}${STDCXX_INCDIR}/cxxabi.h" ] && \ + mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${D}${LIBPATH}/include/ + + # These should be symlinks + cd ${D}${BINPATH} + for x in gcc g++ c++ g77 gcj + do + rm -f ${CCHOST}-${x} + [ -f "${x}" ] && ln -sf ${x} ${CCHOST}-${x} + + if [ -f "${CCHOST}-${x}-${PV}" ] + then + rm -f ${CCHOST}-${x}-${PV} + ln -sf ${x} ${CCHOST}-${x}-${PV} + fi + done + fi + + # This one comes with binutils + [ -f "${D}${LOC}/lib/libiberty.a" ] && rm -f ${D}${LOC}/lib/libiberty.a + + cd ${S} + if ! use build + then + cd ${S} + docinto /${CCHOST} + dodoc COPYING COPYING.LIB ChangeLog* FAQ MAINTAINERS README + docinto ${CCHOST}/html + dohtml *.html + cd ${S}/boehm-gc + docinto ${CCHOST}/boehm-gc + dodoc ChangeLog doc/{README*,barrett_diagram} + docinto ${CCHOST}/boehm-gc/html + dohtml doc/*.html + cd ${S}/gcc + docinto ${CCHOST}/gcc + dodoc ChangeLog* FSFChangeLog* LANGUAGES ONEWS README* SERVICE + if use f77 + then + cd ${S}/libf2c + docinto ${CCHOST}/libf2c + dodoc ChangeLog* README TODO *.netlib + fi + cd ${S}/libffi + docinto ${CCHOST}/libffi + dodoc ChangeLog* LICENSE README + cd ${S}/libiberty + docinto ${CCHOST}/libiberty + dodoc ChangeLog* COPYING.LIB README + if use objc + then + cd ${S}/libobjc + docinto ${CCHOST}/libobjc + dodoc ChangeLog* README* THREADS* + fi + cd ${S}/libstdc++-v3 + docinto ${CCHOST}/libstdc++-v3 + dodoc ChangeLog* README + docinto ${CCHOST}/libstdc++-v3/html + dohtml -r -a css,diff,html,txt,xml docs/html/* + cp -f docs/html/17_intro/[A-Z]* \ + ${D}/usr/share/doc/${PF}/${DOCDESTTREE}/17_intro/ + + if use gcj + then + cd ${S}/fastjar + docinto ${CCHOST}/fastjar + dodoc AUTHORS CHANGES COPYING ChangeLog* NEWS README + cd ${S}/libjava + docinto ${CCHOST}/libjava + dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS + fi + + prepman ${DATAPATH} + prepinfo ${DATAPATH} + else + rm -rf ${D}/usr/share/{man,info} + rm -rf ${D}${DATAPATH}/{man,info} + fi + + # Rather install the script, else portage with changing $FILESDIR + # between binary and source package borks things .... + insinto /lib/rcscripts/awk + doins ${FILESDIR}/awk/fixlafiles.awk + exeinto /sbin + doexe ${FILESDIR}/fix_libtool_files.sh + + if use multilib && [ "${ARCH}" = "amd64" ] + then + # If using multilib, GCC has a bug, where it doesn't know where to find + # -lgcc_s when linking while compiling with g++ . ${LIBPATH} is in + # it's path though, so ln the 64bit and 32bit versions of -lgcc_s + # to that directory. + ln -sf ${LIBPATH}/../lib64/libgcc_s.so ${D}/${LIBPATH}/libgcc_s.so + ln -sf ${LIBPATH}/../lib32/libgcc_s_32.so ${D}/${LIBPATH}/libgcc_s_32.so + fi +} + +pkg_preinst() { + + if [ ! -f "${WORKDIR}/.chkgccversion" ] + then + chk_gcc_version + fi + + # Make again sure that the linker "should" be able to locate + # libstdc++.so ... + if use multilib && [ "${ARCH}" = "amd64" ] + then + # Can't always find libgcc_s.so.1, make it find it + export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" + else + export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" + fi + ${ROOT}/sbin/ldconfig +} + +pkg_postinst() { + + if use multilib && [ "${ARCH}" = "amd64" ] + then + # Can't always find libgcc_s.so.1, make it find it + export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" + else + export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" + fi + if [ "${ROOT}" = "/" -a "${CHOST}" = "${CCHOST}" ] + then + gcc-config --use-portage-chost ${CCHOST}-${MY_PV_FULL} + fi + + # Update libtool linker scripts to reference new gcc version ... + if [ "${ROOT}" = "/" ] && \ + [ -f "${WORKDIR}/.oldgccversion" -o -f "${WORKDIR}/.oldgccchost" ] + then + local OLD_GCC_VERSION= + local OLD_GCC_CHOST= + + if [ -f "${WORKDIR}/.oldgccversion" ] && \ + [ -n "$(cat "${WORKDIR}/.oldgccversion")" ] + then + OLD_GCC_VERSION="$(cat "${WORKDIR}/.oldgccversion")" + else + OLD_GCC_VERSION="${MY_PV_FULL}" + fi + + if [ -f "${WORKDIR}/.oldgccchost" ] && \ + [ -n "$(cat "${WORKDIR}/.oldgccchost")" ] + then + OLD_GCC_CHOST="--oldarch $(cat "${WORKDIR}/.oldgccchost")" + fi + + /sbin/fix_libtool_files.sh ${OLD_GCC_VERSION} ${OLD_GCC_CHOST} + fi +} + diff --git a/sys-devel/gcc/gcc-3.4.1-r3.ebuild b/sys-devel/gcc/gcc-3.4.1-r3.ebuild new file mode 100644 index 000000000000..6f43e0605afb --- /dev/null +++ b/sys-devel/gcc/gcc-3.4.1-r3.ebuild @@ -0,0 +1,1002 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.1-r3.ebuild,v 1.1 2004/09/19 21:20:02 tigger Exp $ + +IUSE="static nls bootstrap build multilib gcj gtk f77 objc hardened uclibc n32 n64" + +inherit eutils flag-o-matic libtool gnuconfig + +DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie and ssp extensions" +HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" +LICENSE="GPL-2 LGPL-2.1" + +# previous release known to b0rk glibc on hppa... i dont know if this bug +# still exists, so i'll keep in the -hppa... +KEYWORDS="-* ~amd64 ~mips ~ppc64 ~x86 -hppa ppc" + +# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs +# we also need at least glibc 2.3.3 20040420-r1 in order for gcc 3.4 not to nuke +# SSP in glibc. + +# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper +# .eh_frame ld optimisation and symbol visibility support, but it hasnt been +# well tested in gentoo on any arch other than amd64!! +DEPEND="virtual/libc + !uclibc? ( >=sys-libs/glibc-2.3.3_pre20040420-r1 ) + !uclibc? ( hardened? ( >=sys-libs/glibc-2.3.3_pre20040529 ) ) + ( !sys-devel/hardened-gcc ) + >=sys-devel/binutils-2.14.90.0.8-r1 + amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 ) + >=sys-devel/bison-1.875 + >=sys-devel/gcc-config-1.3.1 + amd64? ( multilib? ( >=app-emulation/emul-linux-x86-baselibs-1.0 ) ) + !build? ( gcj? ( gtk? ( >=x11-libs/gtk+-2.2 ) ) ) + !build? ( gcj? ( >=media-libs/libart_lgpl-2.1 ) ) + !build? ( >=sys-libs/ncurses-5.2-r2 + nls? ( sys-devel/gettext ) )" + +RDEPEND="virtual/libc + !uclibc? ( >=sys-libs/glibc-2.3.3_pre20040420-r1 ) + !uclibc? ( hardened? ( >=sys-libs/glibc-2.3.3_pre20040529 ) ) + >=sys-devel/gcc-config-1.3.1 + >=sys-libs/zlib-1.1.4 + >=sys-apps/texinfo-4.2-r4 + !build? ( >=sys-libs/ncurses-5.2-r2 )" + +PDEPEND="sys-devel/gcc-config" +[ "${ABI}" != "n32" ] && [ "${ABI}" != "n64" ] && PDEPEND="${PDEPEND} + !n32? ( !n64? ( !uclibc? ( sys-libs/libstdc++-v3 ) ) )" + + +# <<--------------------SRC_URI variables-------------------->> +# Location of gentoo-specific files. Please dont set this to mirror, that +# would just make the files unavailable until they get mirrored. All files +# in SRC_URI will eventually get mirrored and mirrors will be tried before +# falling back on this location anyways. +GENTOO_BASE_URI="http://dev.gentoo.org/~lv/" + +# Patch tarball support ... +PATCH_VER="1.1" + +# Snapshot support ... +#SNAPSHOT="2002-08-12" +SNAPSHOT= + +# Pre-release support +if [ ${PV} != ${PV/_pre/-} ] ; then + PRERELEASE=${PV/_pre/-} +fi + +# Branch update support ... +MAIN_BRANCH="${PV}" # Tarball, etc used ... +BRANCH_UPDATE=20040803 + +# PIE support +PIE_VER="8.7.6.5" +PIE_CORE="gcc-3.4.0-piepatches-v${PIE_VER}.tar.bz2" + +# ProPolice version +PP_VER="3_4" +PP_FVER="${PP_VER//_/.}-2" + + +# magic! =D +if [ -n "${PRERELEASE}" ] ; then + S="${WORKDIR}/gcc-${PRERELEASE}" + SRC_URI="ftp://gcc.gnu.org/pub/gcc/prerelease-${PRERELEASE}/gcc-${PRERELEASE}.tar.bz2" +elif [ -n "${SNAPSHOT}" ] ; then + S="${WORKDIR}/gcc-${SNAPSHOT//-}" + SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2" +else + S="${WORKDIR}/${PN}-${MAIN_BRANCH}" + SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${MAIN_BRANCH}.tar.bz2" + if [ -n "${BRANCH_UPDATE}" ] + then + SRC_URI="${SRC_URI} + ${GENTOO_BASE_URI}/${PN}-${MAIN_BRANCH}-branch-update-${BRANCH_UPDATE}.patch.bz2" + fi +fi + +if [ -n "${PATCH_VER}" ] +then + SRC_URI="${SRC_URI} ${GENTOO_BASE_URI}/${P}-patches-${PATCH_VER}.tar.bz2" +fi + +if [ -n "${PP_VER}" ] +then + SRC_URI="${SRC_URI} + http://www.research.ibm.com/trl/projects/security/ssp/gcc${PP_VER}/protector-${PP_FVER}.tar.gz" +fi + +# PERL cannot be present at bootstrap, and is used to build the man pages. So.. +# lets include some pre-generated ones, shall we? +SRC_URI="${SRC_URI} ${GENTOO_BASE_URI}/gcc-3.4.1-manpages.tar.bz2" + +# mmm... PIE =D +SRC_URI="${SRC_URI} ${GENTOO_BASE_URI}${PIE_CORE}" +# >>--------------------SRC_URI variables--------------------<< + + +# Recently there has been a lot of stability problem in Gentoo-land. Many +# things can be the cause to this, but I believe that it is due to gcc3 +# still having issues with optimizations, or with it not filtering bad +# combinations (protecting the user maybe from himeself) yet. +# +# This can clearly be seen in large builds like glibc, where too aggressive +# CFLAGS cause the tests to fail miserbly. +# +# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion +# knows what he is talking about: +# +# People really shouldn't force code-specific options on... It's a +# bad idea. The -march options aren't just to look pretty. They enable +# options that are sensible (and include sse,mmx,3dnow when apropriate). +# +# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If +# you do not like it, comment it, but do not bugreport if you run into +# problems. +# +# <azarah@gentoo.org> (13 Oct 2002) +do_filter_flags() { + strip-flags + + # In general gcc does not like optimization, and add -O2 where + # it is safe. This is especially true for gcc 3.3 + 3.4 + replace-flags -O? -O2 + + # -mcpu is deprecated on these archs, and possibly others + if use amd64 || use x86 ; then + setting="`get-flag mcpu`" + [ ! -z "${setting}" ] && \ + replace-flags -mcpu="${setting}" -mtune="${setting}" && \ + ewarn "-mcpu is deprecated on your arch\a\a\a" && \ + epause 5 + strip-unsupported-flags + fi + + # If we use multilib on mips, we shouldn't pass -mabi flag - it breaks + # build of non-default-abi libraries. + use mips && use multilib && filter-flags "-mabi*" + + # Compile problems with these (bug #6641 among others)... + #filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr" + + export GCJFLAGS="${CFLAGS}" +} + +# Theoretical cross compiler support +[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" + +LOC="/usr" +MY_PV="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" +MY_PV_FULL="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" + +# GCC 3.4 no longer uses gcc-lib. we'll rename this later for compatibility +# reasons, as a few things would break without gcc-lib. +LIBPATH="${LOC}/lib/gcc/${CCHOST}/${MY_PV_FULL}" +BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" +DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" +# Dont install in /usr/include/g++-v3/, but in gcc internal directory. +# We will handle /usr/include/g++-v3/ with gcc-config ... +STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" + +# Ok, this is a hairy one again, but lets assume that we +# are not cross compiling, than we want SLOT to only contain +# $PV, as people upgrading to new gcc layout will not have +# their old gcc unmerged ... +# GCC 3.4 introduces a new version of libstdc++ +if [ "${CHOST}" == "${CCHOST}" ] +then + SLOT="${MY_PV}" +else + SLOT="${CCHOST}-${MY_PV}" +fi + +has_lib64() { + use amd64 && return 0 + use ppc64 && return 0 + return 1 +} + +chk_gcc_version() { + # This next bit is for updating libtool linker scripts ... + local OLD_GCC_VERSION="`gcc -dumpversion`" + local OLD_GCC_CHOST="$(gcc -v 2>&1 | egrep '^Reading specs' |\ + sed -e 's:^.*/gcc[^/]*/\([^/]*\)/[0-9]\+.*$:\1:')" + + if [ "${OLD_GCC_VERSION}" != "${MY_PV_FULL}" ] + then + echo "${OLD_GCC_VERSION}" > "${WORKDIR}/.oldgccversion" + fi + + if [ -n "${OLD_GCC_CHOST}" ] + then + if [ "${CHOST}" = "${CCHOST}" -a "${OLD_GCC_CHOST}" != "${CHOST}" ] + then + echo "${OLD_GCC_CHOST}" > "${WORKDIR}/.oldgccchost" + fi + fi + + # Did we check the version ? + touch "${WORKDIR}/.chkgccversion" +} + +version_patch() { + [ ! -f "$1" ] && return 1 + [ -z "$2" ] && return 1 + + sed -e "s:@GENTOO@:$2:g" ${1} > ${T}/${1##*/} + epatch ${T}/${1##*/} +} + +check_option_validity() { + # Must compile for mips64-linux target if we want n32/n64 support + case "${CCHOST}" in + mips64-*) + ;; + *) + if use n32 || use n64; then + eerror "n32/n64 can only be used when target host is mips64-*-linux-*"; + die "Invalid USE flags for CCHOST ($CCHOST)"; + fi + ;; + esac + + #cannot have both n32 & n64 without multilib + if use n32 && use n64 && ! use multilib; then + eerror "Please enable multilib if you want to use both n32 & n64"; + die "Invalid USE flag combination"; + fi +} + +glibc_have_ssp() { + # one day lib64 wont be a symlink on amd64, but this still works + # and is what we want to use in the long run + has_lib64 \ + && local libc_prefix="/lib64/" \ + || local libc_prefix="/lib/" + + use uclibc \ + && local libc_file="libc.so.0" \ + || local libc_file="libc.so.6" + + local my_libc=${ROOT}/${libc_prefix}/${libc_file} + + # Check for the glibc to have the __guard symbols + if [ "$(readelf -s "${my_libc}" 2>/dev/null | \ + grep GLOBAL | grep OBJECT | grep '__guard')" ] && \ + [ "$(readelf -s "${my_libc}" 2>/dev/null | \ + grep GLOBAL | grep FUNC | grep '__stack_smash_handler')" ] + then + return 0 + else + return 1 + fi +} + +glibc_have_pie() { + if [ ! -f ${ROOT}/usr/lib/Scrt1.o ] ; then + echo + ewarn "Your glibc does not have support for pie, the file Scrt1.o is missing" + ewarn "Please update your glibc to a proper version or disable hardened" + echo + return 1 + fi +} + +check_glibc_ssp() { + [ "$GLIBC_SSP_CHECKED" = 1 ] && return 0 + if glibc_have_ssp + then + if [ -n "${GLIBC_SSP_CHECKED}" ] && \ + [ -z "$(readelf -s "${ROOT}/$(gcc-config -L)/libgcc_s.so" 2>/dev/null | \ + grep 'GLOBAL' | grep 'OBJECT' | grep '__guard')" ] + then + # No need to check again ... + return 0 + fi + + echo + ewarn "This sys-libs/glibc has __guard object and __stack_smash_handler functions" + ewarn "scanning the system for binaries with __guard - this may take 5-10 minutes" + ewarn "Please do not press ctrl-C or ctrl-Z during this period - it will continue" + echo + if ! bash ${FILESDIR}/scan_libgcc_linked_ssp.sh + then + echo + eerror "Found binaries that are dynamically linked to the libgcc with __guard@@GCC" + eerror "You need to compile these binaries without CFLAGS -fstack-protector/hcc -r" + echo + eerror "Also, you have to make sure that using ccache needs the cache to be flushed" + eerror "wipe out /var/tmp/ccache or /root/.ccache. This will remove possible saved" + eerror "-fstack-protector arguments that still may reside in such a compiler cache" + echo + eerror "When such binaries are found, gcc cannot remove libgcc propolice functions" + eerror "leading to gcc -static -fstack-protector breaking, see gentoo bug #25299" + echo + einfo "To do a full scan on your system, enter this following command in a shell" + einfo "(Please keep running and remerging broken packages until it do not report" + einfo " any breakage anymore!):" + echo + einfo " # ${FILESDIR}/scan_libgcc_linked_ssp.sh" + echo + die "Binaries with libgcc __guard@GCC dependencies detected!" + else + echo + einfo "No binaries with suspicious libgcc __guard@GCC dependencies detected" + echo + fi + fi + + return 0 +} + +update_gcc_for_libc_ssp() { + if glibc_have_ssp + then + einfo "Updating gcc to use SSP from glibc..." + sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -D_LIBC_PROVIDES_SSP_|' \ + -i ${S}/gcc/Makefile.in || die "Failed to update gcc!" + fi +} + +do_patch_tarball() { + # Do bulk patches included in ${P}-patches-${PATCH_VER}.tar.bz2 + if [ -n "${PATCH_VER}" ] + then + mkdir -p ${WORKDIR}/patch/exclude + #mv -f ${WORKDIR}/patch/84* ${WORKDIR}/patch/exclude/ + + # for uclibc we rather copy the needed files and patch them + mkdir ${S}/libstdc++-v3/config/{locale/uclibc,os/uclibc} || \ + die "can't create uclibc directories" + cp ${S}/libstdc++-v3/config/locale/gnu/* \ + ${S}/libstdc++-v3/config/locale/uclibc/ || die "can't copy uclibc locale" + cp ${S}/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h \ + ${S}/libstdc++-v3/config/locale/uclibc/ || die "can't copy uclibc codecvt" + cp ${S}/libstdc++-v3/config/os/gnu-linux/* \ + ${S}/libstdc++-v3/config/os/uclibc/ || die "can't copy uclibc os" + cp ${S}/gcc/config/t-linux ${S}/gcc/config/t-linux-uclibc || \ + die "can't copy t-linux" + cp ${S}/gcc/config/cris/t-linux ${S}/gcc/config/cris/t-linux-uclibc || \ + die "can't copy cris/t-linux" + cp ${S}/gcc/config/sh/t-linux ${S}/gcc/config/sh/t-linux-uclibc || \ + die "can't copy sh/t-linux" + cp ${S}/gcc/config/sh/t-sh64 ${S}/gcc/config/sh/t-sh64-uclibc || \ + die "can't copy sh/t-sh64" + + if use multilib && [ "${ARCH}" = "amd64" ] + then + mv -f ${WORKDIR}/patch/06* ${WORKDIR}/patch/exclude/ + bzip2 -c ${FILESDIR}/gcc331_use_multilib.amd64.patch > \ + ${WORKDIR}/patch/06_amd64_gcc331-use-multilib.patch.bz2 + fi + + epatch ${WORKDIR}/patch + + # the uclibc patches need autoconf to be run + # for build stage we need the updated files though + use build || ( cd ${S}/libstdc++-v3; autoconf; cd ${S} ) + #use build && use uclibc && ewarn "uclibc in build stage is not supported yet" && exit 1 + + elif use multilib && [ "${ARCH}" = "amd64" ] + then + # We need this even if there isnt a patchset + epatch ${FILESDIR}/gcc331_use_multilib.amd64.patch + fi +} + +do_piessp_patches() { + # TODO: on arches where we lack a Scrt1.o (like parisc) we still need unpack, compile and install logic + # TODO: for the crt1Snocsu.o provided by a custom gcc-pie-ssp.tgz which can also be included in SRC_URI + + if [ -n "${PIE_VER}" ] + then + [ -z "${PATCH_VER}" ] && mv piepatch/upstream/04_* piepatch/ + + # corrects startfile/endfile selection and shared/static/pie flag usage + epatch ${WORKDIR}/piepatch/upstream + # adds non-default pie support (rs6000) + epatch ${WORKDIR}/piepatch/nondef + # adds default pie support (rs6000 too) if DEFAULT_PIE[_SSP] is defined + epatch ${WORKDIR}/piepatch/def + # disable relro/now + use uclibc && epatch ${FILESDIR}/3.3.3/gcc-3.3.3-norelro.patch + fi + + # non-default SSP support. + if [ "${ARCH}" != "hppa" -a "${ARCH}" != "hppa64" -a -n "${PP_VER}" ] + then + # ProPolice Stack Smashing protection + epatch ${WORKDIR}/protector.dif + epatch ${FILESDIR}/pro-police-docs.patch + + cp ${WORKDIR}/gcc/protector.c ${S}/gcc/ || die "protector.c not found" + cp ${WORKDIR}/gcc/protector.h ${S}/gcc/ || die "protector.h not found" + cp -R ${WORKDIR}/gcc/testsuite/* ${S}/gcc/testsuite/ || die "testsuite not found" + + [ -n "${PATCH_VER}" ] && epatch ${FILESDIR}/3.3.3/gcc-3.3.3-uclibc-add-ssp.patch + + # we apply only the needed parts of protectonly.dif + sed -e 's|^CRTSTUFF_CFLAGS = |CRTSTUFF_CFLAGS = -fno-stack-protector-all |' \ + -i gcc/Makefile.in || die "Failed to update crtstuff!" + #sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -fno-stack-protector-all|' \ + # -i ${S}/gcc/Makefile.in || die "Failed to update libgcc!" + + # if gcc in a stage3 defaults to ssp, is version 3.4.0 and a stage1 is built + # the build fails building timevar.o w/: + # cc1: stack smashing attack in function ix86_split_to_parts() + if gcc -dumpspecs | grep -q "fno-stack-protector:" + then + use build && epatch ${FILESDIR}/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch + fi + + release_version="${release_version}, ssp-${PP_FVER}" + + update_gcc_for_libc_ssp + fi + + release_version="${release_version}, pie-${PIE_VER}" + if use hardened && ( use x86 || use sparc || use amd64 ) + then + einfo "Updating gcc to use automatic PIE + SSP building ..." + sed -e 's|^ALL_CFLAGS = |ALL_CFLAGS = -DEFAULT_PIE_SSP |' \ + -i ${S}/gcc/Makefile.in || die "Failed to update gcc!" + + # rebrand to make bug reports easier + release_version="${release_version/Gentoo/Gentoo Hardened}" + fi +} + +src_unpack() { + local release_version="Gentoo Linux ${PVR}" + + if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ] + then + # the guard check should be very early in the unpack process + check_glibc_ssp + fi + + [ -n "${PIE_VER}" ] && use hardened && glibc_have_pie + + if [ -n "${PRERELEASE}" ] ; then + unpack gcc-${PRERELEASE}.tar.bz2 + elif [ -n "${SNAPSHOT}" ] ; then + unpack gcc-${SNAPSHOT//-}.tar.bz2 + else + unpack ${PN}-${MAIN_BRANCH}.tar.bz2 + fi + + if [ -n "${PATCH_VER}" ] + then + unpack ${P}-patches-${PATCH_VER}.tar.bz2 + fi + + if [ -n "${PP_VER}" ] + then + unpack protector-${PP_FVER}.tar.gz + fi + + if [ -n "${PIE_VER}" ] + then + unpack ${PIE_CORE} + fi + + cd ${S} + # Fixup libtool to correctly generate .la files with portage + elibtoolize --portage --shallow + + # Branch update ... + if [ -n "${BRANCH_UPDATE}" ] + then + epatch ${DISTDIR}/${PN}-${MAIN_BRANCH}-branch-update-${BRANCH_UPDATE}.patch.bz2 + fi + + do_patch_tarball + do_piessp_patches + + version_patch ${FILESDIR}/3.4.1/gcc-${PV}-r2-gentoo-branding.patch \ + "${BRANCH_UPDATE} (${release_version})" || die "Failed Branding" + + # misc patches that havent made it into a patch tarball yet + epatch ${FILESDIR}/3.4.0/gcc34-reiser4-fix.patch + epatch ${FILESDIR}/3.4.1/gcc-3.4.1-spec-env.patch + + # MIPS is screwed screwed thing - but it's cool! + # I had to add ABI variable, because during bootstrap + # USE flags get stripped. This doesn't make gcc happy. + # I'll take care of multilib when I actually decide to make it work. + # (That implied somebody has to add appropriate support to portage + # first). + if ! use multilib; then + if [ "${ABI}" = "n32" ]; then + epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n32only.patch + elif [ "${ABI}" = n64 ]; then + epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n64only.patch + fi + fi + + if use amd64 && use multilib ; then + # this should hack around the GCC_NO_EXECUTABLES bug + epatch ${FILESDIR}/3.4.1/gcc-3.4.1-glibc-is-native.patch + cd ${S}/libstdc++-v3 + einfo "running autoreconf..." + autoreconf + cd ${S} + fi + + # Misdesign in libstdc++ (Redhat) + cp -a ${S}/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h + + # disable --as-needed from being compiled into gcc specs + # natively when using >=sys-devel/binutils-2.15.90.0.1 this is + # done to keep our gcc backwards compatible with binutils. + # gcc 3.4.1 cvs has patches that need back porting.. + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14992 (May 3 2004) + sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g ${S}/gcc/config.in + + use uclibc && gnuconfig_update + + cd ${S}; ./contrib/gcc_update --touch &> /dev/null +} + +src_compile() { + + local myconf= + local gcc_lang= + + check_option_validity + + if ! use build + then + myconf="${myconf} --enable-shared" + gcc_lang="c,c++" + use f77 && gcc_lang="${gcc_lang},f77" + use objc && gcc_lang="${gcc_lang},objc" + use gcj && gcc_lang="${gcc_lang},java" + # We do NOT want 'ADA support' in here! + # use ada && gcc_lang="${gcc_lang},ada" + else + gcc_lang="c" + fi + if ! use nls || use build + then + myconf="${myconf} --disable-nls" + else + myconf="${myconf} --enable-nls --without-included-gettext" + fi + + # GTK+ is preferred over xlib in 3.4.x (xlib is unmaintained + # right now). Much thanks to <csm@gnu.org> for the heads up. + # Travis Tilley <lv@gentoo.org> (11 Jul 2004) + if ! use build && use gcj && use gtk + then + myconf="${myconf} --enable-java-awt=gtk" + fi + + # Multilib not yet supported + if use multilib + then + einfo "Multilib support enabled. This is still experimental." + myconf="${myconf} --enable-multilib" + else + if [ "${ARCH}" = "amd64" ] + then + einfo "WARNING: Multilib not enabled. You will not be able to build 32bit binaries." + fi + myconf="${myconf} --disable-multilib" + fi + + # Fix linking problem with c++ apps which where linked + # against a 3.2.2 libgcc + [ "${ARCH}" = "hppa" ] && myconf="${myconf} --enable-sjlj-exceptions" + + # --with-gnu-ld needed for cross-compiling + # --enable-sjlj-exceptions : currently the unwind stuff seems to work + # for statically linked apps but not dynamic + # so use setjmp/longjmp exceptions by default + # uclibc uses --enable-clocale=uclibc (autodetected) + # --disable-libunwind-exceptions needed till unwind sections get fixed. see ps.m for details + + if ! use uclibc + then + # it's getting close to a time where we are going to need USE=glibc, uclibc, bsdlibc -solar + myconf="${myconf} --enable-__cxa_atexit --enable-clocale=gnu" + else + myconf="${myconf} --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-sjlj-exceptions" + fi + + # Default arch support disabled for now... + #use amd64 && myconf="${myconf} --with-arch=k8" + #use s390 && myconf="${myconf} --with-arch=nofreakingclue" + #use x86 && myconf="${myconf} --with-arch=i586" + #use mips && myconf="${myconf} --with-arch=mips3" + + # Add --with-abi flags to enable respective MIPS ABIs + case "${CCHOST}" in + mips*) + use multilib && myconf="${myconf} --with-abi=32" + [ "${ABI}" = n64 ] && myconf="${myconf} --with-abi=n64" + [ "${ABI}" = n32 ] && myconf="${myconf} --with-abi=n32" + ;; + esac + + do_filter_flags + einfo "CFLAGS=\"${CFLAGS}\"" + einfo "CXXFLAGS=\"${CXXFLAGS}\"" + einfo "GCJFLAGS=\"${GCJFLAGS}\"" + + # Build in a separate build tree + mkdir -p ${WORKDIR}/build + cd ${WORKDIR}/build + + # Install our pre generated manpages if we do not have perl ... + if [ ! -x /usr/bin/perl ] + then + unpack ${P}-manpages.tar.bz2 || die "Failed to unpack man pages" + fi + + einfo "Configuring GCC..." + addwrite "/dev/zero" + ${S}/configure --prefix=${LOC} \ + --bindir=${BINPATH} \ + --includedir=${LIBPATH}/include \ + --datadir=${DATAPATH} \ + --mandir=${DATAPATH}/man \ + --infodir=${DATAPATH}/info \ + --enable-shared \ + --host=${CHOST} \ + --target=${CCHOST} \ + --with-system-zlib \ + --enable-languages=${gcc_lang} \ + --enable-threads=posix \ + --enable-long-long \ + --disable-checking \ + --disable-libunwind-exceptions \ + --enable-cstdio=stdio \ + --enable-version-specific-runtime-libs \ + --with-gxx-include-dir=${STDCXX_INCDIR} \ + --with-local-prefix=${LOC}/local \ + --disable-werror \ + ${myconf} || die + + touch ${S}/gcc/c-gperf.h + + # Do not make manpages if we do not have perl ... + if [ ! -x /usr/bin/perl ] + then + find ${WORKDIR}/build -name '*.[17]' -exec touch {} \; || : + fi + + # Setup -j in MAKEOPTS + get_number_of_jobs + + einfo "Building GCC..." + # Only build it static if we are just building the C frontend, else + # a lot of things break because there are not libstdc++.so .... + if use static && [ "${gcc_lang}" = "c" ] + then + # Fix for our libtool-portage.patch + S="${WORKDIR}/build" \ + emake LDFLAGS="-static" bootstrap \ + LIBPATH="${LIBPATH}" \ + BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + # Above FLAGS optimize and speedup build, thanks + # to Jeff Garzik <jgarzik@mandrakesoft.com> + else + # Fix for our libtool-portage.patch + S="${WORKDIR}/build" \ + emake profiledbootstrap \ + LIBPATH="${LIBPATH}" \ + BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + + fi +} + +src_install() { + local x= + + # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as + # this can break the build. + for x in ${WORKDIR}/build/gcc/include/* + do + if [ -L ${x} ] + then + rm -f ${x} + continue + fi + done + # Remove generated headers, as they can cause things to break + # (ncurses, openssl, etc). + for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` + do + if grep -q 'It has been auto-edited by fixincludes from' ${x} + then + rm -f ${x} + fi + done + + einfo "Installing GCC..." + # Do the 'make install' from the build directory + cd ${WORKDIR}/build + S="${WORKDIR}/build" \ + make prefix=${LOC} \ + bindir=${BINPATH} \ + includedir=${LIBPATH}/include \ + datadir=${DATAPATH} \ + mandir=${DATAPATH}/man \ + infodir=${DATAPATH}/info \ + DESTDIR="${D}" \ + LIBPATH="${LIBPATH}" \ + install || die + + [ -r ${D}${BINPATH}/gcc ] || die "gcc not found in ${D}" + + # Because GCC 3.4 installs into the gcc directory and not the gcc-lib + # directory, we will have to rename it in order to keep compatibility + # with our current libtool check and gcc-config (which would be a pain + # to fix compared to this simple mv and symlink). + mv ${D}/${LOC}/lib/gcc ${D}/${LOC}/lib/gcc-lib + ln -s gcc-lib ${D}/${LOC}/lib/gcc + LIBPATH=${LIBPATH/lib\/gcc/lib\/gcc-lib} + + dodir /lib /usr/bin + dodir /etc/env.d/gcc + echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + + # The LDPATH stuff is kinda iffy now that we need to provide compatibility + # with older versions of GCC for binary apps. + if use multilib && [ "${ARCH}" = "amd64" ] + then + # amd64 is a bit unique because of multilib. Add some other paths + LDPATH="${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32" + else + LDPATH="${LIBPATH}" + fi + if [ "${BULIB}" != "" ] + then + LDPATH="${LDPATH}:${LOC}/lib/gcc-lib/${CCHOST}/${BULIB}" + fi + echo "LDPATH=\"${LDPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + + echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + # Also set CC and CXX + echo "CC=\"gcc\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + echo "CXX=\"g++\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} + + # Make sure we do not check glibc for SSP again, as we did already + if glibc_have_ssp || \ + [ -f "${ROOT}/etc/env.d/99glibc_ssp" ] + then + echo "GLIBC_SSP_CHECKED=1" > ${D}/etc/env.d/99glibc_ssp + fi + + # Make sure we dont have stuff lying around that + # can nuke multiple versions of gcc + if ! use build + then + cd ${D}${LIBPATH} + + # Tell libtool files where real libraries are + for x in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la + do + if [ -f "${x}" ] + then + sed -i -e "s:/usr/lib:${LIBPATH}:" ${x} + mv ${x} ${D}${LIBPATH} + fi + done + + # Move all the libraries to version specific libdir. + for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* + do + [ -f "${x}" -o -L "${x}" ] && mv -f ${x} ${D}${LIBPATH} + done + + # Move Java headers to compiler-specific dir + for x in ${D}${LOC}/include/gc*.h ${D}${LOC}/include/j*.h + do + [ -f "${x}" ] && mv -f ${x} ${D}${LIBPATH}/include/ + done + for x in gcj gnu java javax org + do + if [ -d "${D}${LOC}/include/${x}" ] + then + dodir /${LIBPATH}/include/${x} + mv -f ${D}${LOC}/include/${x}/* ${D}${LIBPATH}/include/${x}/ + rm -rf ${D}${LOC}/include/${x} + fi + done + + if [ -d "${D}${LOC}/lib/security" ] + then + dodir /${LIBPATH}/security + mv -f ${D}${LOC}/lib/security/* ${D}${LIBPATH}/security + rm -rf ${D}${LOC}/lib/security + fi + + # Move libgcj.spec to compiler-specific directories + [ -f "${D}${LOC}/lib/libgcj.spec" ] && \ + mv -f ${D}${LOC}/lib/libgcj.spec ${D}${LIBPATH}/libgcj.spec + + # Rename jar because it could clash with Kaffe's jar if this gcc is + # primary compiler (aka don't have the -<version> extension) + cd ${D}${LOC}/${CCHOST}/gcc-bin/${MY_PV} + [ -f jar ] && mv -f jar gcj-jar + + # Move <cxxabi.h> to compiler-specific directories + [ -f "${D}${STDCXX_INCDIR}/cxxabi.h" ] && \ + mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${D}${LIBPATH}/include/ + + # These should be symlinks + cd ${D}${BINPATH} + for x in gcc g++ c++ g77 gcj + do + rm -f ${CCHOST}-${x} + [ -f "${x}" ] && ln -sf ${x} ${CCHOST}-${x} + + if [ -f "${CCHOST}-${x}-${PV}" ] + then + rm -f ${CCHOST}-${x}-${PV} + ln -sf ${x} ${CCHOST}-${x}-${PV} + fi + done + fi + + # This one comes with binutils + if [ -f "${D}${LOC}/lib/libiberty.a" ] + then + rm -f ${D}${LOC}/lib/libiberty.a + fi + if [ -f "${D}${LIBPATH}/libiberty.a" ] + then + rm -f ${D}${LIBPATH}/libiberty.a + fi + + cd ${S} + if ! use build + then + cd ${S} + docinto /${CCHOST} + dodoc COPYING COPYING.LIB ChangeLog* FAQ MAINTAINERS README + docinto ${CCHOST}/html + dohtml *.html + cd ${S}/boehm-gc + docinto ${CCHOST}/boehm-gc + dodoc ChangeLog doc/{README*,barrett_diagram} + docinto ${CCHOST}/boehm-gc/html + dohtml doc/*.html + cd ${S}/gcc + docinto ${CCHOST}/gcc + dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE + if use f77 + then + cd ${S}/libf2c + docinto ${CCHOST}/libf2c + dodoc ChangeLog* README TODO *.netlib + fi + cd ${S}/libffi + docinto ${CCHOST}/libffi + dodoc ChangeLog* LICENSE README + cd ${S}/libiberty + docinto ${CCHOST}/libiberty + dodoc ChangeLog* COPYING.LIB README + if use objc + then + cd ${S}/libobjc + docinto ${CCHOST}/libobjc + dodoc ChangeLog* README* THREADS* + fi + cd ${S}/libstdc++-v3 + docinto ${CCHOST}/libstdc++-v3 + dodoc ChangeLog* README + docinto ${CCHOST}/libstdc++-v3/html + dohtml -r -a css,diff,html,txt,xml docs/html/* + cp -f docs/html/17_intro/[A-Z]* \ + ${D}/usr/share/doc/${PF}/${DOCDESTTREE}/17_intro/ + + if use gcj + then + cd ${S}/fastjar + docinto ${CCHOST}/fastjar + dodoc AUTHORS CHANGES COPYING ChangeLog* NEWS README + cd ${S}/libjava + docinto ${CCHOST}/libjava + dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS + fi + + prepman ${DATAPATH} + prepinfo ${DATAPATH} + else + rm -rf ${D}/usr/share/{man,info} + rm -rf ${D}${DATAPATH}/{man,info} + fi + + # Rather install the script, else portage with changing $FILESDIR + # between binary and source package borks things .... + insinto /lib/rcscripts/awk + doins ${FILESDIR}/awk/fixlafiles.awk + exeinto /sbin + doexe ${FILESDIR}/fix_libtool_files.sh + + if has_lib64 + then + # GCC 3.4 tries to place libgcc_s in lib64, where it will never be + # found. When multilib is enabled, it also places the 32bit version in + # lib32. This problem could be handled by a symlink if you only plan on + # having one compiler installed at a time, but since these directories + # exist outside the versioned directories, versions from gcc 3.3 and + # 3.4 will overwrite each other. not good. + use multilib && \ + cp -pfd ${D}/${LIBPATH}/../lib32/libgcc_s* ${D}/${LIBPATH} + cp -pfd ${D}/${LIBPATH}/../lib64/libgcc_s* ${D}/${LIBPATH} + fi +} + +pkg_preinst() { + + if [ ! -f "${WORKDIR}/.chkgccversion" ] + then + chk_gcc_version + fi + + # Make again sure that the linker "should" be able to locate + # libstdc++.so ... + if use multilib && [ "${ARCH}" = "amd64" ] + then + # Can't always find libgcc_s.so.1, make it find it + export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" + else + export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" + fi + ${ROOT}/sbin/ldconfig +} + +pkg_postinst() { + + if use multilib && [ "${ARCH}" = "amd64" ] + then + # Can't always find libgcc_s.so.1, make it find it + export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" + else + export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" + fi + if [ "${ROOT}" = "/" -a "${CHOST}" = "${CCHOST}" ] + then + gcc-config --use-portage-chost ${CCHOST}-${MY_PV_FULL} + fi + + # Update libtool linker scripts to reference new gcc version ... + if [ "${ROOT}" = "/" ] && \ + [ -f "${WORKDIR}/.oldgccversion" -o -f "${WORKDIR}/.oldgccchost" ] + then + local OLD_GCC_VERSION= + local OLD_GCC_CHOST= + + if [ -f "${WORKDIR}/.oldgccversion" ] && \ + [ -n "$(cat "${WORKDIR}/.oldgccversion")" ] + then + OLD_GCC_VERSION="$(cat "${WORKDIR}/.oldgccversion")" + else + OLD_GCC_VERSION="${MY_PV_FULL}" + fi + + if [ -f "${WORKDIR}/.oldgccchost" ] && \ + [ -n "$(cat "${WORKDIR}/.oldgccchost")" ] + then + OLD_GCC_CHOST="--oldarch $(cat "${WORKDIR}/.oldgccchost")" + fi + + /sbin/fix_libtool_files.sh ${OLD_GCC_VERSION} ${OLD_GCC_CHOST} + fi + + ewarn "If you are migrating to gcc 3.4 from a previous compiler, it is" + ewarn "HIGHLY suggested you install libstdc++-v3 before uninstalling" + ewarn "your old compiler, even if you dont plan on using any binary only" + ewarn "applications that would otherwise need it. If you dont, then all" + ewarn "c++ applications will break." +} + |