summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Holland <tigger@gentoo.org>2004-09-19 21:20:02 +0000
committerRob Holland <tigger@gentoo.org>2004-09-19 21:20:02 +0000
commit473f6cf2a7072a4c5a3d24d9015d58471a61979e (patch)
tree1c06d79bad42edd472f217724e1b1e073b623729 /sys-devel/gcc
parentfix stack issues #64117 (Manifest recommit) (diff)
downloadgentoo-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/ChangeLog1668
-rw-r--r--sys-devel/gcc/Manifest10
-rw-r--r--sys-devel/gcc/files/3.3.4/gcc-3.3.4-spec-env.patch24
-rw-r--r--sys-devel/gcc/files/3.4.1/gcc-3.4.1-spec-env.patch23
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.3.4-r26
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.4.1-r36
-rw-r--r--sys-devel/gcc/gcc-3.3.4-r2.ebuild831
-rw-r--r--sys-devel/gcc/gcc-3.4.1-r3.ebuild1002
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."
+}
+