public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2011-11-21  1:43 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2011-11-21  1:43 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    11/11/21 01:43:44

  Modified:             ChangeLog toolchain.eclass
  Log:
  Fix live ebuilds.

Revision  Changes    Path
1.21                 eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.21&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.21&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.20&r2=1.21

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- ChangeLog	19 Nov 2011 20:52:50 -0000	1.20
+++ ChangeLog	21 Nov 2011 01:43:44 -0000	1.21
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.20 2011/11/19 20:52:50 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.21 2011/11/21 01:43:44 dirtyepic Exp $
+
+  21 Nov 2011; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Fix live ebuilds.
 
   19 Nov 2011; Davide Pesavento <pesa@gentoo.org> qt4-build.eclass:
   Add dependency on dev-util/pkgconfig (#385835 and #387783).



1.481                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.481&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.481&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.480&r2=1.481

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.480
retrieving revision 1.481
diff -u -r1.480 -r1.481
--- toolchain.eclass	20 Nov 2011 20:12:47 -0000	1.480
+++ toolchain.eclass	21 Nov 2011 01:43:44 -0000	1.481
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.480 2011/11/20 20:12:47 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.481 2011/11/21 01:43:44 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -933,7 +933,7 @@
 
 	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && die "Sorry, this version does not support uClibc"
 
-	gcc_quick_unpack
+	[[ -z ${GCC_SVN} ]] && gcc_quick_unpack
 	exclude_gcc_patches
 
 	cd "${S}"
@@ -995,7 +995,7 @@
 
 	gcc_version_patch
 	if [[ ${GCCMAJOR}.${GCCMINOR} > 4.0 ]] ; then
-		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then
+		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} || -n ${GCC_SVN} ]] ; then
 			echo ${PV/_/-} > "${S}"/gcc/BASE-VER
 		fi
 	fi






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2011-12-07  0:29 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2011-12-07  0:29 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    11/12/07 00:29:38

  Modified:             ChangeLog toolchain.eclass
  Log:
  Disappear disappeared devs.

Revision  Changes    Path
1.36                 eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.36&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.36&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.35&r2=1.36

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- ChangeLog	5 Dec 2011 07:07:44 -0000	1.35
+++ ChangeLog	7 Dec 2011 00:29:38 -0000	1.36
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.35 2011/12/05 07:07:44 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.36 2011/12/07 00:29:38 dirtyepic Exp $
+
+  07 Dec 2011; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Disappear disappeared devs.
 
   05 Dec 2011; Mike Gilbert <floppym@gentoo.org> java-vm-2.eclass:
   Add semicolon to fix ferringb's last change.



1.506                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.506&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.506&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.505&r2=1.506

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.505
retrieving revision 1.506
diff -u -r1.505 -r1.506
--- toolchain.eclass	6 Dec 2011 22:12:41 -0000	1.505
+++ toolchain.eclass	7 Dec 2011 00:29:38 -0000	1.506
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.505 2011/12/06 22:12:41 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.506 2011/12/07 00:29:38 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -243,11 +243,12 @@
 #			HTB_GCC_VER to that version of gcc.
 #
 gentoo_urls() {
-	local devspace="HTTP~lv/GCC/URI HTTP~eradicator/gcc/URI HTTP~vapier/dist/URI
-	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI HTTP~dirtyepic/dist/URI"
+	local devspace="HTTP~vapier/dist/URI HTTP~dirtyepic/dist/URI
+	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI"
 	devspace=${devspace//HTTP/http:\/\/dev.gentoo.org\/}
 	echo mirror://gentoo/$1 ${devspace//URI/$1}
 }
+
 get_gcc_src_uri() {
 	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
 	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-01-17 16:05 Magnus Granberg (zorry)
  0 siblings, 0 replies; 58+ messages in thread
From: Magnus Granberg (zorry) @ 2012-01-17 16:05 UTC (permalink / raw
  To: gentoo-commits

zorry       12/01/17 16:05:59

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add HARD_CFLAGS to CXXFLAGS on toolchain.eclass

Revision  Changes    Path
1.94                 eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.94&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.94&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.93&r2=1.94

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- ChangeLog	17 Jan 2012 11:20:03 -0000	1.93
+++ ChangeLog	17 Jan 2012 16:05:59 -0000	1.94
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.93 2012/01/17 11:20:03 johu Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.94 2012/01/17 16:05:59 zorry Exp $
+
+  17 Jan 2012; Magnus Granberg <zorry@gentoo.org> toolchain.eclass:
+  Add HARD_CFLAGS to ALL_CXXFLAGS for hardened gcc 4.7
 
   17 Jan 2012; Johannes Huber <johu@gentoo.org> kde4-base.eclass:
   Drop kdeenablefinal build feature. Fix source uri calc for KDE SC 4.7.97 aka



1.515                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.515&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.515&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.514&r2=1.515

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.514
retrieving revision 1.515
diff -u -r1.514 -r1.515
--- toolchain.eclass	16 Dec 2011 18:44:34 -0000	1.514
+++ toolchain.eclass	17 Jan 2012 16:05:59 -0000	1.515
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.514 2011/12/16 18:44:34 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.515 2012/01/17 16:05:59 zorry Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1775,11 +1775,18 @@
 		EPATCH_MULTI_MSG="Applying default pie patches ..." \
 		epatch "${WORKDIR}"/piepatch/def
 	fi
-		# we want to be able to control the pie patch logic via something other
-		# than ALL_CFLAGS...
-		sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
-			-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
-			-i "${S}"/gcc/Makefile.in
+	
+	# we want to be able to control the pie patch logic via something other
+	# than ALL_CFLAGS...
+	sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
+		-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
+		-i "${S}"/gcc/Makefile.in
+	# Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7
+	if tc_version_is_at_least 4.7.0 ; then
+		sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
+                        -e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \
+                        -i "${S}"/gcc/Makefile.in
+	fi
 
 	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
 }






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-02-12 14:17 Magnus Granberg (zorry)
  0 siblings, 0 replies; 58+ messages in thread
From: Magnus Granberg (zorry) @ 2012-02-12 14:17 UTC (permalink / raw
  To: gentoo-commits

zorry       12/02/12 14:17:33

  Modified:             ChangeLog toolchain.eclass
  Log:
  Fix bug 301299 for gcc

Revision  Changes    Path
1.129                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.129&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.129&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.128&r2=1.129

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -r1.128 -r1.129
--- ChangeLog	12 Feb 2012 00:20:54 -0000	1.128
+++ ChangeLog	12 Feb 2012 14:17:33 -0000	1.129
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.128 2012/02/12 00:20:54 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.129 2012/02/12 14:17:33 zorry Exp $
+
+  12 Feb 2012; Magnus Granberg <zorry@gentoo.org> toolchain.eclass:
+  PaX mark cc1 and cc1plus for bug 301299
 
   12 Feb 2012; Robin H. Johnson <robbat2@gentoo.org> autotools.eclass:
   Provide a way to run eautoreconf without automake by using



1.516                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.516&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.516&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.515&r2=1.516

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.515
retrieving revision 1.516
diff -u -r1.515 -r1.516
--- toolchain.eclass	17 Jan 2012 16:05:59 -0000	1.515
+++ toolchain.eclass	12 Feb 2012 14:17:33 -0000	1.516
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.515 2012/01/17 16:05:59 zorry Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.516 2012/02/12 14:17:33 zorry Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -9,7 +9,7 @@
 LICENSE="GPL-2 LGPL-2.1"
 RESTRICT="strip" # cross-compilers need controlled stripping
 
-inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib fixheadtails
+inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib fixheadtails pax-utils
 
 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test pkg_preinst src_install pkg_postinst pkg_prerm pkg_postrm
 DESCRIPTION="Based on the ${ECLASS} eclass"
@@ -1585,6 +1585,12 @@
 	# Don't scan .gox files for executable stacks - false positives
 	export QA_EXECSTACK="usr/lib*/go/*/*.gox"
 	export QA_WX_LOAD="usr/lib*/go/*/*.gox"
+
+	# Disable RANDMMAP so PCH works. #301299
+	if tc_version_is_at_least 4.3 ; then
+		pax-mark -r "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1"
+		pax-mark -r "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
+	fi
 }
 
 gcc_slot_java() {






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-02-20  7:18 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-02-20  7:18 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/02/20 07:18:47

  Modified:             ChangeLog toolchain.eclass
  Log:
  Require dev-libs/ppl-0.11 now that it's stable (bug #396569).  Drop cloog-ppl include path workaround as we've required 0.15.0 for a while now.

Revision  Changes    Path
1.138                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.138&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.138&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.137&r2=1.138

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -r1.137 -r1.138
--- ChangeLog	20 Feb 2012 02:54:21 -0000	1.137
+++ ChangeLog	20 Feb 2012 07:18:47 -0000	1.138
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.137 2012/02/20 02:54:21 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.138 2012/02/20 07:18:47 dirtyepic Exp $
+
+  20 Feb 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Require dev-libs/ppl-0.11 now that it's stable (bug #396569). Drop cloog-ppl
+  include path workaround as we've required 0.15.0 for a while now.
 
   20 Feb 2012; Robin H. Johnson <robbat2@gentoo.org> autotools.eclass:
   Remove my WANT_AUTOMAKE=none overloading in eautomake and instead introduce



1.517                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.517&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.517&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.516&r2=1.517

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.516
retrieving revision 1.517
diff -u -r1.516 -r1.517
--- toolchain.eclass	12 Feb 2012 14:17:33 -0000	1.516
+++ toolchain.eclass	20 Feb 2012 07:18:47 -0000	1.517
@@ -1,6 +1,6 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.516 2012/02/12 14:17:33 zorry Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.517 2012/02/20 07:18:47 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -138,7 +138,7 @@
 	RDEPEND+="
 	    graphite? (
 	        >=dev-libs/cloog-ppl-0.15.10
-	        >=dev-libs/ppl-0.10
+	        >=dev-libs/ppl-0.11
 	    )"
 fi
 
@@ -1070,12 +1070,7 @@
 		confgcc+=" $(use_with graphite cloog)"
 		if use graphite; then
 			confgcc+=" --disable-ppl-version-check"
-			# this will be removed when cloog-ppl-0.15.10 goes stable
-			if has_version '>=dev-libs/cloog-ppl-0.15.10'; then
-				confgcc+=" --with-cloog-include=/usr/include/cloog-ppl"
-			else
-				confgcc+=" --with-cloog-include=/usr/include/cloog"
-			fi
+			confgcc+=" --with-cloog-include=/usr/include/cloog-ppl"
 		fi
 	fi
 






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-03  2:29 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-03  2:29 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/03 02:29:41

  Modified:             ChangeLog toolchain.eclass
  Log:
  Prevent bundled libffi from being installed with gcj or gccgo (bug #354903 by Xake).  Drop old libffi-related code.

Revision  Changes    Path
1.152                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.152&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.152&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.151&r2=1.152

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.151
retrieving revision 1.152
diff -u -r1.151 -r1.152
--- ChangeLog	1 Mar 2012 22:10:50 -0000	1.151
+++ ChangeLog	3 Mar 2012 02:29:41 -0000	1.152
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.151 2012/03/01 22:10:50 naota Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.152 2012/03/03 02:29:41 dirtyepic Exp $
+
+  03 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Prevent bundled libffi from being installed with gcj or gccgo (bug #354903 by
+  Xake).  Drop old libffi-related code.
 
   01 Mar 2012; Naohiro Aota <naota@gentoo.org> eutils.eclass:
   Consider patch alias, #404447



1.520                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.520&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.520&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.519&r2=1.520

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.519
retrieving revision 1.520
diff -u -r1.519 -r1.520
--- toolchain.eclass	2 Mar 2012 05:56:29 -0000	1.519
+++ toolchain.eclass	3 Mar 2012 02:29:41 -0000	1.520
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.519 2012/03/02 05:56:29 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.520 2012/03/03 02:29:41 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -91,7 +91,7 @@
 	[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
 
 	if tc_version_is_at_least 3 ; then
-		IUSE+=" bootstrap doc gcj gtk hardened libffi multilib objc"
+		IUSE+=" bootstrap doc gcj gtk hardened multilib objc"
 
 		tc_version_is_at_least "4.0" && IUSE+=" objc-gc mudflap"
 		tc_version_is_at_least "4.1" && IUSE+=" libssp objc++"
@@ -722,14 +722,6 @@
 
 	use hardened && make_gcc_hard
 
-	if is_libffi ; then
-		# move the libffi target out of gcj and into all
-		sed -i \
-			-e '/^libgcj=/s:target-libffi::' \
-			-e '/^target_lib/s:=":="target-libffi :' \
-			"${S}"/configure || die
-	fi
-
 	# install the libstdc++ python into the right location
 	# http://gcc.gnu.org/PR51368
 	if tc_version_is_at_least 4.5 ; then
@@ -780,6 +772,10 @@
 		do_gcc_rename_java_bins
 	fi
 
+	# Prevent libffi from being installed
+	sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in
+	sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in
+
 	# Fixup libtool to correctly generate .la files with portage
 	cd "${S}"
 	elibtoolize --portage --shallow --no-uclibc
@@ -1494,17 +1490,6 @@
 		fi
 	done
 
-	# I do not know if this will break gcj stuff, so I'll only do it for
-	#	objc for now; basically "ffi.h" is the correct file to include,
-	#	but it gets installed in .../GCCVER/include and yet it does
-	#	"#include <ffitarget.h>" which (correctly, as it's an "extra" file)
-	#	is installed in .../GCCVER/include/libffi; the following fixes
-	#	ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
-	if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
-		mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
-		rm -r "${D}"${LIBPATH}/include/libffi || die
-	fi
-
 	# Now do the fun stripping stuff
 	env RESTRICT="" CHOST=${CHOST} prepstrip "${D}${BINPATH}"
 	env RESTRICT="" CHOST=${CTARGET} prepstrip "${D}${LIBPATH}"
@@ -2005,10 +1990,6 @@
 	use cxx && use_if_iuse go
 }
 
-is_libffi() {
-	use_if_iuse libffi
-}
-
 is_objc() {
 	gcc-lang-supported objc || return 1
 	use_if_iuse objc






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-10 17:49 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-10 17:49 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/10 17:49:56

  Modified:             ChangeLog toolchain.eclass
  Log:
  Fix unpacking of live git ebuilds.

Revision  Changes    Path
1.161                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.161&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.161&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.160&r2=1.161

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -r1.160 -r1.161
--- ChangeLog	9 Mar 2012 23:14:46 -0000	1.160
+++ ChangeLog	10 Mar 2012 17:49:56 -0000	1.161
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.160 2012/03/09 23:14:46 hd_brummy Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.161 2012/03/10 17:49:56 dirtyepic Exp $
+
+  10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Fix unpacking of live git ebuilds.
 
   09 Mar 2012; Joerg Bornkessel <hd_brummy@gentoo.org> vdr-plugin.eclass:
   readded vdr-plugin_pkg_config dummy function



1.525                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.525&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.525&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.524&r2=1.525

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.524
retrieving revision 1.525
diff -u -r1.524 -r1.525
--- toolchain.eclass	4 Mar 2012 18:46:55 -0000	1.524
+++ toolchain.eclass	10 Mar 2012 17:49:56 -0000	1.525
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.524 2012/03/04 18:46:55 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.525 2012/03/10 17:49:56 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -17,7 +17,7 @@
 	# gcc-9999 -> master
 	# gcc-4.7_pre9999 -> 4.7 branch
 	if [[ ${PV} == *_pre9999* ]] ; then
-		EGIT_BRANCH="${PN}_${PV%_pre9999}_branch"
+		EGIT_BRANCH="${PN}-${PV%_pre9999}-branch"
 		EGIT_BRANCH=${EGIT_BRANCH//./_}
 	fi
 	inherit git-2
@@ -58,7 +58,7 @@
 GCC_CONFIG_VER=${GCC_CONFIG_VER:-$(replace_version_separator 3 '-' ${GCC_PV})}
 
 # Pre-release support
-if [[ ${GCC_PV} != ${GCC_PV/_pre/-} ]] ; then
+if [[ ${GCC_PV} != ${GCC_PV/_pre/-} && ${GCC_PV} != *9999* ]] ; then
 	PRERELEASE=${GCC_PV/_pre/-}
 fi
 # make _alpha and _beta ebuilds automatically use a snapshot






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-10 19:32 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-10 19:32 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/10 19:32:33

  Modified:             ChangeLog toolchain.eclass
  Log:
  Tweak live ebuild bits.

Revision  Changes    Path
1.162                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.162&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.162&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.161&r2=1.162

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -r1.161 -r1.162
--- ChangeLog	10 Mar 2012 17:49:56 -0000	1.161
+++ ChangeLog	10 Mar 2012 19:32:33 -0000	1.162
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.161 2012/03/10 17:49:56 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.162 2012/03/10 19:32:33 dirtyepic Exp $
+
+  10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Tweak live ebuild bits.
 
   10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Fix unpacking of live git ebuilds.



1.526                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.526&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.526&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.525&r2=1.526

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.525
retrieving revision 1.526
diff -u -r1.525 -r1.526
--- toolchain.eclass	10 Mar 2012 17:49:56 -0000	1.525
+++ toolchain.eclass	10 Mar 2012 19:32:33 -0000	1.526
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.525 2012/03/10 17:49:56 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.526 2012/03/10 19:32:33 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -15,7 +15,7 @@
 	EGIT_REPO_URI="git://gcc.gnu.org/git/gcc.git"
 	# naming style:
 	# gcc-9999 -> master
-	# gcc-4.7_pre9999 -> 4.7 branch
+	# gcc-4.7_pre9999 -> gcc-4_7-branch
 	if [[ ${PV} == *_pre9999* ]] ; then
 		EGIT_BRANCH="${PN}-${PV%_pre9999}-branch"
 		EGIT_BRANCH=${EGIT_BRANCH//./_}
@@ -189,6 +189,8 @@
 		echo ${WORKDIR}/gcc-${PRERELEASE}
 	elif [[ -n ${SNAPSHOT} ]] ; then
 		echo ${WORKDIR}/gcc-${SNAPSHOT}
+	elif [[ ${GCC_PV} == *9999* ]] ; then
+		echo ${WORKDIR}/${P}
 	else
 		echo ${WORKDIR}/gcc-${GCC_RELEASE_VER}
 	fi
@@ -714,14 +716,11 @@
 	done
 }
 toolchain_src_unpack() {
-	[[ ${PV} == *9999* ]] && git-2_src_unpack
-
-	export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
-
 	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && die "Sorry, this version does not support uClibc"
 
-	gcc_quick_unpack
+	[[ ${PV} == *9999* ]] && git-2_src_unpack || gcc_quick_unpack
 
+	export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
 	cd "${S}"
 
 	if ! use vanilla ; then
@@ -764,7 +763,7 @@
 
 	gcc_version_patch
 	if tc_version_is_at_least 4.1 ; then
-		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} || -n ${GCC_SVN} ]] ; then
+		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then
 			echo ${PV/_/-} > "${S}"/gcc/BASE-VER
 		fi
 	fi






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-10 20:01 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-10 20:01 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/10 20:01:05

  Modified:             ChangeLog toolchain.eclass
  Log:
  We need micro versions on live ebuilds in order for tc_version_is_at_least() to work properly.

Revision  Changes    Path
1.163                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.163&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.163&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.162&r2=1.163

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -r1.162 -r1.163
--- ChangeLog	10 Mar 2012 19:32:33 -0000	1.162
+++ ChangeLog	10 Mar 2012 20:01:05 -0000	1.163
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.162 2012/03/10 19:32:33 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.163 2012/03/10 20:01:05 dirtyepic Exp $
+
+  10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  We need micro versions on live ebuilds in order for tc_version_is_at_least()
+  to work properly.
 
   10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Tweak live ebuild bits.



1.527                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.527&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.527&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.526&r2=1.527

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.526
retrieving revision 1.527
diff -u -r1.526 -r1.527
--- toolchain.eclass	10 Mar 2012 19:32:33 -0000	1.526
+++ toolchain.eclass	10 Mar 2012 20:01:05 -0000	1.527
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.526 2012/03/10 19:32:33 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.527 2012/03/10 20:01:05 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -15,9 +15,11 @@
 	EGIT_REPO_URI="git://gcc.gnu.org/git/gcc.git"
 	# naming style:
 	# gcc-9999 -> master
-	# gcc-4.7_pre9999 -> gcc-4_7-branch
+	# gcc-4.7.1_pre9999 -> gcc-4_7-branch
+	#  Note that we need the micro version in order for tc_version_is_at_least
+	#  to work.
 	if [[ ${PV} == *_pre9999* ]] ; then
-		EGIT_BRANCH="${PN}-${PV%_pre9999}-branch"
+		EGIT_BRANCH="${PN}-${PV%.?_pre9999}-branch"
 		EGIT_BRANCH=${EGIT_BRANCH//./_}
 	fi
 	inherit git-2






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-10 20:48 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-10 20:48 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/10 20:48:22

  Modified:             ChangeLog toolchain.eclass
  Log:
  Revert PRERELEASE setting for live ebuilds.  It seems 4.7 treats BASE-VER differently than earlier versions.  This fixes them, but breaks 4.7 again.

Revision  Changes    Path
1.164                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.164&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.164&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.163&r2=1.164

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -r1.163 -r1.164
--- ChangeLog	10 Mar 2012 20:01:05 -0000	1.163
+++ ChangeLog	10 Mar 2012 20:48:22 -0000	1.164
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.163 2012/03/10 20:01:05 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.164 2012/03/10 20:48:22 dirtyepic Exp $
+
+  10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Revert PRERELEASE setting for live ebuilds. It seems 4.7 treats BASE-VER
+  differently than earlier versions. This fixes them, but breaks 4.7 again.
 
   10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   We need micro versions on live ebuilds in order for tc_version_is_at_least()



1.528                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.528&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.528&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.527&r2=1.528

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.527
retrieving revision 1.528
diff -u -r1.527 -r1.528
--- toolchain.eclass	10 Mar 2012 20:01:05 -0000	1.527
+++ toolchain.eclass	10 Mar 2012 20:48:22 -0000	1.528
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.527 2012/03/10 20:01:05 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.528 2012/03/10 20:48:22 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -60,7 +60,7 @@
 GCC_CONFIG_VER=${GCC_CONFIG_VER:-$(replace_version_separator 3 '-' ${GCC_PV})}
 
 # Pre-release support
-if [[ ${GCC_PV} != ${GCC_PV/_pre/-} && ${GCC_PV} != *9999* ]] ; then
+if [[ ${GCC_PV} != ${GCC_PV/_pre/-} ]] ; then
 	PRERELEASE=${GCC_PV/_pre/-}
 fi
 # make _alpha and _beta ebuilds automatically use a snapshot
@@ -720,7 +720,11 @@
 toolchain_src_unpack() {
 	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && die "Sorry, this version does not support uClibc"
 
-	[[ ${PV} == *9999* ]] && git-2_src_unpack || gcc_quick_unpack
+	if [[ ${PV} == *9999* ]]; then
+		git-2_src_unpack
+	else
+		gcc_quick_unpack
+	fi
 
 	export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
 	cd "${S}"






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-10 21:21 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-10 21:21 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/10 21:21:30

  Modified:             ChangeLog toolchain.eclass
  Log:
  Rev. 1.527 fixed 4.7 without me noticing.  Add comments about the format of gcc/BASE-VER to prevent future confusion.

Revision  Changes    Path
1.165                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.165&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.165&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.164&r2=1.165

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.164
retrieving revision 1.165
diff -u -r1.164 -r1.165
--- ChangeLog	10 Mar 2012 20:48:22 -0000	1.164
+++ ChangeLog	10 Mar 2012 21:21:30 -0000	1.165
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.164 2012/03/10 20:48:22 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.165 2012/03/10 21:21:30 dirtyepic Exp $
+
+  10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Rev. 1.527 fixed 4.7 without me noticing. Add comments about the format of
+  gcc/BASE-VER to prevent future confusion.
 
   10 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Revert PRERELEASE setting for live ebuilds. It seems 4.7 treats BASE-VER



1.529                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.529&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.529&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.528&r2=1.529

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.528
retrieving revision 1.529
diff -u -r1.528 -r1.529
--- toolchain.eclass	10 Mar 2012 20:48:22 -0000	1.528
+++ toolchain.eclass	10 Mar 2012 21:21:30 -0000	1.529
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.528 2012/03/10 20:48:22 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.529 2012/03/10 21:21:30 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -17,7 +17,7 @@
 	# gcc-9999 -> master
 	# gcc-4.7.1_pre9999 -> gcc-4_7-branch
 	#  Note that we need the micro version in order for tc_version_is_at_least
-	#  to work.
+	#  to work.  gcc/BASE-VER also requires it.
 	if [[ ${PV} == *_pre9999* ]] ; then
 		EGIT_BRANCH="${PN}-${PV%.?_pre9999}-branch"
 		EGIT_BRANCH=${EGIT_BRANCH//./_}
@@ -191,8 +191,6 @@
 		echo ${WORKDIR}/gcc-${PRERELEASE}
 	elif [[ -n ${SNAPSHOT} ]] ; then
 		echo ${WORKDIR}/gcc-${SNAPSHOT}
-	elif [[ ${GCC_PV} == *9999* ]] ; then
-		echo ${WORKDIR}/${P}
 	else
 		echo ${WORKDIR}/gcc-${GCC_RELEASE_VER}
 	fi
@@ -770,6 +768,9 @@
 	gcc_version_patch
 	if tc_version_is_at_least 4.1 ; then
 		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then
+			# BASE-VER must be a three-digit version number
+			# followed by an optional -pre string
+			#   eg. 4.5.1, 4.6.2-pre20120213, 4.7.0-pre9999
 			echo ${PV/_/-} > "${S}"/gcc/BASE-VER
 		fi
 	fi






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2012-03-22  6:07 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2012-03-22  6:07 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    12/03/22 06:07:09

  Modified:             ChangeLog toolchain.eclass
  Log:
  All ebuilds need a version number so drop special case for master.  Update comments.

Revision  Changes    Path
1.178                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.178&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.178&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.177&r2=1.178

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.177
retrieving revision 1.178
diff -u -r1.177 -r1.178
--- ChangeLog	21 Mar 2012 17:12:01 -0000	1.177
+++ ChangeLog	22 Mar 2012 06:07:08 -0000	1.178
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.177 2012/03/21 17:12:01 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.178 2012/03/22 06:07:08 dirtyepic Exp $
+
+  22 Mar 2012; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  All ebuilds need a version number so drop special case for master. Update
+  comments.
 
   21 Mar 2012; Diego E. Pettenò <flameeyes@gentoo.org> autotools.eclass:
   Go back to use a variable rather than an array for _LATEST_AUTOMAKE, use



1.532                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.532&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.532&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.531&r2=1.532

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.531
retrieving revision 1.532
diff -u -r1.531 -r1.532
--- toolchain.eclass	15 Mar 2012 20:18:03 -0000	1.531
+++ toolchain.eclass	22 Mar 2012 06:07:08 -0000	1.532
@@ -1,6 +1,6 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.531 2012/03/15 20:18:03 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.532 2012/03/22 06:07:08 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -11,17 +11,15 @@
 
 inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib fixheadtails pax-utils
 
-if [[ ${PV} == *9999* ]] ; then
+if [[ ${PV} == *_pre9999* ]] ; then
 	EGIT_REPO_URI="git://gcc.gnu.org/git/gcc.git"
 	# naming style:
-	# gcc-9999 -> master
 	# gcc-4.7.1_pre9999 -> gcc-4_7-branch
-	#  Note that we need the micro version in order for tc_version_is_at_least
-	#  to work.  gcc/BASE-VER also requires it.
-	if [[ ${PV} == *_pre9999* ]] ; then
-		EGIT_BRANCH="${PN}-${PV%.?_pre9999}-branch"
-		EGIT_BRANCH=${EGIT_BRANCH//./_}
-	fi
+	#  Note that the micro version is required or lots of stuff will break.
+	#  To checkout master set gcc_LIVE_BRANCH="master" in the ebuild before
+	#  inheriting this eclass.
+	EGIT_BRANCH="${PN}-${PV%.?_pre9999}-branch"
+	EGIT_BRANCH=${EGIT_BRANCH//./_}
 	inherit git-2
 fi
 
@@ -771,6 +769,8 @@
 			# BASE-VER must be a three-digit version number
 			# followed by an optional -pre string
 			#   eg. 4.5.1, 4.6.2-pre20120213, 4.7.0-pre9999
+			# If BASE-VER differs from ${PV/_/-} then libraries get installed in
+			# the wrong directory.
 			echo ${PV/_/-} > "${S}"/gcc/BASE-VER
 		fi
 	fi






^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-01-15  2:30 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-01-15  2:30 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/01/15 02:30:53

  Modified:             ChangeLog toolchain.eclass
  Log:
  Drop go support for 4.6 - broken by newer glibc versions and upstream recommends it not be used.

Revision  Changes    Path
1.615                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.615&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.615&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.614&r2=1.615

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.614
retrieving revision 1.615
diff -u -r1.614 -r1.615
--- ChangeLog	13 Jan 2013 22:35:28 -0000	1.614
+++ ChangeLog	15 Jan 2013 02:30:53 -0000	1.615
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.614 2013/01/13 22:35:28 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.615 2013/01/15 02:30:53 dirtyepic Exp $
+
+  15 Jan 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Drop go support for 4.6 - broken by newer glibc versions and upstream
+  recommends it not be used.
 
   13 Jan 2013; Gilles Dartiguelongue <eva@gentoo.org> gnome2.eclass:
   Allow ebuild override of eclass generated econf.



1.567                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.567&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.567&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.566&r2=1.567

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.566
retrieving revision 1.567
diff -u -r1.566 -r1.567
--- toolchain.eclass	29 Dec 2012 06:45:06 -0000	1.566
+++ toolchain.eclass	15 Jan 2013 02:30:53 -0000	1.567
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.566 2012/12/29 06:45:06 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.567 2013/01/15 02:30:53 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -115,7 +115,7 @@
 		tc_version_is_at_least "4.3" && IUSE+=" fixed-point"
 		tc_version_is_at_least "4.4" && IUSE+=" graphite"
 		[[ ${GCC_BRANCH_VER} == 4.5 ]] && IUSE+=" lto"
-		tc_version_is_at_least "4.6" && IUSE+=" go"
+		tc_version_is_at_least "4.7" && IUSE+=" go"
 	fi
 fi
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-03-16  5:44 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-03-16  5:44 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/03/16 05:44:49

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add cloog/isl support for gcc 4.8 (bug # 434816, patch by Kacper Kowalik).

Revision  Changes    Path
1.739                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.739&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.739&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.738&r2=1.739

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.738
retrieving revision 1.739
diff -u -r1.738 -r1.739
--- ChangeLog	15 Mar 2013 21:47:58 -0000	1.738
+++ ChangeLog	16 Mar 2013 05:44:49 -0000	1.739
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.738 2013/03/15 21:47:58 ottxor Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.739 2013/03/16 05:44:49 dirtyepic Exp $
+
+  16 Mar 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Add cloog/isl support for gcc 4.8 (bug # 434816, patch by Kacper Kowalik).
 
   15 Mar 2013; Christoph Junghans <ottxor@gentoo.org> mercurial.eclass:
   default to EHG_QUIET="OFF" (bug #461858)



1.570                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.570&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.570&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.569&r2=1.570

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.569
retrieving revision 1.570
diff -u -r1.569 -r1.570
--- toolchain.eclass	9 Feb 2013 04:34:32 -0000	1.569
+++ toolchain.eclass	16 Mar 2013 05:44:49 -0000	1.570
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.569 2013/02/09 04:34:32 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.570 2013/03/16 05:44:49 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -147,11 +147,19 @@
 	in_iuse lto && RDEPEND+=" lto? ( || ( >=dev-libs/elfutils-0.143 dev-libs/libelf ) )"
 fi
 if in_iuse graphite ; then
-	RDEPEND+="
-	    graphite? (
-	        >=dev-libs/cloog-ppl-0.15.10
-	        >=dev-libs/ppl-0.11
-	    )"
+	if tc_version_is_at_least 4.8 ; then
+		RDEPEND+="
+			graphite? (
+				>=dev-libs/cloog-0.17.0
+				>=dev-libs/isl-0.10
+			)"
+	else
+		RDEPEND+="
+			graphite? (
+				>=dev-libs/cloog-ppl-0.15.10
+				>=dev-libs/ppl-0.11
+			)"
+	fi
 fi
 
 DEPEND="${RDEPEND}
@@ -1084,8 +1092,13 @@
 		confgcc+=" $(use_with graphite ppl)"
 		confgcc+=" $(use_with graphite cloog)"
 		if use graphite; then
-			confgcc+=" --disable-ppl-version-check"
-			confgcc+=" --with-cloog-include=/usr/include/cloog-ppl"
+			if tc_version_is_at_least "4.8"; then
+				confgcc+=" --disable-isl-version-check"
+				confgcc+=" --with-cloog"
+			else
+				confgcc+=" --disable-ppl-version-check"
+				confgcc+=" --with-cloog-include=/usr/include/cloog-ppl"
+			fi
 		fi
 	fi
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-04-05  5:23 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-04-05  5:23 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/04/05 05:23:22

  Modified:             ChangeLog toolchain.eclass
  Log:
  Work around bootstrap comparison failures on ancient systems (bug #411333).

Revision  Changes    Path
1.765                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.765&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.765&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.764&r2=1.765

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.764
retrieving revision 1.765
diff -u -r1.764 -r1.765
--- ChangeLog	1 Apr 2013 11:05:27 -0000	1.764
+++ ChangeLog	5 Apr 2013 05:23:22 -0000	1.765
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.764 2013/04/01 11:05:27 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.765 2013/04/05 05:23:22 dirtyepic Exp $
+
+  05 Apr 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Work around bootstrap comparison failures on ancient systems (bug #411333).
 
   01 Apr 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
   Fix path handling in header wrapping code.



1.574                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.574&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.574&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.573&r2=1.574

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.573
retrieving revision 1.574
diff -u -r1.573 -r1.574
--- toolchain.eclass	2 Apr 2013 03:02:22 -0000	1.573
+++ toolchain.eclass	5 Apr 2013 05:23:22 -0000	1.574
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.573 2013/04/02 03:02:22 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.574 2013/04/05 05:23:22 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1360,6 +1360,7 @@
 
 # This is mostly a stub function to be overwritten in an ebuild
 gcc_do_filter_flags() {
+
 	strip-flags
 
 	# In general gcc does not like optimization, and add -O2 where
@@ -1409,9 +1410,13 @@
 		;;
 	esac
 
-	# Compile problems with these (bug #6641 among others)...
-	#filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr"
-
+	case ${GCC_BRANCH_VER} in
+	4.6)
+		# https://bugs.gentoo.org/411333
+		replace-cpu-flags pentium2 pentium3 pentium3m pentium-m i686
+		;;
+	esac
+	
 	# CFLAGS logic (verified with 3.4.3):
 	# CFLAGS:
 	#	This conflicts when creating a crosscompiler, so set to a sane





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-05-09  3:03 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-05-09  3:03 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/05/09 03:03:02

  Modified:             ChangeLog toolchain.eclass
  Log:
  Drop graphite support for 4.4/4.5.

Revision  Changes    Path
1.817                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.817&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.817&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.816&r2=1.817

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.816
retrieving revision 1.817
diff -u -r1.816 -r1.817
--- ChangeLog	8 May 2013 10:25:48 -0000	1.816
+++ ChangeLog	9 May 2013 03:03:02 -0000	1.817
@@ -1,6 +1,12 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.816 2013/05/08 10:25:48 pinkbyte Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.817 2013/05/09 03:03:02 dirtyepic Exp $
+
+  09 May 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Drop support for graphite in 4.4/4.5 due to incompatibilities with newer ppl
+  versions. Update graphite dependencies for 4.8 based on upstream
+  recommendations. Also fixes some (harmless) configure flags getting applied
+  to incorrect versions.
 
   08 May 2013; Sergey Popov <pinkbyte@gentoo.org> leechcraft.eclass:
   Restict supported EAPIs(due to pkg_pretend), some logic cleanup



1.586                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.586&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.586&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.585&r2=1.586

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.585
retrieving revision 1.586
diff -u -r1.585 -r1.586
--- toolchain.eclass	3 May 2013 06:01:27 -0000	1.585
+++ toolchain.eclass	9 May 2013 03:03:02 -0000	1.586
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.585 2013/05/03 06:01:27 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.586 2013/05/09 03:03:02 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -113,7 +113,7 @@
 		tc_version_is_at_least "4.1" && IUSE+=" libssp objc++"
 		tc_version_is_at_least "4.2" && IUSE+=" openmp"
 		tc_version_is_at_least "4.3" && IUSE+=" fixed-point"
-		tc_version_is_at_least "4.4" && IUSE+=" graphite"
+		tc_version_is_at_least "4.6" && IUSE+=" graphite"
 		[[ ${GCC_BRANCH_VER} == 4.5 ]] && IUSE+=" lto"
 		tc_version_is_at_least "4.7" && IUSE+=" go"
 	fi
@@ -150,8 +150,8 @@
 	if tc_version_is_at_least 4.8 ; then
 		RDEPEND+="
 			graphite? (
-				>=dev-libs/cloog-0.17.0
-				>=dev-libs/isl-0.10
+				>=dev-libs/cloog-0.18.0
+				>=dev-libs/isl-0.11.1
 			)"
 	else
 		RDEPEND+="
@@ -1079,26 +1079,21 @@
 	# users to control this feature in the event they need the support.
 	tc_version_is_at_least "4.3" && confgcc+=" $(use_enable fixed-point)"
 
-	# Graphite support was added in 4.4, which depends on external libraries
-	# for optimizations.  Current versions use cloog-ppl (cloog fork with Parma
-	# PPL backend).  Sometime in the future we will use upstream cloog with the
-	# ISL backend (note: PPL will still be a requirement).  cloog-ppl's include
-	# path was modified to prevent collisions between the two packages (library
-	# names are different).
-	#
-	# We disable the PPL version check so we can use >=ppl-0.11.
-	if tc_version_is_at_least "4.4"; then
-		confgcc+=" $(use_with graphite ppl)"
+	# graphite was added in 4.4 but we only support it in 4.6+ due to external
+	# library issues.  4.6/4.7 uses cloog-ppl which is a fork of CLooG with a
+	# PPL backend.  4.8+ uses upstream CLooG with the ISL backend.  We install
+	# cloog-ppl into a non-standard location to prevent collisions.
+	if tc_version_is_at_least "4.8" ; then
 		confgcc+=" $(use_with graphite cloog)"
-		if use graphite; then
-			if tc_version_is_at_least "4.8"; then
-				confgcc+=" --disable-isl-version-check"
-				confgcc+=" --with-cloog"
-			else
-				confgcc+=" --disable-ppl-version-check"
-				confgcc+=" --with-cloog-include=/usr/include/cloog-ppl"
-			fi
-		fi
+		use graphite && confgcc+=" --disable-isl-version-check"
+	elif tc_version_is_at_least "4.6" ; then
+		confgcc+=" $(use_with graphite cloog)"
+		confgcc+=" $(use_with graphite ppl)"
+		use graphite && confgcc+=" --with-cloog-include=/usr/include/cloog-ppl"
+		use graphite && confgcc+=" --disable-ppl-version-check"
+	elif tc_version_is_at_least "4.4" ; then
+		confgcc+=" --without-cloog"
+		confgcc+=" --without-ppl"
 	fi
 
 	# LTO support was added in 4.5, which depends upon elfutils.  This allows





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-05-15  0:55 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-05-15  0:55 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/05/15 00:55:22

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add lto USE flag for all versions. Drop LTO support for 4.5.

Revision  Changes    Path
1.822                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.822&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.822&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.821&r2=1.822

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.821
retrieving revision 1.822
diff -u -r1.821 -r1.822
--- ChangeLog	14 May 2013 17:33:08 -0000	1.821
+++ ChangeLog	15 May 2013 00:55:21 -0000	1.822
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.821 2013/05/14 17:33:08 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.822 2013/05/15 00:55:21 dirtyepic Exp $
+
+  15 May 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Add lto USE flag for all versions that support it. Drop LTO support for 4.5.
 
   14 May 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass,
   multilib-build.eclass:



1.588                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.588&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.588&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.587&r2=1.588

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.587
retrieving revision 1.588
diff -u -r1.587 -r1.588
--- toolchain.eclass	14 May 2013 18:46:36 -0000	1.587
+++ toolchain.eclass	15 May 2013 00:55:21 -0000	1.588
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.587 2013/05/14 18:46:36 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.588 2013/05/15 00:55:21 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -114,7 +114,7 @@
 		tc_version_is_at_least "4.2" && IUSE+=" openmp"
 		tc_version_is_at_least "4.3" && IUSE+=" fixed-point"
 		tc_version_is_at_least "4.6" && IUSE+=" graphite"
-		[[ ${GCC_BRANCH_VER} == 4.5 ]] && IUSE+=" lto"
+		tc_version_is_at_least "4.6" && IUSE+=" lto"
 		tc_version_is_at_least "4.7" && IUSE+=" go"
 	fi
 fi
@@ -144,7 +144,6 @@
 	if tc_version_is_at_least 4.5 ; then
 		RDEPEND+=" >=dev-libs/mpc-0.8.1"
 	fi
-	in_iuse lto && RDEPEND+=" lto? ( || ( >=dev-libs/elfutils-0.143 dev-libs/libelf ) )"
 fi
 if in_iuse graphite ; then
 	if tc_version_is_at_least 4.8 ; then
@@ -1096,14 +1095,7 @@
 		confgcc+=" --without-ppl"
 	fi
 
-	# LTO support was added in 4.5, which depends upon elfutils.  This allows
-	# users to enable that option, and pull in the additional library.  In 4.6,
-	# the dependency is no longer required.
-	if tc_version_is_at_least "4.6" ; then
-		confgcc+=" --enable-lto"
-	elif tc_version_is_at_least "4.5" ; then
-		confgcc+=" $(use_enable lto)"
-	fi
+	tc_version_is_at_least "4.6" && confgcc+=" $(use_enable lto)"
 
 	case $(tc-is-softfloat) in
 	yes)    confgcc+=" --with-float=soft" ;;





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-05-15  0:56 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-05-15  0:56 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/05/15 00:56:49

  Modified:             ChangeLog toolchain.eclass
  Log:
  Rename test USE flag to regression-test.

Revision  Changes    Path
1.823                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.823&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.823&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.822&r2=1.823

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.822
retrieving revision 1.823
diff -u -r1.822 -r1.823
--- ChangeLog	15 May 2013 00:55:21 -0000	1.822
+++ ChangeLog	15 May 2013 00:56:49 -0000	1.823
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.822 2013/05/15 00:55:21 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.823 2013/05/15 00:56:49 dirtyepic Exp $
+
+  15 May 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Rename test USE flag to regression-test.
 
   15 May 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Add lto USE flag for all versions that support it. Drop LTO support for 4.5.



1.589                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.589&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.589&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.588&r2=1.589

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.588
retrieving revision 1.589
diff -u -r1.588 -r1.589
--- toolchain.eclass	15 May 2013 00:55:21 -0000	1.588
+++ toolchain.eclass	15 May 2013 00:56:49 -0000	1.589
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.588 2013/05/15 00:55:21 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.589 2013/05/15 00:56:49 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -97,7 +97,7 @@
 
 
 #---->> SLOT+IUSE logic <<----
-IUSE="multislot nls nptl test vanilla"
+IUSE="multislot nls nptl regression-test vanilla"
 
 if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
 	IUSE+=" altivec cxx fortran"
@@ -164,7 +164,7 @@
 DEPEND="${RDEPEND}
 	>=sys-devel/bison-1.875
 	>=sys-devel/flex-2.5.4
-	test? (
+	regression-test? (
 		>=dev-util/dejagnu-1.4.4
 		>=sys-devel/autogen-5.5.4
 	)"
@@ -610,6 +610,11 @@
 		# handling of binpkgs, don't require these to be found
 		cp "${ROOT}/${DATAPATH}"/c{89,99} "${ROOT}"/usr/bin/ 2>/dev/null
 	fi
+
+	if use regression-test ; then
+		elog "Testsuite results have been installed into /usr/share/doc/${PF}/testsuite"
+		echo
+	fi
 }
 
 toolchain_pkg_postrm() {
@@ -1472,8 +1477,10 @@
 }
 
 toolchain_src_test() {
-	cd "${WORKDIR}"/build
-	emake -k check || ewarn "check failed and that sucks :("
+	if use regression-test ; then
+		cd "${WORKDIR}"/build
+		emake -k check
+	fi
 }
 
 toolchain_src_install() {
@@ -1585,7 +1592,7 @@
 	find "${D}" -depth -type d -delete 2>/dev/null
 
 	# install testsuite results
-	if use test; then
+	if use regression-test; then
 		docinto testsuite
 		find "${WORKDIR}"/build -type f -name "*.sum" -print0 | xargs -0 dodoc
 		find "${WORKDIR}"/build -type f -path "*/testsuite/*.log" -print0 \





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-05-15  5:42 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-05-15  5:42 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/05/15 05:42:09

  Modified:             ChangeLog toolchain.eclass
  Log:
  Explicitly disable lto in 4.5 to stop configure from helpfully re-enabling it when libelf is present.

Revision  Changes    Path
1.824                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.824&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.824&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.823&r2=1.824

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.823
retrieving revision 1.824
diff -u -r1.823 -r1.824
--- ChangeLog	15 May 2013 00:56:49 -0000	1.823
+++ ChangeLog	15 May 2013 05:42:09 -0000	1.824
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.823 2013/05/15 00:56:49 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.824 2013/05/15 05:42:09 dirtyepic Exp $
+
+  15 May 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Explicitly disable lto in 4.5 to stop configure from helpfully re-enabling it
+  when libelf is present.
 
   15 May 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Rename test USE flag to regression-test.



1.590                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.590&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.590&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.589&r2=1.590

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.589
retrieving revision 1.590
diff -u -r1.589 -r1.590
--- toolchain.eclass	15 May 2013 00:56:49 -0000	1.589
+++ toolchain.eclass	15 May 2013 05:42:09 -0000	1.590
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.589 2013/05/15 00:56:49 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.590 2013/05/15 05:42:09 dirtyepic Exp $
 #
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1100,7 +1100,11 @@
 		confgcc+=" --without-ppl"
 	fi
 
-	tc_version_is_at_least "4.6" && confgcc+=" $(use_enable lto)"
+	if tc_version_is_at_least "4.6" ; then
+		confgcc+=" $(use_enable lto)"
+	elif tc_version_is_at_least "4.5" ; then
+		confgcc+=" --disable-lto"
+	fi
 
 	case $(tc-is-softfloat) in
 	yes)    confgcc+=" --with-float=soft" ;;





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-07-18 23:45 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-07-18 23:45 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/07/18 23:45:54

  Modified:             ChangeLog toolchain.eclass
  Log:
  libffi installation was fixed in 4.8.

Revision  Changes    Path
1.883                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.883&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.883&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.882&r2=1.883

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.882
retrieving revision 1.883
diff -u -r1.882 -r1.883
--- ChangeLog	18 Jul 2013 07:03:33 -0000	1.882
+++ ChangeLog	18 Jul 2013 23:45:54 -0000	1.883
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.882 2013/07/18 07:03:33 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.883 2013/07/18 23:45:54 dirtyepic Exp $
+
+  18 Jul 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  libffi installation was fixed in 4.8.
 
   18 Jul 2013; Justin Lecher <jlec@gentoo.org> fortran-2.eclass:
   Wrap lines at 80 char



1.596                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.596&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.596&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.595&r2=1.596

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.595
retrieving revision 1.596
diff -u -r1.595 -r1.596
--- toolchain.eclass	18 Jul 2013 22:33:48 -0000	1.595
+++ toolchain.eclass	18 Jul 2013 23:45:54 -0000	1.596
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.595 2013/07/18 22:33:48 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.596 2013/07/18 23:45:54 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -786,7 +786,7 @@
 	fi
 
 	# Prevent libffi from being installed
-	if tc_version_is_at_least 3.0 ; then
+	if tc_version_is_at_least 3.0 && ! tc_version_is_at_least 4.8 ; then
 		sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die
 		sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in || die
 	fi





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-07-24  1:34 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-07-24  1:34 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/07/24 01:34:38

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add back LICENSE (bug #477836).

Revision  Changes    Path
1.891                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.891&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.891&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.890&r2=1.891

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.890
retrieving revision 1.891
diff -u -r1.890 -r1.891
--- ChangeLog	23 Jul 2013 19:55:30 -0000	1.890
+++ ChangeLog	24 Jul 2013 01:34:38 -0000	1.891
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.890 2013/07/23 19:55:30 johu Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.891 2013/07/24 01:34:38 dirtyepic Exp $
+
+  24 Jul 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Add back LICENSE (bug #477836).
 
   23 Jul 2013; Johannes Huber <johu@gentoo.org> kde4-base.eclass:
   Handle dev-qt/desinger split from dev-qt/gui, see bug #477934.



1.597                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.597&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.597&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.596&r2=1.597

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.596
retrieving revision 1.597
diff -u -r1.596 -r1.597
--- toolchain.eclass	18 Jul 2013 23:45:54 -0000	1.596
+++ toolchain.eclass	24 Jul 2013 01:34:38 -0000	1.597
@@ -1,12 +1,13 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.596 2013/07/18 23:45:54 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.597 2013/07/24 01:34:38 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
 #---->> eclass stuff <<----
 DESCRIPTION="The GNU Compiler Collection"
 HOMEPAGE="http://gcc.gnu.org/"
+LICENSE="GPL-2 LGPL-2.1"
 RESTRICT="strip" # cross-compilers need controlled stripping
 
 inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib fixheadtails pax-utils





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-08-10  4:25 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-08-10  4:25 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/08/10 04:25:37

  Modified:             ChangeLog toolchain.eclass
  Log:
  Append -Wl,--no-relax to LDFLAGS on alpha for 4.6 (bug #454426 again).

Revision  Changes    Path
1.919                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.919&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.919&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.918&r2=1.919

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.918
retrieving revision 1.919
diff -u -r1.918 -r1.919
--- ChangeLog	8 Aug 2013 22:29:21 -0000	1.918
+++ ChangeLog	10 Aug 2013 04:25:37 -0000	1.919
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.918 2013/08/08 22:29:21 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.919 2013/08/10 04:25:37 dirtyepic Exp $
+
+  10 Aug 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Append -Wl,--no-relax to LDFLAGS on alpha for 4.6 (bug #454426 again).
 
   08 Aug 2013; Michał Górny <mgorny@gentoo.org> +twisted-r1.eclass:
   Introduce a twisted-r1.eclass to join the python-r1 suite and replace



1.598                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.598&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.598&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.597&r2=1.598

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.597
retrieving revision 1.598
diff -u -r1.597 -r1.598
--- toolchain.eclass	24 Jul 2013 01:34:38 -0000	1.597
+++ toolchain.eclass	10 Aug 2013 04:25:37 -0000	1.598
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.597 2013/07/24 01:34:38 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.598 2013/08/10 04:25:37 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1379,16 +1379,12 @@
 }
 
 gcc_do_filter_flags() {
-
 	strip-flags
 
-	# In general gcc does not like optimization, and add -O2 where
+	# In general gcc does not like optimization, and adds -O2 where
 	# it is safe.  This is especially true for gcc 3.3 + 3.4
 	replace-flags -O? -O2
 
-	# ... sure, why not?
-	strip-unsupported-flags
-
 	# dont want to funk ourselves
 	filter-flags '-mabi*' -m31 -m32 -m64
 
@@ -1431,12 +1427,22 @@
 
 	case ${GCC_BRANCH_VER} in
 	4.6)
-		# https://bugs.gentoo.org/411333
-		# https://bugs.gentoo.org/466454
-		replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
+		case $(tc-arch) in
+			alpha)
+			# https://bugs.gentoo.org/454426
+			append-ldflags -Wl,--no-relax
+			;;
+			amd64|x86)
+			# https://bugs.gentoo.org/411333
+			# https://bugs.gentoo.org/466454
+			replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
+			;;
+		esac
 		;;
 	esac
 
+	strip-unsupported-flags
+	
 	# TODO: Move to gcc_do_make()
 
 	# CFLAGS logic (verified with 3.4.3):





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-08-10  7:41 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-08-10  7:41 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/08/10 07:41:19

  Modified:             ChangeLog toolchain.eclass
  Log:
  Clean up gcc_do_filter_flags a bit more. Drop ppc64 workaround for 3.2/3.3
  as neither is keyworded. Also stop replacing -march=i686 with x86-64 (?!) for
  those versions.

Revision  Changes    Path
1.920                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.920&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.920&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.919&r2=1.920

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.919
retrieving revision 1.920
diff -u -r1.919 -r1.920
--- ChangeLog	10 Aug 2013 04:25:37 -0000	1.919
+++ ChangeLog	10 Aug 2013 07:41:19 -0000	1.920
@@ -1,6 +1,11 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.919 2013/08/10 04:25:37 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.920 2013/08/10 07:41:19 dirtyepic Exp $
+
+  10 Aug 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Clean up gcc_do_filter_flags a bit more. Drop ppc64 workaround for 3.2/3.3
+  as neither is keyworded. Also stop replacing -march=i686 with x86-64 (?!) for
+  those versions.
 
   10 Aug 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Append -Wl,--no-relax to LDFLAGS on alpha for 4.6 (bug #454426 again).



1.599                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.599&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.599&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.598&r2=1.599

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.598
retrieving revision 1.599
diff -u -r1.598 -r1.599
--- toolchain.eclass	10 Aug 2013 04:25:37 -0000	1.598
+++ toolchain.eclass	10 Aug 2013 07:41:19 -0000	1.599
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.598 2013/08/10 04:25:37 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.599 2013/08/10 07:41:19 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1389,56 +1389,58 @@
 	filter-flags '-mabi*' -m31 -m32 -m64
 
 	case ${GCC_BRANCH_VER} in
-	3.2|3.3)
-		replace-cpu-flags k8 athlon64 opteron i686 x86-64
-		replace-cpu-flags pentium-m pentium3m pentium3
-		case $(tc-arch) in
-			amd64|x86) filter-flags '-mtune=*' ;;
-			# in gcc 3.3 there is a bug on ppc64 where if -mcpu is used,
-			# the compiler wrongly assumes a 32bit target
-			ppc64) filter-flags "-mcpu=*";;
-		esac
-		case $(tc-arch) in
-			amd64) replace-cpu-flags core2 nocona;;
-			x86)   replace-cpu-flags core2 prescott;;
-		esac
+		3.2|3.3)
+			replace-cpu-flags k8 athlon64 opteron x86-64
+			replace-cpu-flags pentium-m pentium3m pentium3
+			replace-cpu-flags G3 750
+			replace-cpu-flags G4 7400
+			replace-cpu-flags G5 7400
+	
+			case $(tc-arch) in
+				amd64)
+					replace-cpu-flags core2 nocona
+					filter-flags '-mtune=*'
+					;;
+				x86)
+					replace-cpu-flags core2 prescott
+					filter-flags '-mtune=*'
+					;;
+			esac
 
-		replace-cpu-flags G3 750
-		replace-cpu-flags G4 7400
-		replace-cpu-flags G5 7400
-
-		# XXX: should add a sed or something to query all supported flags
-		#      from the gcc source and trim everything else ...
-		filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
-		filter-flags -f{no-,}stack-protector{,-all}
-		filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
-		;;
-	3.4|4.*)
-		case $(tc-arch) in
-			x86|amd64) filter-flags '-mcpu=*';;
-			*-macos)
-				# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25127
-				[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER}  == 4.1 ]] && \
-					filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+			# XXX: should add a sed or something to query all supported flags
+			#      from the gcc source and trim everything else ...
+			filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
+			filter-flags -f{no-,}stack-protector{,-all}
+			filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
+			;;
+		3.4|4.*)
+			case $(tc-arch) in
+				amd64|x86)
+					filter-flags '-mcpu=*'
+					;;
+				*-macos)
+					# http://gcc.gnu.org/PR25127
+					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER}  == 4.1 ]] && \
+						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+					;;
+			esac
 			;;
-		esac
-		;;
 	esac
 
 	case ${GCC_BRANCH_VER} in
-	4.6)
-		case $(tc-arch) in
-			alpha)
-			# https://bugs.gentoo.org/454426
-			append-ldflags -Wl,--no-relax
-			;;
-			amd64|x86)
-			# https://bugs.gentoo.org/411333
-			# https://bugs.gentoo.org/466454
-			replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
+		4.6)
+			case $(tc-arch) in
+				alpha)
+					# https://bugs.gentoo.org/454426
+					append-ldflags -Wl,--no-relax
+					;;
+				amd64|x86)
+					# https://bugs.gentoo.org/411333
+					# https://bugs.gentoo.org/466454
+					replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
+					;;
+			esac
 			;;
-		esac
-		;;
 	esac
 
 	strip-unsupported-flags





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-08-15  4:39 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-08-15  4:39 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/08/15 04:39:24

  Modified:             ChangeLog toolchain.eclass
  Log:
  alpha not only needs -Wl,--norelax for 4.6 to build itself, but also for it
  to build other versions. So let's just always enable it.

Revision  Changes    Path
1.925                eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.925&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.925&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.924&r2=1.925

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.924
retrieving revision 1.925
diff -u -r1.924 -r1.925
--- ChangeLog	13 Aug 2013 10:17:54 -0000	1.924
+++ ChangeLog	15 Aug 2013 04:39:24 -0000	1.925
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.924 2013/08/13 10:17:54 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.925 2013/08/15 04:39:24 dirtyepic Exp $
+
+  15 Aug 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  alpha not only needs -Wl,--norelax for 4.6 to build itself, but also for it
+  to build other versions. So let's just always enable it.
 
   13 Aug 2013; Davide Pesavento <pesa@gentoo.org> qt4-build.eclass:
   Filter -fgraphite-identity on gcc 4.7 (bug 417105).



1.600                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.600&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.600&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.599&r2=1.600

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.599
retrieving revision 1.600
diff -u -r1.599 -r1.600
--- toolchain.eclass	10 Aug 2013 07:41:19 -0000	1.599
+++ toolchain.eclass	15 Aug 2013 04:39:24 -0000	1.600
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.599 2013/08/10 07:41:19 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.600 2013/08/15 04:39:24 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1418,6 +1418,10 @@
 				amd64|x86)
 					filter-flags '-mcpu=*'
 					;;
+				alpha)
+					# https://bugs.gentoo.org/454426
+					append-ldflags -Wl,--no-relax
+					;;
 				*-macos)
 					# http://gcc.gnu.org/PR25127
 					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER}  == 4.1 ]] && \
@@ -1430,10 +1434,6 @@
 	case ${GCC_BRANCH_VER} in
 		4.6)
 			case $(tc-arch) in
-				alpha)
-					# https://bugs.gentoo.org/454426
-					append-ldflags -Wl,--no-relax
-					;;
 				amd64|x86)
 					# https://bugs.gentoo.org/411333
 					# https://bugs.gentoo.org/466454





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-10-15  5:36 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-10-15  5:36 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/10/15 05:36:26

  Modified:             ChangeLog toolchain.eclass
  Log:
  Remove .la files for libasan and libtsan. They reference non-existent
  libstdc++.la when fixlafiles is disabled/unsupported, and -fsanitize doesn't
  work with -static anyways. (bug #487550)

Revision  Changes    Path
1.1026               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1026&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1026&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1025&r2=1.1026

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1025
retrieving revision 1.1026
diff -u -r1.1025 -r1.1026
--- ChangeLog	14 Oct 2013 20:30:00 -0000	1.1025
+++ ChangeLog	15 Oct 2013 05:36:26 -0000	1.1026
@@ -1,6 +1,11 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1025 2013/10/14 20:30:00 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1026 2013/10/15 05:36:26 dirtyepic Exp $
+
+  15 Oct 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Remove .la files for libasan and libtsan. They reference non-existent
+  libstdc++.la when fixlafiles is disabled/unsupported, and -fsanitize doesn't
+  work with -static anyways. (bug #487550)
 
   14 Oct 2013; Michał Górny <mgorny@gentoo.org> git-r3.eclass:
   Fix over-use of ||die.



1.601                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.601&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.601&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.600&r2=1.601

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.600
retrieving revision 1.601
diff -u -r1.600 -r1.601
--- toolchain.eclass	15 Aug 2013 04:39:24 -0000	1.600
+++ toolchain.eclass	15 Oct 2013 05:36:26 -0000	1.601
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.600 2013/08/15 04:39:24 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.601 2013/10/15 05:36:26 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1640,6 +1640,7 @@
 		if tc_version_is_at_least 4.0 ; then
 			newins "${GCC_FILESDIR}"/awk/fixlafiles.awk-no_gcc_la fixlafiles.awk || die
 			find "${D}/${LIBPATH}" -name libstdc++.la -type f -exec rm "{}" \;
+			find "${D}/${LIBPATH}" -name "lib?san.la" -type f -exec rm "{}" \; # 487550
 		else
 			doins "${GCC_FILESDIR}"/awk/fixlafiles.awk || die
 		fi





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-11-05  5:21 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-11-05  5:21 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/11/05 05:21:30

  Modified:             ChangeLog toolchain.eclass
  Log:
  Update for libmudflap removal.

Revision  Changes    Path
1.1048               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1048&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1048&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1047&r2=1.1048

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1047
retrieving revision 1.1048
diff -u -r1.1047 -r1.1048
--- ChangeLog	4 Nov 2013 22:05:31 -0000	1.1047
+++ ChangeLog	5 Nov 2013 05:21:30 -0000	1.1048
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1047 2013/11/04 22:05:31 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1048 2013/11/05 05:21:30 dirtyepic Exp $
+
+  05 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Update for libmudflap removal.
 
   04 Nov 2013; Mike Gilbert <floppym@gentoo.org> mercurial.eclass:
   Initialize cert_opt to an empty array instead of an empty string. Reported by



1.602                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.602&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.602&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.601&r2=1.602

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.601
retrieving revision 1.602
diff -u -r1.601 -r1.602
--- toolchain.eclass	15 Oct 2013 05:36:26 -0000	1.601
+++ toolchain.eclass	5 Nov 2013 05:21:30 -0000	1.602
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.601 2013/10/15 05:36:26 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.602 2013/11/05 05:21:30 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -112,7 +112,8 @@
 	[[ -n ${D_VER}   ]] && IUSE+=" d"
 	[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
 	tc_version_is_at_least 3 && IUSE+=" doc gcj gtk hardened multilib objc"
-	tc_version_is_at_least 4.0 && IUSE+=" objc-gc mudflap"
+	tc_version_is_at_least 4.0 && IUSE+=" objc-gc"
+	tc_version_is_at_least 4.0 && ! tc_version_is_at_least 4.9 && IUSE+=" mudflap"
 	tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
 	tc_version_is_at_least 4.2 && IUSE+=" openmp"
 	tc_version_is_at_least 4.3 && IUSE+=" fixed-point"





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-11-07  3:19 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-11-07  3:19 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/11/07 03:19:01

  Modified:             ChangeLog toolchain.eclass
  Log:
  Temporarily build with -j1 on sparc due to random ICEs encountered by
  multiple
  people (bug #457062).

Revision  Changes    Path
1.1049               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1049&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1049&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1048&r2=1.1049

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1048
retrieving revision 1.1049
diff -u -r1.1048 -r1.1049
--- ChangeLog	5 Nov 2013 05:21:30 -0000	1.1048
+++ ChangeLog	7 Nov 2013 03:19:00 -0000	1.1049
@@ -1,6 +1,11 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1048 2013/11/05 05:21:30 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1049 2013/11/07 03:19:00 dirtyepic Exp $
+
+  07 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Temporarily build with -j1 on sparc due to random ICEs encountered by
+  multiple
+  people (bug #457062).
 
   05 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Update for libmudflap removal.



1.603                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.603&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.603&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.602&r2=1.603

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.602
retrieving revision 1.603
diff -u -r1.602 -r1.603
--- toolchain.eclass	5 Nov 2013 05:21:30 -0000	1.602
+++ toolchain.eclass	7 Nov 2013 03:19:00 -0000	1.603
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.602 2013/11/05 05:21:30 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.603 2013/11/07 03:19:00 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1423,9 +1423,15 @@
 					# https://bugs.gentoo.org/454426
 					append-ldflags -Wl,--no-relax
 					;;
+				sparc)
+					# temporary workaround for random ICEs reproduced by multiple users
+					# https://bugs.gentoo.org/457062
+					[[ ${GCC_BRANCH_VER} == 4.6 || ${GCC_BRANCH_VER} == 4.7 ]] && \
+						MAKEOPTS+=" -j1"
+					;;
 				*-macos)
 					# http://gcc.gnu.org/PR25127
-					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER}  == 4.1 ]] && \
+					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \
 						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
 					;;
 			esac





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-11-09  7:49 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-11-09  7:49 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/11/09 07:49:50

  Modified:             ChangeLog toolchain.eclass
  Log:
  Rename config.log tarball in the hope that people will stop attaching it to
  build failures.

Revision  Changes    Path
1.1051               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1051&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1051&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1050&r2=1.1051

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1050
retrieving revision 1.1051
diff -u -r1.1050 -r1.1051
--- ChangeLog	7 Nov 2013 03:19:30 -0000	1.1050
+++ ChangeLog	9 Nov 2013 07:49:50 -0000	1.1051
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1050 2013/11/07 03:19:30 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1051 2013/11/09 07:49:50 dirtyepic Exp $
+
+  09 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Rename config.log tarball in the hope that people will stop attaching it to
+  build failures.
 
   07 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Temporarily build with -j1 on sparc due to random ICEs encountered by



1.604                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.604&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.604&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.603&r2=1.604

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.603
retrieving revision 1.604
diff -u -r1.603 -r1.604
--- toolchain.eclass	7 Nov 2013 03:19:00 -0000	1.603
+++ toolchain.eclass	9 Nov 2013 07:49:50 -0000	1.604
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.603 2013/11/07 03:19:00 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.604 2013/11/09 07:49:50 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1285,9 +1285,10 @@
 has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice"
 toolchain_death_notice() {
 	pushd "${WORKDIR}"/build >/dev/null
-	tar jcf gcc-build-logs.tar.bz2 $(find -name config.log)
+	tar jcf gcc-config-logs.tar.bz2 $(find -name config.log)
 	eerror
-	eerror "Please include ${PWD}/gcc-build-logs.tar.bz2 in your bug report"
+	eerror "Please include ${PWD}/gcc-config-logs.tar.bz2"
+	eerror "in your bug report if the error occurred during configure."
 	eerror
 	popd >/dev/null
 }





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-11-09 10:05 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-11-09 10:05 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/11/09 10:05:12

  Modified:             ChangeLog toolchain.eclass
  Log:
  Revert previous and instead include the build log and some other info. Don't
  pollute the build dir.

Revision  Changes    Path
1.1052               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1052&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1052&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1051&r2=1.1052

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1051
retrieving revision 1.1052
diff -u -r1.1051 -r1.1052
--- ChangeLog	9 Nov 2013 07:49:50 -0000	1.1051
+++ ChangeLog	9 Nov 2013 10:05:12 -0000	1.1052
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1051 2013/11/09 07:49:50 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1052 2013/11/09 10:05:12 dirtyepic Exp $
+
+  09 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Revert previous and instead include the build log and some other info. Don't
+  pollute the build dir.
 
   09 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Rename config.log tarball in the hope that people will stop attaching it to



1.605                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.605&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.605&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.604&r2=1.605

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.604
retrieving revision 1.605
diff -u -r1.604 -r1.605
--- toolchain.eclass	9 Nov 2013 07:49:50 -0000	1.604
+++ toolchain.eclass	9 Nov 2013 10:05:12 -0000	1.605
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.604 2013/11/09 07:49:50 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.605 2013/11/09 10:05:12 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1284,13 +1284,18 @@
 
 has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice"
 toolchain_death_notice() {
-	pushd "${WORKDIR}"/build >/dev/null
-	tar jcf gcc-config-logs.tar.bz2 $(find -name config.log)
-	eerror
-	eerror "Please include ${PWD}/gcc-config-logs.tar.bz2"
-	eerror "in your bug report if the error occurred during configure."
-	eerror
-	popd >/dev/null
+	if [[ -e "${WORKDIR}"/build ]] ; then 
+		pushd "${WORKDIR}"/build >/dev/null
+		(echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log
+		[[ -e "${T}"/build.log ]] && cp "${T}"/build.log .
+		tar jcf "${WORKDIR}"/gcc-build-logs.tar.bz2 \
+			gccinfo.log build.log $(find -name config.log)
+		rm gccinfo.log build.log
+		eerror
+		eerror "Please include ${WORKDIR}/gcc-build-logs.tar.bz2 in your bug report."
+		eerror
+		popd >/dev/null
+	fi
 }
 
 # This function accepts one optional argument, the make target to be used.





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-11-25  3:11 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-11-25  3:11 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/11/25 03:11:57

  Modified:             ChangeLog toolchain.eclass
  Log:
  Prevent comparison failures due to -frecord-gcc-switches (bug #490738).

Revision  Changes    Path
1.1069               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1069&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1069&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1068&r2=1.1069

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1068
retrieving revision 1.1069
diff -u -r1.1068 -r1.1069
--- ChangeLog	25 Nov 2013 02:49:47 -0000	1.1068
+++ ChangeLog	25 Nov 2013 03:11:57 -0000	1.1069
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1068 2013/11/25 02:49:47 nerdboy Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1069 2013/11/25 03:11:57 dirtyepic Exp $
+
+  25 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Prevent comparison failures due to -frecord-gcc-switches (bug #490738).
 
   25 Nov 2013; Steve Arnold <nerdboy@gentoo.org> gnatbuild.eclass:
   Updates for handling texinfo breakage/version stuff (see bug #483192).



1.606                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.606&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.606&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.605&r2=1.606

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.605
retrieving revision 1.606
diff -u -r1.605 -r1.606
--- toolchain.eclass	9 Nov 2013 10:05:12 -0000	1.605
+++ toolchain.eclass	25 Nov 2013 03:11:57 -0000	1.606
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.605 2013/11/09 10:05:12 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.606 2013/11/25 03:11:57 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1395,6 +1395,8 @@
 	# dont want to funk ourselves
 	filter-flags '-mabi*' -m31 -m32 -m64
 
+	filter-flags '-frecord-gcc-switches' # 490738
+
 	case ${GCC_BRANCH_VER} in
 		3.2|3.3)
 			replace-cpu-flags k8 athlon64 opteron x86-64





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-19  6:00 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-19  6:00 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/19 06:00:43

  Modified:             ChangeLog toolchain.eclass
  Log:
  Refactoring: Inline gcc-compiler-configure() into gcc_do_configure(). Clean
  up, sort and group options.

Revision  Changes    Path
1.1083               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1083&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1083&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1082&r2=1.1083

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1082
retrieving revision 1.1083
diff -u -r1.1082 -r1.1083
--- ChangeLog	16 Dec 2013 14:31:04 -0000	1.1082
+++ ChangeLog	19 Dec 2013 06:00:43 -0000	1.1083
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1082 2013/12/16 14:31:04 swift Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1083 2013/12/19 06:00:43 dirtyepic Exp $
+
+  19 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Refactoring: Inline gcc-compiler-configure() into gcc_do_configure(). Clean
+  up, sort and group options.
 
   16 Dec 2013; Sven Vermeulen <swift@gentoo.org> selinux-policy-2.eclass:
   Added HTTPS URL to EGIT_REPO_URI to allow live ebuilds to fetch data if



1.607                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.607&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.607&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.606&r2=1.607

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.606
retrieving revision 1.607
diff -u -r1.606 -r1.607
--- toolchain.eclass	25 Nov 2013 03:11:57 -0000	1.606
+++ toolchain.eclass	19 Dec 2013 06:00:43 -0000	1.607
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.606 2013/11/25 03:11:57 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.607 2013/12/19 06:00:43 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -861,165 +861,42 @@
 	fi
 }
 
-gcc-compiler-configure() {
-	gcc-multilib-configure
-
-	if tc_version_is_at_least 4.0 ; then
-		if in_iuse mudflap ; then
-			confgcc+=( $(use_enable mudflap libmudflap) )
-		else
-			confgcc+=( --disable-libmudflap )
-		fi
-
-		if use_if_iuse libssp ; then
-			confgcc+=( --enable-libssp )
-		else
-			export gcc_cv_libc_provides_ssp=yes
-			confgcc+=( --disable-libssp )
-		fi
-
-		# If we want hardened support with the newer piepatchset for >=gcc 4.4
-		if tc_version_is_at_least 4.4 && want_minispecs ; then
-			confgcc+=( $(use_enable hardened esp) )
-		fi
-
-		if tc_version_is_at_least 4.2 ; then
-			if in_iuse openmp ; then
-				# Make sure target has pthreads support. #326757 #335883
-				# There shouldn't be a chicken&egg problem here as openmp won't
-				# build without a C library, and you can't build that w/out
-				# already having a compiler ...
-				if ! is_crosscompile || \
-				   $(tc-getCPP ${CTARGET}) -E - <<<"#include <pthread.h>" >& /dev/null
-				then
-					confgcc+=( $(use_enable openmp libgomp) )
-				else
-					# Force disable as the configure script can be dumb #359855
-					confgcc+=( --disable-libgomp )
-				fi
-			else
-				# For gcc variants where we don't want openmp (e.g. kgcc)
-				confgcc+=( --disable-libgomp )
-			fi
-		fi
-
-		# Stick the python scripts in their own slotted directory
-		# bug #279252
-		#
-		#  --with-python-dir=DIR
-		#  Specifies where to install the Python modules used for aot-compile. DIR
-		#  should not include the prefix used in installation. For example, if the
-		#  Python modules are to be installed in /usr/lib/python2.5/site-packages,
-		#  then --with-python-dir=/lib/python2.5/site-packages should be passed.
-		#
-		# This should translate into "/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}/python"
-		if tc_version_is_at_least 4.4 ; then
-			confgcc+=( --with-python-dir=${DATAPATH/$PREFIX/}/python )
-		fi
-	fi
-
-	# Enable build warnings by default with cross-compilers when system
-	# paths are included (e.g. via -I flags).
-	is_crosscompile && confgcc+=( --enable-poison-system-directories )
-
-	# For newer versions of gcc, use the default ("release"), because no
-	# one (even upstream apparently) tests with it disabled. #317217
-	if tc_version_is_at_least 4 || [[ -n ${GCC_CHECKS_LIST} ]] ; then
-		confgcc+=( --enable-checking=${GCC_CHECKS_LIST:-release} )
-	else
-		confgcc+=( --disable-checking )
-	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 ! is_gcj ; then
-		confgcc+=( --disable-libgcj )
-	elif use gtk ; then
-		confgcc+=( --enable-java-awt=gtk )
-	fi
+gcc_do_configure() {
+	local confgcc=( --host=${CHOST} )
 
-	# allow gcc to search for clock funcs in the main C lib.
-	# if it can't find them, then tough cookies -- we aren't
-	# going to link in -lrt to all C++ apps.  #411681
-	if tc_version_is_at_least 4.4 && is_cxx ; then
-		confgcc+=( --enable-libstdcxx-time )
+	if is_crosscompile || tc-is-cross-compiler ; then
+		# Straight from the GCC install doc:
+		# "GCC has code to correctly determine the correct value for target
+		# for nearly all native systems. Therefore, we highly recommend you
+		# not provide a configure target when configuring a native compiler."
+		confgcc+=( --target=${CTARGET} )
 	fi
+	[[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} )
 
-	# newer gcc versions like to bootstrap themselves with C++,
-	# so we need to manually disable it ourselves
-	if tc_version_is_at_least 4.7 && ! is_cxx ; then
-		confgcc+=( --disable-build-with-cxx --disable-build-poststage1-with-cxx )
-	fi
+	confgcc+=(
+		--prefix="${PREFIX}"
+		--bindir="${BINPATH}"
+		--includedir="${INCLUDEPATH}"
+		--datadir="${DATAPATH}"
+		--mandir="${DATAPATH}/man"
+		--infodir="${DATAPATH}/info"
+		--with-gxx-include-dir="${STDCXX_INCDIR}"
+	)
 
-	# newer gcc's come with libquadmath, but only fortran uses
-	# it, so auto punt it when we don't care
-	if tc_version_is_at_least 4.6 && ! is_fortran ; then
-		confgcc+=( --disable-libquadmath )
+	# Stick the python scripts in their own slotted directory (bug #279252)
+	#
+	#  --with-python-dir=DIR
+	#  Specifies where to install the Python modules used for aot-compile. DIR
+	#  should not include the prefix used in installation. For example, if the
+	#  Python modules are to be installed in /usr/lib/python2.5/site-packages,
+	#  then --with-python-dir=/lib/python2.5/site-packages should be passed.
+	#
+	# This should translate into "/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}/python"
+	if tc_version_is_at_least 4.4 ; then
+		confgcc+=( --with-python-dir=${DATAPATH/$PREFIX/}/python )
 	fi
 
-	local with_abi_map=()
-	case $(tc-arch) in
-	arm)	#264534 #414395
-		local a arm_arch=${CTARGET%%-*}
-		# Remove trailing endian variations first: eb el be bl b l
-		for a in e{b,l} {b,l}e b l ; do
-			if [[ ${arm_arch} == *${a} ]] ; then
-				arm_arch=${arm_arch%${a}}
-				break
-			fi
-		done
-		# Convert armv7{a,r,m} to armv7-{a,r,m}
-		[[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
-		# See if this is a valid --with-arch flag
-		if (srcdir=${S}/gcc target=${CTARGET} with_arch=${arm_arch};
-		    . "${srcdir}"/config.gcc) &>/dev/null
-		then
-			confgcc+=( --with-arch=${arm_arch} )
-		fi
-
-		# Make default mode thumb for microcontroller classes #418209
-		[[ ${arm_arch} == *-m ]] && confgcc+=( --with-mode=thumb )
-
-		# Enable hardvfp
-		if [[ $(tc-is-softfloat) == "no" ]] && \
-		   [[ ${CTARGET} == armv[67]* ]] && \
-		   tc_version_is_at_least 4.5
-		then
-			# Follow the new arm hardfp distro standard by default
-			confgcc+=( --with-float=hard )
-			case ${CTARGET} in
-			armv6*) confgcc+=( --with-fpu=vfp ) ;;
-			armv7*) confgcc+=( --with-fpu=vfpv3-d16 ) ;;
-			esac
-		fi
-		;;
-	mips)
-		# Add --with-abi flags to set default ABI
-		confgcc+=( --with-abi=$(gcc-abi-map ${TARGET_DEFAULT_ABI}) )
-		;;
-	amd64)
-		# drop the older/ABI checks once this get's merged into some
-		# version of gcc upstream
-		if tc_version_is_at_least 4.7 && has x32 $(get_all_abis TARGET) ; then
-			confgcc+=( --with-abi=$(gcc-abi-map ${TARGET_DEFAULT_ABI}) )
-		fi
-		;;
-	x86)
-		# Default arch for x86 is normally i386, lets give it a bump
-		# since glibc will do so based on CTARGET anyways
-		confgcc+=( --with-arch=${CTARGET%%-*} )
-		;;
-	hppa)
-		# Enable sjlj exceptions for backward compatibility on hppa
-		[[ ${GCCMAJOR} == "3" ]] && confgcc+=( --enable-sjlj-exceptions )
-		;;
-	ppc)
-		# Set up defaults based on current CFLAGS
-		is-flagq -mfloat-gprs=double && confgcc+=( --enable-e500-double )
-		[[ ${CTARGET//_/-} == *-e500v2-* ]] && confgcc+=( --enable-e500-double )
-		;;
-	esac
+	### language options
 
 	local GCC_LANG="c"
 	is_cxx && GCC_LANG+=",c++"
@@ -1045,99 +922,63 @@
 	# We do NOT want 'ADA support' in here!
 	# is_ada && GCC_LANG+=",ada"
 
-	einfo "configuring for GCC_LANG: ${GCC_LANG}"
 	confgcc+=( --enable-languages=${GCC_LANG} )
-}
 
-gcc_do_configure() {
-	local confgcc=(
-		# Set configuration based on path variables
-		--prefix="${PREFIX}"
-		--bindir="${BINPATH}"
-		--includedir="${INCLUDEPATH}"
-		--datadir="${DATAPATH}"
-		--mandir="${DATAPATH}/man"
-		--infodir="${DATAPATH}/info"
-		--with-gxx-include-dir="${STDCXX_INCDIR}"
+	### general options
+
+	confgcc+=(
+		--enable-obsolete
+		--enable-secureplt
+		--disable-werror
+		--with-system-zlib
 	)
-	# On Darwin we need libdir to be set in order to get correct install names
-	# for things like libobjc-gnu, libgcj and libfortran.  If we enable it on
-	# non-Darwin we screw up the behaviour this eclass relies on.  We in
-	# particular need this over --libdir for bug #255315.
-	[[ ${CTARGET} == *-darwin* ]] && \
-		confgcc+=( --enable-version-specific-runtime-libs )
 
-	# All our cross-compile logic goes here !  woo !
-	confgcc+=( --host=${CHOST} )
-	if is_crosscompile || tc-is-cross-compiler ; then
-		# Straight from the GCC install doc:
-		# "GCC has code to correctly determine the correct value for target
-		# for nearly all native systems. Therefore, we highly recommend you
-		# not provide a configure target when configuring a native compiler."
-		confgcc+=( --target=${CTARGET} )
+	if use nls ; then
+		confgcc+=( --enable-nls --without-included-gettext )
+	else
+		confgcc+=( --disable-nls )
 	fi
-	[[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} )
-
-	# ppc altivec support
-	confgcc+=( $(use_enable altivec) )
-
-	# gcc has fixed-point arithmetic support in 4.3 for mips targets that can
-	# significantly increase compile time by several hours.  This will allow
-	# users to control this feature in the event they need the support.
-	tc_version_is_at_least 4.3 && confgcc+=( $(use_enable fixed-point) )
 
-	# graphite was added in 4.4 but we only support it in 4.6+ due to external
-	# library issues.  4.6/4.7 uses cloog-ppl which is a fork of CLooG with a
-	# PPL backend.  4.8+ uses upstream CLooG with the ISL backend.  We install
-	# cloog-ppl into a non-standard location to prevent collisions.
-	if tc_version_is_at_least 4.8 ; then
-		confgcc+=( $(use_with graphite cloog) )
-		use graphite && confgcc+=( --disable-isl-version-check )
-	elif tc_version_is_at_least 4.6 ; then
-		confgcc+=( $(use_with graphite cloog) )
-		confgcc+=( $(use_with graphite ppl) )
-		use graphite && confgcc+=( --with-cloog-include=/usr/include/cloog-ppl )
-		use graphite && confgcc+=( --disable-ppl-version-check )
-	elif tc_version_is_at_least 4.4 ; then
-		confgcc+=( --without-cloog )
-		confgcc+=( --without-ppl )
-	fi
+	tc_version_is_at_least 3.4 || confgcc+=( --disable-libunwind-exceptions )
 
-	if tc_version_is_at_least 4.6 ; then
-		confgcc+=( $(use_enable lto) )
-	elif tc_version_is_at_least 4.5 ; then
-		confgcc+=( --disable-lto )
+	# Use the default ("release") checking because upstream usually neglects
+	# to test "disabled" so it has a history of breaking. #317217
+	if tc_version_is_at_least 4 || [[ -n ${GCC_CHECKS_LIST} ]] ; then
+		confgcc+=( --enable-checking=${GCC_CHECKS_LIST:-release} )
+	else
+		confgcc+=( --disable-checking )
 	fi
 
-	case $(tc-is-softfloat) in
-	yes)    confgcc+=( --with-float=soft ) ;;
-	softfp) confgcc+=( --with-float=softfp ) ;;
-	*)
-		# If they've explicitly opt-ed in, do hardfloat,
-		# otherwise let the gcc default kick in.
-		[[ ${CTARGET//_/-} == *-hardfloat-* ]] \
-			&& confgcc+=( --with-float=hard )
-		;;
-	esac
+	# Branding
+	tc_version_is_at_least 4.3 && confgcc+=(
+		--with-bugurl=http://bugs.gentoo.org/
+		--with-pkgversion="${BRANDING_GCC_PKGVERSION}"
+	)
 
-	# Native Language Support
-	if use nls ; then
-		confgcc+=( --enable-nls --without-included-gettext )
-	else
-		confgcc+=( --disable-nls )
+	# If we want hardened support with the newer piepatchset for >=gcc 4.4
+	if tc_version_is_at_least 4.4 && want_minispecs ; then
+		confgcc+=( $(use_enable hardened esp) )
 	fi
 
-	# reasonably sane globals (hopefully)
-	confgcc+=(
-		--with-system-zlib
-		--enable-obsolete
-		--disable-werror
-		--enable-secureplt
-	)
+	# allow gcc to search for clock funcs in the main C lib.
+	# if it can't find them, then tough cookies -- we aren't
+	# going to link in -lrt to all C++ apps.  #411681
+	if tc_version_is_at_least 4.4 && is_cxx ; then
+		confgcc+=( --enable-libstdcxx-time )
+	fi
 
-	gcc-compiler-configure || die
+	# newer gcc versions like to bootstrap themselves with C++,
+	# so we need to manually disable it ourselves
+	if tc_version_is_at_least 4.7 && ! is_cxx ; then
+		confgcc+=( --disable-build-with-cxx --disable-build-poststage1-with-cxx )
+	fi
 
+	### Cross-compiler options
 	if is_crosscompile ; then
+		# Enable build warnings by default with cross-compilers when system
+		# paths are included (e.g. via -I flags).
+		confgcc+=( --enable-poison-system-directories )
+
 		# When building a stage1 cross-compiler (just C compiler), we have to
 		# disable a bunch of features or gcc goes boom
 		local needed_libc=""
@@ -1197,6 +1038,7 @@
 			confgcc+=( --enable-threads=posix ) ;;
 		esac
 	fi
+
 	# __cxa_atexit is "essential for fully standards-compliant handling of
 	# destructors", but apparently requires glibc.
 	case ${CTARGET} in
@@ -1227,7 +1069,91 @@
 		;;
 	esac
 
-	tc_version_is_at_least 3.4 || confgcc+=( --disable-libunwind-exceptions )
+	### arch options
+
+	gcc-multilib-configure
+
+	# ppc altivec support
+	confgcc+=( $(use_enable altivec) )
+
+	# gcc has fixed-point arithmetic support in 4.3 for mips targets that can
+	# significantly increase compile time by several hours.  This will allow
+	# users to control this feature in the event they need the support.
+	tc_version_is_at_least 4.3 && confgcc+=( $(use_enable fixed-point) )
+
+	case $(tc-is-softfloat) in
+	yes)    confgcc+=( --with-float=soft ) ;;
+	softfp) confgcc+=( --with-float=softfp ) ;;
+	*)
+		# If they've explicitly opt-ed in, do hardfloat,
+		# otherwise let the gcc default kick in.
+		[[ ${CTARGET//_/-} == *-hardfloat-* ]] \
+			&& confgcc+=( --with-float=hard )
+		;;
+	esac
+
+	local with_abi_map=()
+	case $(tc-arch) in
+	arm)	#264534 #414395
+		local a arm_arch=${CTARGET%%-*}
+		# Remove trailing endian variations first: eb el be bl b l
+		for a in e{b,l} {b,l}e b l ; do
+			if [[ ${arm_arch} == *${a} ]] ; then
+				arm_arch=${arm_arch%${a}}
+				break
+			fi
+		done
+		# Convert armv7{a,r,m} to armv7-{a,r,m}
+		[[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
+		# See if this is a valid --with-arch flag
+		if (srcdir=${S}/gcc target=${CTARGET} with_arch=${arm_arch};
+		    . "${srcdir}"/config.gcc) &>/dev/null
+		then
+			confgcc+=( --with-arch=${arm_arch} )
+		fi
+
+		# Make default mode thumb for microcontroller classes #418209
+		[[ ${arm_arch} == *-m ]] && confgcc+=( --with-mode=thumb )
+
+		# Enable hardvfp
+		if [[ $(tc-is-softfloat) == "no" ]] && \
+		   [[ ${CTARGET} == armv[67]* ]] && \
+		   tc_version_is_at_least 4.5
+		then
+			# Follow the new arm hardfp distro standard by default
+			confgcc+=( --with-float=hard )
+			case ${CTARGET} in
+			armv6*) confgcc+=( --with-fpu=vfp ) ;;
+			armv7*) confgcc+=( --with-fpu=vfpv3-d16 ) ;;
+			esac
+		fi
+		;;
+	mips)
+		# Add --with-abi flags to set default ABI
+		confgcc+=( --with-abi=$(gcc-abi-map ${TARGET_DEFAULT_ABI}) )
+		;;
+	amd64)
+		# drop the older/ABI checks once this get's merged into some
+		# version of gcc upstream
+		if tc_version_is_at_least 4.7 && has x32 $(get_all_abis TARGET) ; then
+			confgcc+=( --with-abi=$(gcc-abi-map ${TARGET_DEFAULT_ABI}) )
+		fi
+		;;
+	x86)
+		# Default arch for x86 is normally i386, lets give it a bump
+		# since glibc will do so based on CTARGET anyways
+		confgcc+=( --with-arch=${CTARGET%%-*} )
+		;;
+	hppa)
+		# Enable sjlj exceptions for backward compatibility on hppa
+		[[ ${GCCMAJOR} == "3" ]] && confgcc+=( --enable-sjlj-exceptions )
+		;;
+	ppc)
+		# Set up defaults based on current CFLAGS
+		is-flagq -mfloat-gprs=double && confgcc+=( --enable-e500-double )
+		[[ ${CTARGET//_/-} == *-e500v2-* ]] && confgcc+=( --enable-e500-double )
+		;;
+	esac
 
 	# if the target can do biarch (-m32/-m64), enable it.  overhead should
 	# be small, and should simplify building of 64bit kernels in a 32bit
@@ -1238,15 +1164,85 @@
 	amd64|x86) tc_version_is_at_least 4.3 && confgcc+=( --enable-targets=all ) ;;
 	esac
 
-	tc_version_is_at_least 4.3 && confgcc+=(
-		--with-bugurl=http://bugs.gentoo.org/
-		--with-pkgversion="${BRANDING_GCC_PKGVERSION}"
-	)
+	# On Darwin we need libdir to be set in order to get correct install names
+	# for things like libobjc-gnu, libgcj and libfortran.  If we enable it on
+	# non-Darwin we screw up the behaviour this eclass relies on.  We in
+	# particular need this over --libdir for bug #255315.
+	[[ ${CTARGET} == *-darwin* ]] && \
+		confgcc+=( --enable-version-specific-runtime-libs )
 
-	confgcc+=(
-		"$@"
-		${EXTRA_ECONF}
-	)
+	### library options
+
+	if ! is_gcj ; then
+		confgcc+=( --disable-libgcj )
+	elif use gtk ; then
+		confgcc+=( --enable-java-awt=gtk )
+	fi
+
+	if tc_version_is_at_least 4.2 ; then
+		if in_iuse openmp ; then
+			# Make sure target has pthreads support. #326757 #335883
+			# There shouldn't be a chicken & egg problem here as openmp won't
+			# build without a C library, and you can't build that w/out
+			# already having a compiler ...
+			if ! is_crosscompile || \
+			   $(tc-getCPP ${CTARGET}) -E - <<<"#include <pthread.h>" >& /dev/null
+			then
+				confgcc+=( $(use_enable openmp libgomp) )
+			else
+				# Force disable as the configure script can be dumb #359855
+				confgcc+=( --disable-libgomp )
+			fi
+		else
+			# For gcc variants where we don't want openmp (e.g. kgcc)
+			confgcc+=( --disable-libgomp )
+		fi
+	fi
+
+	if tc_version_is_at_least 4.0 ; then
+		if in_iuse mudflap ; then
+			confgcc+=( $(use_enable mudflap libmudflap) )
+		else
+			confgcc+=( --disable-libmudflap )
+		fi
+
+		if use_if_iuse libssp ; then
+			confgcc+=( --enable-libssp )
+		else
+			export gcc_cv_libc_provides_ssp=yes
+			confgcc+=( --disable-libssp )
+		fi
+
+	fi
+
+	# newer gcc's come with libquadmath, but only fortran uses
+	# it, so auto punt it when we don't care
+	if tc_version_is_at_least 4.6 && ! is_fortran ; then
+		confgcc+=( --disable-libquadmath )
+	fi
+
+	if tc_version_is_at_least 4.6 ; then
+		confgcc+=( $(use_enable lto) )
+	elif tc_version_is_at_least 4.5 ; then
+		confgcc+=( --disable-lto )
+	fi
+
+	# graphite was added in 4.4 but we only support it in 4.6+ due to external
+	# library issues.  4.6/4.7 uses cloog-ppl which is a fork of CLooG with a
+	# PPL backend.  4.8+ uses upstream CLooG with the ISL backend.  We install
+	# cloog-ppl into a non-standard location to prevent collisions.
+	if tc_version_is_at_least 4.8 ; then
+		confgcc+=( $(use_with graphite cloog) )
+		use graphite && confgcc+=( --disable-isl-version-check )
+	elif tc_version_is_at_least 4.6 ; then
+		confgcc+=( $(use_with graphite cloog) )
+		confgcc+=( $(use_with graphite ppl) )
+		use graphite && confgcc+=( --with-cloog-include=/usr/include/cloog-ppl )
+		use graphite && confgcc+=( --disable-ppl-version-check )
+	elif tc_version_is_at_least 4.4 ; then
+		confgcc+=( --without-cloog )
+		confgcc+=( --without-ppl )
+	fi
 
 	# Disable gcc info regeneration -- it ships with generated info pages
 	# already.  Our custom version/urls/etc... trigger it.  #464008
@@ -1258,13 +1254,17 @@
 	# killing the 32bit builds which want /usr/lib.
 	export ac_cv_have_x='have_x=yes ac_x_includes= ac_x_libraries='
 
+	confgcc+=( "$@" ${EXTRA_ECONF} )
+
 	# Nothing wrong with a good dose of verbosity
 	echo
-	einfo "PREFIX:			${PREFIX}"
-	einfo "BINPATH:			${BINPATH}"
-	einfo "LIBPATH:			${LIBPATH}"
-	einfo "DATAPATH:		${DATAPATH}"
-	einfo "STDCXX_INCDIR:	${STDCXX_INCDIR}"
+	einfo "PREFIX:          ${PREFIX}"
+	einfo "BINPATH:         ${BINPATH}"
+	einfo "LIBPATH:         ${LIBPATH}"
+	einfo "DATAPATH:        ${DATAPATH}"
+	einfo "STDCXX_INCDIR:   ${STDCXX_INCDIR}"
+	echo
+	einfo "Languages:       ${GCC_LANG}"
 	echo
 	einfo "Configuring GCC with: ${confgcc[@]//--/\n\t--}"
 	echo





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-21 11:59 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-21 11:59 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/21 11:59:18

  Modified:             ChangeLog toolchain.eclass
  Log:
  Reorder by phase and group functions together with the phase that uses them.
  No functional changes.

Revision  Changes    Path
1.1084               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1084&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1084&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1083&r2=1.1084

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1083
retrieving revision 1.1084
diff -u -r1.1083 -r1.1084
--- ChangeLog	19 Dec 2013 06:00:43 -0000	1.1083
+++ ChangeLog	21 Dec 2013 11:59:18 -0000	1.1084
@@ -1,10 +1,14 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1083 2013/12/19 06:00:43 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1084 2013/12/21 11:59:18 dirtyepic Exp $
+
+  21 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Reorder by phase and group functions together with the phase that uses them.
+  No functional changes.
 
   19 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
-  Refactoring: Inline gcc-compiler-configure() into gcc_do_configure(). Clean
-  up, sort and group options.
+  Inline gcc-compiler-configure() into gcc_do_configure(). Clean up, sort and
+  group options.
 
   16 Dec 2013; Sven Vermeulen <swift@gentoo.org> selinux-policy-2.eclass:
   Added HTTPS URL to EGIT_REPO_URI to allow live ebuilds to fetch data if



1.608                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.608&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.608&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.607&r2=1.608

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.607
retrieving revision 1.608
diff -u -r1.607 -r1.608
--- toolchain.eclass	19 Dec 2013 06:00:43 -0000	1.607
+++ toolchain.eclass	21 Dec 2013 11:59:18 -0000	1.608
@@ -1,10 +1,9 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.607 2013/12/19 06:00:43 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.608 2013/12/21 11:59:18 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
-#---->> eclass stuff <<----
 DESCRIPTION="The GNU Compiler Collection"
 HOMEPAGE="http://gcc.gnu.org/"
 LICENSE="GPL-2 LGPL-2.1"
@@ -27,9 +26,9 @@
 FEATURES=${FEATURES/multilib-strict/}
 
 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
-#----<< eclass stuff >>----
 
 #---->> globals <<----
+
 export CTARGET=${CTARGET:-${CHOST}}
 if [[ ${CTARGET} = ${CHOST} ]] ; then
 	if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
@@ -100,9 +99,9 @@
 # Dont install in /usr/include/g++-v3/, but in gcc internal directory.
 # We will handle /usr/include/g++-v3/ with gcc-config ...
 STDCXX_INCDIR=${TOOLCHAIN_STDCXX_INCDIR:-${LIBPATH}/include/g++-v${GCC_BRANCH_VER/\.*/}}
-#----<< globals >>----
 
 #---->> SLOT+IUSE logic <<----
+
 IUSE="multislot nls nptl regression-test vanilla"
 
 if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
@@ -128,9 +127,9 @@
 else
 	SLOT="${GCC_BRANCH_VER}"
 fi
-#----<< SLOT+IUSE logic >>----
 
 #---->> DEPEND <<----
+
 RDEPEND="sys-libs/zlib
 	nls? ( sys-devel/gettext )"
 
@@ -192,7 +191,6 @@
 fi
 
 PDEPEND=">=sys-devel/gcc-config-1.7"
-#----<< DEPEND >>----
 
 #---->> S + SRC_URI essentials <<----
 
@@ -208,6 +206,13 @@
 	fi
 )
 
+gentoo_urls() {
+	local devspace="HTTP~vapier/dist/URI HTTP~dirtyepic/dist/URI
+	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI"
+	devspace=${devspace//HTTP/http:\/\/dev.gentoo.org\/}
+	echo mirror://gentoo/$1 ${devspace//URI/$1}
+}
+
 # This function handles the basics of setting the SRC_URI for a gcc ebuild.
 # To use, set SRC_URI with:
 #
@@ -266,14 +271,6 @@
 #			ten Brugge's bounds-checking patches. If you want to use a patch
 #			for an older gcc version with a new gcc, make sure you set
 #			HTB_GCC_VER to that version of gcc.
-#
-gentoo_urls() {
-	local devspace="HTTP~vapier/dist/URI HTTP~dirtyepic/dist/URI
-	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI"
-	devspace=${devspace//HTTP/http:\/\/dev.gentoo.org\/}
-	echo mirror://gentoo/$1 ${devspace//URI/$1}
-}
-
 get_gcc_src_uri() {
 	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
 	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
@@ -331,332 +328,367 @@
 
 	echo "${GCC_SRC_URI}"
 }
+
 SRC_URI=$(get_gcc_src_uri)
-#---->> S + SRC_URI essentials >>----
 
-#---->> support checks <<----
+#---->> pkg_setup <<----
 
-# Grab a variable from the build system (taken from linux-info.eclass)
-get_make_var() {
-	local var=$1 makefile=${2:-${WORKDIR}/build/Makefile}
-	echo -e "e:\\n\\t@echo \$(${var})\\ninclude ${makefile}" | \
-		r=${makefile%/*} emake --no-print-directory -s -f - 2>/dev/null
-}
-XGCC() { get_make_var GCC_FOR_TARGET ; }
+toolchain_pkg_setup() {
+	if [[ -n ${PRERELEASE}${SNAPSHOT} || ${PV} == *9999* ]] &&
+	   [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] ; 	then
+		die "Please \`export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1\` or define it" \
+			"in your make.conf if you want to use this version."
+	fi
 
-# The gentoo piessp patches allow for 3 configurations:
-# 1) PIE+SSP by default
-# 2) PIE by default
-# 3) SSP by default
-hardened_gcc_works() {
-	if [[ $1 == "pie" ]] ; then
-		# $gcc_cv_ld_pie is unreliable as it simply take the output of
-		# `ld --help | grep -- -pie`, that reports the option in all cases, also if
-		# the loader doesn't actually load the resulting executables.
-		# To avoid breakage, blacklist FreeBSD here at least
-		[[ ${CTARGET} == *-freebsd* ]] && return 1
+	# we dont want to use the installed compiler's specs to build gcc!
+	unset GCC_SPECS
 
-		want_pie || return 1
-		use_if_iuse nopie && return 1
-		hardened_gcc_is_stable pie
-		return $?
-	elif [[ $1 == "ssp" ]] ; then
-		[[ -n ${SPECS_VER} ]] || return 1
-		use_if_iuse nossp && return 1
-		hardened_gcc_is_stable ssp
-		return $?
-	else
-		# laziness ;)
-		hardened_gcc_works pie || return 1
-		hardened_gcc_works ssp || return 1
-		return 0
+	if ! use_if_iuse cxx ; then
+		use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
+		use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
+		use_if_iuse gcj && ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
 	fi
+
+	want_minispecs
+
+	unset LANGUAGES #265283
 }
 
-hardened_gcc_is_stable() {
-	local tocheck
-	if [[ $1 == "pie" ]] ; then
-		if [[ ${CTARGET} == *-uclibc* ]] ; then
-			tocheck=${PIE_UCLIBC_STABLE}
-		else
-			tocheck=${PIE_GLIBC_STABLE}
-		fi
-	elif [[ $1 == "ssp" ]] ; then
-		if [[ ${CTARGET} == *-uclibc* ]] ; then
-			tocheck=${SSP_UCLIBC_STABLE}
-		else
-			tocheck=${SSP_STABLE}
-		fi
+#----> src_unpack <----
+
+toolchain_src_unpack() {
+	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \
+		die "Sorry, this version does not support uClibc"
+
+	if [[ ${PV} == *9999* ]]; then
+		git-2_src_unpack
 	else
-		die "hardened_gcc_stable needs to be called with pie or ssp"
+		gcc_quick_unpack
 	fi
 
-	has $(tc-arch) ${tocheck} && return 0
-	return 1
-}
-
-want_pie() {
-	! use hardened && [[ -n ${PIE_VER} ]] && use nopie && return 1
-	[[ -n ${PIE_VER} ]] && [[ -n ${SPECS_VER} ]] && return 0
-	tc_version_is_at_least 4.3.2 && return 1
-	[[ -z ${PIE_VER} ]] && return 1
-	use !nopie && return 0
-	return 1
-}
+	export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
+	cd "${S}"
 
-want_minispecs() {
-	if tc_version_is_at_least 4.3.2 && use hardened ; then
-		if ! want_pie ; then
-			ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild."
-		elif use vanilla ; then
-			ewarn "You will not get hardened features if you have the vanilla USE-flag."
-		elif use nopie && use nossp ; then
-			ewarn "You will not get hardened features if you have the nopie and nossp USE-flag."
-		elif ! hardened_gcc_works ; then
-			ewarn "Your $(tc-arch) arch is not supported."
-		else
-			return 0
+	if ! use vanilla ; then
+		if [[ -n ${PATCH_VER} ]] ; then
+			guess_patch_type_in_dir "${WORKDIR}"/patch
+			EPATCH_MULTI_MSG="Applying Gentoo patches ..." \
+			epatch "${WORKDIR}"/patch
+			BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
+		fi
+		if [[ -n ${UCLIBC_VER} ]] ; then
+			guess_patch_type_in_dir "${WORKDIR}"/uclibc
+			EPATCH_MULTI_MSG="Applying uClibc patches ..." \
+			epatch "${WORKDIR}"/uclibc
 		fi
-		ewarn "Hope you know what you are doing. Hardened will not work."
-		return 0
 	fi
-	return 1
-}
+	do_gcc_HTB_patches
+	do_gcc_PIE_patches
+	epatch_user
 
-# This is to make sure we don't accidentally try to enable support for a
-# language that doesnt exist. GCC 3.4 supports f77, while 4.0 supports f95, etc.
-#
-# Also add a hook so special ebuilds (kgcc64) can control which languages
-# exactly get enabled
-gcc-lang-supported() {
-	grep ^language=\"${1}\" "${S}"/gcc/*/config-lang.in > /dev/null || return 1
-	[[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0
-	has $1 ${TOOLCHAIN_ALLOWED_LANGS}
-}
-#----<< support checks >>----
+	use hardened && make_gcc_hard
 
-#---->> specs + env.d logic <<----
+	# install the libstdc++ python into the right location
+	# http://gcc.gnu.org/PR51368
+	if tc_version_is_at_least 4.5 && ! tc_version_is_at_least 4.7 ; then
+		sed -i \
+			'/^pythondir =/s:=.*:= $(datadir)/python:' \
+			"${S}"/libstdc++-v3/python/Makefile.in || die
+	fi
 
-# configure to build with the hardened GCC specs as the default
-make_gcc_hard() {
-	# defaults to enable for all hardened toolchains
-	local gcc_hard_flags="-DEFAULT_RELRO -DEFAULT_BIND_NOW"
+	# make sure the pkg config files install into multilib dirs.
+	# since we configure with just one --libdir, we can't use that
+	# (as gcc itself takes care of building multilibs).  #435728
+	find "${S}" -name Makefile.in \
+		-exec sed -i '/^pkgconfigdir/s:=.*:=$(toolexeclibdir)/pkgconfig:' {} +
 
-	if hardened_gcc_works ; then
-		einfo "Updating gcc to use automatic PIE + SSP building ..."
-		gcc_hard_flags+=" -DEFAULT_PIE_SSP"
-	elif hardened_gcc_works pie ; then
-		einfo "Updating gcc to use automatic PIE building ..."
-		ewarn "SSP has not been enabled by default"
-		gcc_hard_flags+=" -DEFAULT_PIE"
-	elif hardened_gcc_works ssp ; then
-		einfo "Updating gcc to use automatic SSP building ..."
-		ewarn "PIE has not been enabled by default"
-		gcc_hard_flags+=" -DEFAULT_SSP"
-	else
-		# do nothing if hardened isnt supported, but dont die either
-		ewarn "hardened is not supported for this arch in this gcc version"
-		ebeep
-		return 0
+	# No idea when this first started being fixed, but let's go with 4.3.x for now
+	if ! tc_version_is_at_least 4.3 ; then
+		fix_files=""
+		for x in contrib/test_summary libstdc++-v3/scripts/check_survey.in ; do
+			[[ -e ${x} ]] && fix_files="${fix_files} ${x}"
+		done
+		ht_fix_file ${fix_files} */configure *.sh */Makefile.in
 	fi
 
-	sed -i \
-		-e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
-		"${S}"/gcc/Makefile.in || die
-
-	# rebrand to make bug reports easier
-	BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
-}
+	setup_multilib_osdirnames
+	gcc_version_patch
 
-create_gcc_env_entry() {
-	dodir /etc/env.d/gcc
-	local gcc_envd_base="/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}"
+	if tc_version_is_at_least 4.1 ; then
+		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then
+			# BASE-VER must be a three-digit version number
+			# followed by an optional -pre string
+			#   eg. 4.5.1, 4.6.2-pre20120213, 4.7.0-pre9999
+			# If BASE-VER differs from ${PV/_/-} then libraries get installed in
+			# the wrong directory.
+			echo ${PV/_/-} > "${S}"/gcc/BASE-VER
+		fi
+	fi
 
-	local gcc_specs_file
-	local gcc_envd_file="${D}${gcc_envd_base}"
-	if [[ -z $1 ]] ; then
-		# I'm leaving the following commented out to remind me that it
-		# was an insanely -bad- idea. Stuff broke. GCC_SPECS isnt unset
-		# on chroot or in non-toolchain.eclass gcc ebuilds!
-		#gcc_specs_file="${LIBPATH}/specs"
-		gcc_specs_file=""
-	else
-		gcc_envd_file+="-$1"
-		gcc_specs_file="${LIBPATH}/$1.specs"
+	# >= gcc-4.3 doesn't bundle ecj.jar, so copy it
+	if tc_version_is_at_least 4.3 && use gcj ; then
+		if tc_version_is_at_least 4.5 ; then
+			einfo "Copying ecj-4.5.jar"
+			cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die
+		else
+			einfo "Copying ecj-4.3.jar"
+			cp -pPR "${DISTDIR}/ecj-4.3.jar" "${S}/ecj.jar" || die
+		fi
 	fi
 
-	# We want to list the default ABI's LIBPATH first so libtool
-	# searches that directory first.  This is a temporary
-	# workaround for libtool being stupid and using .la's from
-	# conflicting ABIs by using the first one in the search path
-	local ldpaths mosdirs
-	if tc_version_is_at_least 3.2 ; then
-		local mdir mosdir abi ldpath
-		for abi in $(get_all_abis TARGET) ; do
-			mdir=$($(XGCC) $(get_abi_CFLAGS ${abi}) --print-multi-directory)
-			ldpath=${LIBPATH}
-			[[ ${mdir} != "." ]] && ldpath+="/${mdir}"
-			ldpaths="${ldpath}${ldpaths:+:${ldpaths}}"
+	# disable --as-needed from being compiled into gcc specs
+	# natively when using a gcc version < 3.4.4
+	# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14992
+	if ! tc_version_is_at_least 3.4.4 ; then
+		sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g "${S}"/gcc/config.in
+	fi
 
-			mosdir=$($(XGCC) $(get_abi_CFLAGS ${abi}) -print-multi-os-directory)
-			mosdirs="${mosdir}${mosdirs:+:${mosdirs}}"
-		done
-	else
-		# Older gcc's didn't do multilib, so logic is simple.
-		ldpaths=${LIBPATH}
+	# In gcc 3.3.x and 3.4.x, rename the java bins to gcc-specific names
+	# in line with gcc-4.
+	if tc_version_is_at_least 3.3 && ! tc_version_is_at_least 4.0 ; then
+		do_gcc_rename_java_bins
 	fi
 
-	cat <<-EOF > ${gcc_envd_file}
-	PATH="${BINPATH}"
-	ROOTPATH="${BINPATH}"
-	GCC_PATH="${BINPATH}"
-	LDPATH="${ldpaths}"
-	MANPATH="${DATAPATH}/man"
-	INFOPATH="${DATAPATH}/info"
-	STDCXX_INCDIR="${STDCXX_INCDIR##*/}"
-	CTARGET="${CTARGET}"
-	GCC_SPECS="${gcc_specs_file}"
-	MULTIOSDIRS="${mosdirs}"
-	EOF
-}
-
-setup_minispecs_gcc_build_specs() {
-	# Setup the "build.specs" file for gcc 4.3 to use when building.
-	if hardened_gcc_works pie ; then
-		cat "${WORKDIR}"/specs/pie.specs >> "${WORKDIR}"/build.specs
-	fi
-	if hardened_gcc_works ssp ; then
-		for s in ssp sspall ; do
-			cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
-		done
+	# Prevent libffi from being installed
+	if tc_version_is_at_least 3.0 && ! tc_version_is_at_least 4.8 ; then
+		sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die
+		sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in || die
 	fi
-	for s in nostrict znow ; do
-		cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
+
+	# Fixup libtool to correctly generate .la files with portage
+	elibtoolize --portage --shallow --no-uclibc
+
+	gnuconfig_update
+
+	# update configure files
+	local f
+	einfo "Fixing misc issues in configure files"
+	# TODO - check if we can drop this now that we don't gen info files
+	tc_version_is_at_least 4.1 && epatch "${GCC_FILESDIR}"/gcc-configure-texinfo.patch
+	for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
+		ebegin "  Updating ${f/${S}\/} [LANG]"
+		patch "${f}" "${GCC_FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
+			|| eerror "Please file a bug about this"
+		eend $?
 	done
-	export GCC_SPECS="${WORKDIR}"/build.specs
-}
+	sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
 
-copy_minispecs_gcc_specs() {
-	# setup the hardenedno* specs files and the vanilla specs file.
-	if hardened_gcc_works ; then
-		create_gcc_env_entry hardenednopiessp
-	fi
-	if hardened_gcc_works pie ; then
-		create_gcc_env_entry hardenednopie
-	fi
-	if hardened_gcc_works ssp ; then
-		create_gcc_env_entry hardenednossp
-	fi
-	create_gcc_env_entry vanilla
-	insinto ${LIBPATH}
-	doins "${WORKDIR}"/specs/*.specs || die "failed to install specs"
-	# Build system specs file which, if it exists, must be a complete set of
-	# specs as it completely and unconditionally overrides the builtin specs.
-	if ! tc_version_is_at_least 4.4 ; then
-		$(XGCC) -dumpspecs > "${WORKDIR}"/specs/specs
-		cat "${WORKDIR}"/build.specs >> "${WORKDIR}"/specs/specs
-		doins "${WORKDIR}"/specs/specs || die "failed to install the specs file"
+	if [[ -x contrib/gcc_update ]] ; then
+		einfo "Touching generated files"
+		./contrib/gcc_update --touch | \
+			while read f ; do
+				einfo "  ${f%%...}"
+			done
 	fi
 }
 
-#----<< specs + env.d logic >>----
+gcc_quick_unpack() {
+	pushd "${WORKDIR}" > /dev/null
+	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
+	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
+	export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
+	export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
+	export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
 
-#---->> pkg_* <<----
-toolchain_pkg_setup() {
-	if [[ -n ${PRERELEASE}${SNAPSHOT} || ${PV} == *9999* ]] &&
-	   [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] ; 	then
-		die "Please \`export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1\` or define it" \
-			"in your make.conf if you want to use this version."
+	if [[ -n ${GCC_A_FAKEIT} ]] ; then
+		unpack ${GCC_A_FAKEIT}
+	elif [[ -n ${PRERELEASE} ]] ; then
+		unpack gcc-${PRERELEASE}.tar.bz2
+	elif [[ -n ${SNAPSHOT} ]] ; then
+		unpack gcc-${SNAPSHOT}.tar.bz2
+	elif [[ ${PV} != *9999* ]] ; then
+		unpack gcc-${GCC_RELEASE_VER}.tar.bz2
+		# We want branch updates to be against a release tarball
+		if [[ -n ${BRANCH_UPDATE} ]] ; then
+			pushd "${S}" > /dev/null
+			epatch "${DISTDIR}"/gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
+			popd > /dev/null
+		fi
 	fi
 
-	# we dont want to use the installed compiler's specs to build gcc!
-	unset GCC_SPECS
+	if [[ -n ${D_VER} ]] && use d ; then
+		pushd "${S}"/gcc > /dev/null
+		unpack gdc-${D_VER}-src.tar.bz2
+		cd ..
+		ebegin "Adding support for the D language"
+		./gcc/d/setup-gcc.sh >& "${T}"/dgcc.log
+		if ! eend $? ; then
+			eerror "The D gcc package failed to apply"
+			eerror "Please include this log file when posting a bug report:"
+			eerror "  ${T}/dgcc.log"
+			die "failed to include the D language"
+		fi
+		popd > /dev/null
+	fi
 
-	if ! use_if_iuse cxx ; then
-		use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
-		use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
-		use_if_iuse gcj && ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
+	[[ -n ${PATCH_VER} ]] && \
+		unpack gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2
+
+	[[ -n ${UCLIBC_VER} ]] && \
+		unpack gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2
+
+	if want_pie ; then
+		if [[ -n ${PIE_CORE} ]] ; then
+			unpack ${PIE_CORE}
+		else
+			unpack gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2
+		fi
+		[[ -n ${SPECS_VER} ]] && \
+			unpack gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2
 	fi
 
-	want_minispecs
+	use_if_iuse boundschecking && unpack "bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
 
-	unset LANGUAGES #265283
+	popd > /dev/null
 }
 
-toolchain_pkg_postinst() {
-	do_gcc_config
+guess_patch_type_in_dir() {
+	[[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \
+		&& EPATCH_SUFFIX="patch.bz2" \
+		|| EPATCH_SUFFIX="patch"
+}
 
-	if ! is_crosscompile ; then
-		echo
-		ewarn "If you have issues with packages unable to locate libstdc++.la,"
-		ewarn "then try running 'fix_libtool_files.sh' on the old gcc versions."
-		echo
-		ewarn "You might want to review the GCC upgrade guide when moving between"
-		ewarn "major versions (like 4.2 to 4.3):"
-		ewarn "http://www.gentoo.org/doc/en/gcc-upgrading.xml"
-		echo
+do_gcc_HTB_patches() {
+	use_if_iuse boundschecking || return 0
 
-		# Clean up old paths
-		rm -f "${ROOT}"/*/rcscripts/awk/fixlafiles.awk "${ROOT}"/sbin/fix_libtool_files.sh
-		rmdir "${ROOT}"/*/rcscripts{/awk,} 2>/dev/null
+	# modify the bounds checking patch with a regression patch
+	epatch "${WORKDIR}/bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch"
+	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, HTB-${HTB_GCC_VER}-${HTB_VER}"
+}
 
-		mkdir -p "${ROOT}"/usr/{share/gcc-data,sbin,bin}
-		cp "${ROOT}/${DATAPATH}"/fixlafiles.awk "${ROOT}"/usr/share/gcc-data/ || die
-		cp "${ROOT}/${DATAPATH}"/fix_libtool_files.sh "${ROOT}"/usr/sbin/ || die
+do_gcc_PIE_patches() {
+	want_pie || return 0
+	use vanilla && return 0
 
-		# Since these aren't critical files and portage sucks with
-		# handling of binpkgs, don't require these to be found
-		cp "${ROOT}/${DATAPATH}"/c{89,99} "${ROOT}"/usr/bin/ 2>/dev/null
+	if tc_version_is_at_least 4.3.2 ; then
+		guess_patch_type_in_dir "${WORKDIR}"/piepatch/
+		EPATCH_MULTI_MSG="Applying pie patches ..." \
+		epatch "${WORKDIR}"/piepatch/
+	else
+		guess_patch_type_in_dir "${WORKDIR}"/piepatch/upstream
+
+		# corrects startfile/endfile selection and shared/static/pie flag usage
+		EPATCH_MULTI_MSG="Applying upstream pie patches ..." \
+		epatch "${WORKDIR}"/piepatch/upstream
+		# adds non-default pie support (rs6000)
+		EPATCH_MULTI_MSG="Applying non-default pie patches ..." \
+		epatch "${WORKDIR}"/piepatch/nondef
+		# adds default pie support (rs6000 too) if DEFAULT_PIE[_SSP] is defined
+		EPATCH_MULTI_MSG="Applying default pie patches ..." \
+		epatch "${WORKDIR}"/piepatch/def
 	fi
 
-	if use regression-test ; then
-		elog "Testsuite results have been installed into /usr/share/doc/${PF}/testsuite"
-		echo
+	# we want to be able to control the pie patch logic via something other
+	# than ALL_CFLAGS...
+	sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
+		-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
+		-i "${S}"/gcc/Makefile.in
+	# Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7
+	if tc_version_is_at_least 4.7 ; then
+		sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
+                        -e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \
+                        -i "${S}"/gcc/Makefile.in
 	fi
+
+	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
 }
 
-toolchain_pkg_postrm() {
-	# to make our lives easier (and saner), we do the fix_libtool stuff here.
-	# rather than checking SLOT's and trying in upgrade paths, we just see if
-	# the common libstdc++.la exists in the ${LIBPATH} of the gcc that we are
-	# unmerging.  if it does, that means this was a simple re-emerge.
+# configure to build with the hardened GCC specs as the default
+make_gcc_hard() {
+	# defaults to enable for all hardened toolchains
+	local gcc_hard_flags="-DEFAULT_RELRO -DEFAULT_BIND_NOW"
 
-	# clean up the cruft left behind by cross-compilers
-	if is_crosscompile ; then
-		if [[ -z $(ls "${ROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
-			rm -f "${ROOT}"/etc/env.d/gcc/config-${CTARGET}
-			rm -f "${ROOT}"/etc/env.d/??gcc-${CTARGET}
-			rm -f "${ROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
-		fi
+	if hardened_gcc_works ; then
+		einfo "Updating gcc to use automatic PIE + SSP building ..."
+		gcc_hard_flags+=" -DEFAULT_PIE_SSP"
+	elif hardened_gcc_works pie ; then
+		einfo "Updating gcc to use automatic PIE building ..."
+		ewarn "SSP has not been enabled by default"
+		gcc_hard_flags+=" -DEFAULT_PIE"
+	elif hardened_gcc_works ssp ; then
+		einfo "Updating gcc to use automatic SSP building ..."
+		ewarn "PIE has not been enabled by default"
+		gcc_hard_flags+=" -DEFAULT_SSP"
+	else
+		# do nothing if hardened isnt supported, but dont die either
+		ewarn "hardened is not supported for this arch in this gcc version"
+		ebeep
 		return 0
 	fi
 
-	# ROOT isnt handled by the script
-	[[ ${ROOT} != "/" ]] && return 0
+	sed -i \
+		-e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
+		"${S}"/gcc/Makefile.in || die
 
-	if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
-		# make sure the profile is sane during same-slot upgrade #289403
-		do_gcc_config
+	# rebrand to make bug reports easier
+	BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
+}
+
+# This is a historical wart.  The original Gentoo/amd64 port used:
+#    lib32 - 32bit binaries (x86)
+#    lib64 - 64bit binaries (x86_64)
+#    lib   - "native" binaries (a symlink to lib64)
+# Most other distros use the logic (including mainline gcc):
+#    lib   - 32bit binaries (x86)
+#    lib64 - 64bit binaries (x86_64)
+# Over time, Gentoo is migrating to the latter form.
+#
+# Unfortunately, due to distros picking the lib32 behavior, newer gcc
+# versions will dynamically detect whether to use lib or lib32 for its
+# 32bit multilib.  So, to keep the automagic from getting things wrong
+# while people are transitioning from the old style to the new style,
+# we always set the MULTILIB_OSDIRNAMES var for relevant targets.
+setup_multilib_osdirnames() {
+	is_multilib || return 0
+
+	local config
+	local libdirs="../lib64 ../lib32"
+
+	# this only makes sense for some Linux targets
+	case ${CTARGET} in
+	x86_64*-linux*)    config="i386" ;;
+	powerpc64*-linux*) config="rs6000" ;;
+	sparc64*-linux*)   config="sparc" ;;
+	s390x*-linux*)     config="s390" ;;
+	*)	               return 0 ;;
+	esac
+	config+="/t-linux64"
 
-		einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}'"
-		/usr/sbin/fix_libtool_files.sh ${GCC_RELEASE_VER}
-		if [[ -n ${BRANCH_UPDATE} ]] ; then
-			einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}'"
-			/usr/sbin/fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}
+	local sed_args=()
+	if tc_version_is_at_least 4.6 ; then
+		sed_args+=( -e 's:$[(]call if_multiarch[^)]*[)]::g' )
+	fi
+	if [[ ${SYMLINK_LIB} == "yes" ]] ; then
+		einfo "updating multilib directories to be: ${libdirs}"
+		if tc_version_is_at_least 4.6.4 || tc_version_is_at_least 4.7 ; then
+			sed_args+=( -e '/^MULTILIB_OSDIRNAMES.*lib32/s:[$][(]if.*):../lib32:' )
+		else
+			sed_args+=( -e "/^MULTILIB_OSDIRNAMES/s:=.*:= ${libdirs}:" )
 		fi
+	else
+		einfo "using upstream multilib; disabling lib32 autodetection"
+		sed_args+=( -r -e 's:[$][(]if.*,(.*)[)]:\1:' )
 	fi
-
-	return 0
+	sed -i "${sed_args[@]}" "${S}"/gcc/config/${config} || die
 }
 
-#---->> pkg_* <<----
+gcc_version_patch() {
+	# gcc-4.3+ has configure flags (whoo!)
+	tc_version_is_at_least 4.3 && return 0
+
+	local version_string=${GCC_CONFIG_VER}
+	[[ -n ${BRANCH_UPDATE} ]] && version_string+=" ${BRANCH_UPDATE}"
 
-#---->> src_* <<----
+	einfo "patching gcc version: ${version_string} (${BRANDING_GCC_PKGVERSION})"
 
-guess_patch_type_in_dir() {
-	[[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \
-		&& EPATCH_SUFFIX="patch.bz2" \
-		|| EPATCH_SUFFIX="patch"
+	local gcc_sed=( -e 's:gcc\.gnu\.org/bugs\.html:bugs\.gentoo\.org/:' )
+	if grep -qs VERSUFFIX "${S}"/gcc/version.c ; then
+		gcc_sed+=( -e "/VERSUFFIX \"\"/s:\"\":\" (${BRANDING_GCC_PKGVERSION})\":" )
+	else
+		version_string="${version_string} (${BRANDING_GCC_PKGVERSION})"
+		gcc_sed+=( -e "/const char version_string\[\] = /s:= \".*\":= \"${version_string}\":" )
+	fi
+	sed -i "${gcc_sed[@]}" "${S}"/gcc/version.c || die
 }
 
 do_gcc_rename_java_bins() {
@@ -694,173 +726,114 @@
 	done
 }
 
-toolchain_src_unpack() {
-	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \
-		die "Sorry, this version does not support uClibc"
-
-	if [[ ${PV} == *9999* ]]; then
-		git-2_src_unpack
-	else
-		gcc_quick_unpack
-	fi
-
-	export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
-	cd "${S}"
-
-	if ! use vanilla ; then
-		if [[ -n ${PATCH_VER} ]] ; then
-			guess_patch_type_in_dir "${WORKDIR}"/patch
-			EPATCH_MULTI_MSG="Applying Gentoo patches ..." \
-			epatch "${WORKDIR}"/patch
-			BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
-		fi
-		if [[ -n ${UCLIBC_VER} ]] ; then
-			guess_patch_type_in_dir "${WORKDIR}"/uclibc
-			EPATCH_MULTI_MSG="Applying uClibc patches ..." \
-			epatch "${WORKDIR}"/uclibc
-		fi
-	fi
-	do_gcc_HTB_patches
-	do_gcc_PIE_patches
-	epatch_user
-
-	use hardened && make_gcc_hard
-
-	# install the libstdc++ python into the right location
-	# http://gcc.gnu.org/PR51368
-	if tc_version_is_at_least 4.5 && ! tc_version_is_at_least 4.7 ; then
-		sed -i \
-			'/^pythondir =/s:=.*:= $(datadir)/python:' \
-			"${S}"/libstdc++-v3/python/Makefile.in || die
-	fi
-
-	# make sure the pkg config files install into multilib dirs.
-	# since we configure with just one --libdir, we can't use that
-	# (as gcc itself takes care of building multilibs).  #435728
-	find "${S}" -name Makefile.in \
-		-exec sed -i '/^pkgconfigdir/s:=.*:=$(toolexeclibdir)/pkgconfig:' {} +
-
-	# No idea when this first started being fixed, but let's go with 4.3.x for now
-	if ! tc_version_is_at_least 4.3 ; then
-		fix_files=""
-		for x in contrib/test_summary libstdc++-v3/scripts/check_survey.in ; do
-			[[ -e ${x} ]] && fix_files="${fix_files} ${x}"
-		done
-		ht_fix_file ${fix_files} */configure *.sh */Makefile.in
-	fi
-
-	setup_multilib_osdirnames
-	gcc_version_patch
-
-	if tc_version_is_at_least 4.1 ; then
-		if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then
-			# BASE-VER must be a three-digit version number
-			# followed by an optional -pre string
-			#   eg. 4.5.1, 4.6.2-pre20120213, 4.7.0-pre9999
-			# If BASE-VER differs from ${PV/_/-} then libraries get installed in
-			# the wrong directory.
-			echo ${PV/_/-} > "${S}"/gcc/BASE-VER
-		fi
-	fi
-
-	# >= gcc-4.3 doesn't bundle ecj.jar, so copy it
-	if tc_version_is_at_least 4.3 && use gcj ; then
-		if tc_version_is_at_least 4.5 ; then
-			einfo "Copying ecj-4.5.jar"
-			cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die
-		else
-			einfo "Copying ecj-4.3.jar"
-			cp -pPR "${DISTDIR}/ecj-4.3.jar" "${S}/ecj.jar" || die
-		fi
-	fi
-
-	# disable --as-needed from being compiled into gcc specs
-	# natively when using a gcc version < 3.4.4
-	# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14992
-	if ! tc_version_is_at_least 3.4.4 ; then
-		sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g "${S}"/gcc/config.in
-	fi
-
-	# In gcc 3.3.x and 3.4.x, rename the java bins to gcc-specific names
-	# in line with gcc-4.
-	if tc_version_is_at_least 3.3 && ! tc_version_is_at_least 4.0 ; then
-		do_gcc_rename_java_bins
-	fi
+gcc_do_filter_flags() {
+	strip-flags
 
-	# Prevent libffi from being installed
-	if tc_version_is_at_least 3.0 && ! tc_version_is_at_least 4.8 ; then
-		sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die
-		sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in || die
-	fi
+	# In general gcc does not like optimization, and adds -O2 where
+	# it is safe.  This is especially true for gcc 3.3 + 3.4
+	replace-flags -O? -O2
 
-	# Fixup libtool to correctly generate .la files with portage
-	elibtoolize --portage --shallow --no-uclibc
+	# dont want to funk ourselves
+	filter-flags '-mabi*' -m31 -m32 -m64
 
-	gnuconfig_update
+	filter-flags '-frecord-gcc-switches' # 490738
 
-	# update configure files
-	local f
-	einfo "Fixing misc issues in configure files"
-	# TODO - check if we can drop this now that we don't gen info files
-	tc_version_is_at_least 4.1 && epatch "${GCC_FILESDIR}"/gcc-configure-texinfo.patch
-	for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
-		ebegin "  Updating ${f/${S}\/} [LANG]"
-		patch "${f}" "${GCC_FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
-			|| eerror "Please file a bug about this"
-		eend $?
-	done
-	sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
+	case ${GCC_BRANCH_VER} in
+		3.2|3.3)
+			replace-cpu-flags k8 athlon64 opteron x86-64
+			replace-cpu-flags pentium-m pentium3m pentium3
+			replace-cpu-flags G3 750
+			replace-cpu-flags G4 7400
+			replace-cpu-flags G5 7400
+	
+			case $(tc-arch) in
+				amd64)
+					replace-cpu-flags core2 nocona
+					filter-flags '-mtune=*'
+					;;
+				x86)
+					replace-cpu-flags core2 prescott
+					filter-flags '-mtune=*'
+					;;
+			esac
 
-	if [[ -x contrib/gcc_update ]] ; then
-		einfo "Touching generated files"
-		./contrib/gcc_update --touch | \
-			while read f ; do
-				einfo "  ${f%%...}"
-			done
-	fi
-}
+			# XXX: should add a sed or something to query all supported flags
+			#      from the gcc source and trim everything else ...
+			filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
+			filter-flags -f{no-,}stack-protector{,-all}
+			filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
+			;;
+		3.4|4.*)
+			case $(tc-arch) in
+				amd64|x86)
+					filter-flags '-mcpu=*'
+					;;
+				alpha)
+					# https://bugs.gentoo.org/454426
+					append-ldflags -Wl,--no-relax
+					;;
+				sparc)
+					# temporary workaround for random ICEs reproduced by multiple users
+					# https://bugs.gentoo.org/457062
+					[[ ${GCC_BRANCH_VER} == 4.6 || ${GCC_BRANCH_VER} == 4.7 ]] && \
+						MAKEOPTS+=" -j1"
+					;;
+				*-macos)
+					# http://gcc.gnu.org/PR25127
+					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \
+						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+					;;
+			esac
+			;;
+	esac
 
-gcc-abi-map() {
-	# Convert the ABI name we use in Gentoo to what gcc uses
-	local map=()
-	case ${CTARGET} in
-	mips*)   map=("o32 32" "n32 n32" "n64 64") ;;
-	x86_64*) map=("amd64 m64" "x86 m32" "x32 mx32") ;;
+	case ${GCC_BRANCH_VER} in
+		4.6)
+			case $(tc-arch) in
+				amd64|x86)
+					# https://bugs.gentoo.org/411333
+					# https://bugs.gentoo.org/466454
+					replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
+					;;
+			esac
+			;;
 	esac
 
-	local m
-	for m in "${map[@]}" ; do
-		l=( ${m} )
-		[[ $1 == ${l[0]} ]] && echo ${l[1]} && break
-	done
-}
+	strip-unsupported-flags
+	
+	# CFLAGS logic (verified with 3.4.3):
+	# CFLAGS:
+	#	This conflicts when creating a crosscompiler, so set to a sane
+	#	  default in this case:
+	#	used in ./configure and elsewhere for the native compiler
+	#	used by gcc when creating libiberty.a
+	#	used by xgcc when creating libstdc++ (and probably others)!
+	#	  this behavior should be removed...
+	#
+	# CXXFLAGS:
+	#	used by xgcc when creating libstdc++
+	#
+	# STAGE1_CFLAGS (not used in creating a crosscompile gcc):
+	#	used by ${CHOST}-gcc for building stage1 compiler
+	#
+	# BOOT_CFLAGS (not used in creating a crosscompile gcc):
+	#	used by xgcc for building stage2/3 compiler
+
+	if is_crosscompile ; then
+		# Set this to something sane for both native and target
+		CFLAGS="-O2 -pipe"
+		FFLAGS=${CFLAGS}
+		FCFLAGS=${CFLAGS}
 
-gcc-multilib-configure() {
-	if ! is_multilib ; then
-		confgcc+=( --disable-multilib )
-		# Fun times: if we are building for a target that has multiple
-		# possible ABI formats, and the user has told us to pick one
-		# that isn't the default, then not specifying it via the list
-		# below will break that on us.
-	else
-		confgcc+=( --enable-multilib )
+		local VAR="CFLAGS_"${CTARGET//-/_}
+		CXXFLAGS=${!VAR}
 	fi
 
-	# translate our notion of multilibs into gcc's
-	local abi list
-	for abi in $(get_all_abis TARGET) ; do
-		local l=$(gcc-abi-map ${abi})
-		[[ -n ${l} ]] && list+=",${l}"
-	done
-	if [[ -n ${list} ]] ; then
-		case ${CTARGET} in
-		x86_64*)
-			tc_version_is_at_least 4.7 && confgcc+=( --with-multilib-list=${list:1} )
-			;;
-		esac
-	fi
+	export GCJFLAGS=${GCJFLAGS:-${CFLAGS}}
 }
 
+#---->> src_configure <<----
+
 gcc_do_configure() {
 	local confgcc=( --host=${CHOST} )
 
@@ -1282,217 +1255,49 @@
 	popd > /dev/null
 }
 
-has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice"
-toolchain_death_notice() {
-	if [[ -e "${WORKDIR}"/build ]] ; then 
-		pushd "${WORKDIR}"/build >/dev/null
-		(echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log
-		[[ -e "${T}"/build.log ]] && cp "${T}"/build.log .
-		tar jcf "${WORKDIR}"/gcc-build-logs.tar.bz2 \
-			gccinfo.log build.log $(find -name config.log)
-		rm gccinfo.log build.log
-		eerror
-		eerror "Please include ${WORKDIR}/gcc-build-logs.tar.bz2 in your bug report."
-		eerror
-		popd >/dev/null
-	fi
-}
-
-# This function accepts one optional argument, the make target to be used.
-# If ommitted, gcc_do_make will try to guess whether it should use all,
-# profiledbootstrap, or bootstrap-lean depending on CTARGET and arch. An
-# example of how to use this function:
-#
-#	gcc_do_make all-target-libstdc++-v3
-#
-# In addition to the target to be used, the following variables alter the
-# behavior of this function:
-#
-#	LDFLAGS
-#			Flags to pass to ld
-#
-#	STAGE1_CFLAGS
-#			CFLAGS to use during stage1 of a gcc bootstrap
-#
-#	BOOT_CFLAGS
-#			CFLAGS to use during stages 2+3 of a gcc bootstrap.
-#
-# Travis Tilley <lv@gentoo.org> (04 Sep 2004)
-#
-gcc_do_make() {
-	# Set make target to $1 if passed
-	[[ -n $1 ]] && GCC_MAKE_TARGET=$1
-	# default target
-	if is_crosscompile || tc-is-cross-compiler ; then
-		# 3 stage bootstrapping doesnt quite work when you cant run the
-		# resulting binaries natively ^^;
-		GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
-	else
-		GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
-	fi
-
-	# the gcc docs state that parallel make isnt supported for the
-	# profiledbootstrap target, as collisions in profile collecting may occur.
-	# boundschecking also seems to introduce parallel build issues.
-	if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] ||
-	   use_if_iuse boundschecking
-	then
-		export MAKEOPTS="${MAKEOPTS} -j1"
-	fi
-
-	if [[ ${GCC_MAKE_TARGET} == "all" ]] ; then
-		STAGE1_CFLAGS=${STAGE1_CFLAGS-"${CFLAGS}"}
-	elif [[ $(gcc-version) == "3.4" && ${GCC_BRANCH_VER} == "3.4" ]] && gcc-specs-ssp ; then
-		# See bug #79852
-		STAGE1_CFLAGS=${STAGE1_CFLAGS-"-O2"}
-	fi
-
-	if is_crosscompile; then
-		# In 3.4, BOOT_CFLAGS is never used on a crosscompile...
-		# but I'll leave this in anyways as someone might have had
-		# some reason for putting it in here... --eradicator
-		BOOT_CFLAGS=${BOOT_CFLAGS-"-O2"}
+gcc-multilib-configure() {
+	if ! is_multilib ; then
+		confgcc+=( --disable-multilib )
+		# Fun times: if we are building for a target that has multiple
+		# possible ABI formats, and the user has told us to pick one
+		# that isn't the default, then not specifying it via the list
+		# below will break that on us.
 	else
-		# we only want to use the system's CFLAGS if not building a
-		# cross-compiler.
-		BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
-	fi
-
-	pushd "${WORKDIR}"/build >/dev/null
-
-	emake \
-		LDFLAGS="${LDFLAGS}" \
-		STAGE1_CFLAGS="${STAGE1_CFLAGS}" \
-		LIBPATH="${LIBPATH}" \
-		BOOT_CFLAGS="${BOOT_CFLAGS}" \
-		${GCC_MAKE_TARGET} \
-		|| die "emake failed with ${GCC_MAKE_TARGET}"
-
-	if ! is_crosscompile && use cxx && use_if_iuse doc ; then
-		if type -p doxygen > /dev/null ; then
-			if tc_version_is_at_least 4.3 ; then
-				cd "${CTARGET}"/libstdc++-v3/doc
-				emake doc-man-doxygen || ewarn "failed to make docs"
-			elif tc_version_is_at_least 3.0 ; then
-				cd "${CTARGET}"/libstdc++-v3
-				emake doxygen-man || ewarn "failed to make docs"
-			fi
-		else
-			ewarn "Skipping libstdc++ manpage generation since you don't have doxygen installed"
-		fi
+		confgcc+=( --enable-multilib )
 	fi
 
-	popd >/dev/null
-}
-
-gcc_do_filter_flags() {
-	strip-flags
-
-	# In general gcc does not like optimization, and adds -O2 where
-	# it is safe.  This is especially true for gcc 3.3 + 3.4
-	replace-flags -O? -O2
-
-	# dont want to funk ourselves
-	filter-flags '-mabi*' -m31 -m32 -m64
-
-	filter-flags '-frecord-gcc-switches' # 490738
-
-	case ${GCC_BRANCH_VER} in
-		3.2|3.3)
-			replace-cpu-flags k8 athlon64 opteron x86-64
-			replace-cpu-flags pentium-m pentium3m pentium3
-			replace-cpu-flags G3 750
-			replace-cpu-flags G4 7400
-			replace-cpu-flags G5 7400
-	
-			case $(tc-arch) in
-				amd64)
-					replace-cpu-flags core2 nocona
-					filter-flags '-mtune=*'
-					;;
-				x86)
-					replace-cpu-flags core2 prescott
-					filter-flags '-mtune=*'
-					;;
-			esac
-
-			# XXX: should add a sed or something to query all supported flags
-			#      from the gcc source and trim everything else ...
-			filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
-			filter-flags -f{no-,}stack-protector{,-all}
-			filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
-			;;
-		3.4|4.*)
-			case $(tc-arch) in
-				amd64|x86)
-					filter-flags '-mcpu=*'
-					;;
-				alpha)
-					# https://bugs.gentoo.org/454426
-					append-ldflags -Wl,--no-relax
-					;;
-				sparc)
-					# temporary workaround for random ICEs reproduced by multiple users
-					# https://bugs.gentoo.org/457062
-					[[ ${GCC_BRANCH_VER} == 4.6 || ${GCC_BRANCH_VER} == 4.7 ]] && \
-						MAKEOPTS+=" -j1"
-					;;
-				*-macos)
-					# http://gcc.gnu.org/PR25127
-					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \
-						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-					;;
-			esac
-			;;
-	esac
-
-	case ${GCC_BRANCH_VER} in
-		4.6)
-			case $(tc-arch) in
-				amd64|x86)
-					# https://bugs.gentoo.org/411333
-					# https://bugs.gentoo.org/466454
-					replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
-					;;
-			esac
-			;;
-	esac
-
-	strip-unsupported-flags
-	
-	# TODO: Move to gcc_do_make()
-
-	# CFLAGS logic (verified with 3.4.3):
-	# CFLAGS:
-	#	This conflicts when creating a crosscompiler, so set to a sane
-	#	  default in this case:
-	#	used in ./configure and elsewhere for the native compiler
-	#	used by gcc when creating libiberty.a
-	#	used by xgcc when creating libstdc++ (and probably others)!
-	#	  this behavior should be removed...
-	#
-	# CXXFLAGS:
-	#	used by xgcc when creating libstdc++
-	#
-	# STAGE1_CFLAGS (not used in creating a crosscompile gcc):
-	#	used by ${CHOST}-gcc for building stage1 compiler
-	#
-	# BOOT_CFLAGS (not used in creating a crosscompile gcc):
-	#	used by xgcc for building stage2/3 compiler
-
-	if is_crosscompile ; then
-		# Set this to something sane for both native and target
-		CFLAGS="-O2 -pipe"
-		FFLAGS=${CFLAGS}
-		FCFLAGS=${CFLAGS}
-
-		local VAR="CFLAGS_"${CTARGET//-/_}
-		CXXFLAGS=${!VAR}
+	# translate our notion of multilibs into gcc's
+	local abi list
+	for abi in $(get_all_abis TARGET) ; do
+		local l=$(gcc-abi-map ${abi})
+		[[ -n ${l} ]] && list+=",${l}"
+	done
+	if [[ -n ${list} ]] ; then
+		case ${CTARGET} in
+		x86_64*)
+			tc_version_is_at_least 4.7 && confgcc+=( --with-multilib-list=${list:1} )
+			;;
+		esac
 	fi
+}
 
-	export GCJFLAGS=${GCJFLAGS:-${CFLAGS}}
+gcc-abi-map() {
+	# Convert the ABI name we use in Gentoo to what gcc uses
+	local map=()
+	case ${CTARGET} in
+	mips*)   map=("o32 32" "n32 n32" "n64 64") ;;
+	x86_64*) map=("amd64 m64" "x86 m32" "x32 mx32") ;;
+	esac
+
+	local m
+	for m in "${map[@]}" ; do
+		l=( ${m} )
+		[[ $1 == ${l[0]} ]] && echo ${l[1]} && break
+	done
 }
 
+#----> src_compile <----
+
 toolchain_src_compile() {
 	gcc_do_filter_flags
 	einfo "CFLAGS=\"${CFLAGS}\""
@@ -1526,6 +1331,111 @@
 	popd > /dev/null
 }
 
+setup_minispecs_gcc_build_specs() {
+	# Setup the "build.specs" file for gcc 4.3 to use when building.
+	if hardened_gcc_works pie ; then
+		cat "${WORKDIR}"/specs/pie.specs >> "${WORKDIR}"/build.specs
+	fi
+	if hardened_gcc_works ssp ; then
+		for s in ssp sspall ; do
+			cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
+		done
+	fi
+	for s in nostrict znow ; do
+		cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
+	done
+	export GCC_SPECS="${WORKDIR}"/build.specs
+}
+
+# This function accepts one optional argument, the make target to be used.
+# If ommitted, gcc_do_make will try to guess whether it should use all,
+# profiledbootstrap, or bootstrap-lean depending on CTARGET and arch. An
+# example of how to use this function:
+#
+#	gcc_do_make all-target-libstdc++-v3
+#
+# In addition to the target to be used, the following variables alter the
+# behavior of this function:
+#
+#	LDFLAGS
+#			Flags to pass to ld
+#
+#	STAGE1_CFLAGS
+#			CFLAGS to use during stage1 of a gcc bootstrap
+#
+#	BOOT_CFLAGS
+#			CFLAGS to use during stages 2+3 of a gcc bootstrap.
+#
+# Travis Tilley <lv@gentoo.org> (04 Sep 2004)
+#
+gcc_do_make() {
+	# Set make target to $1 if passed
+	[[ -n $1 ]] && GCC_MAKE_TARGET=$1
+	# default target
+	if is_crosscompile || tc-is-cross-compiler ; then
+		# 3 stage bootstrapping doesnt quite work when you cant run the
+		# resulting binaries natively ^^;
+		GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
+	else
+		GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
+	fi
+
+	# the gcc docs state that parallel make isnt supported for the
+	# profiledbootstrap target, as collisions in profile collecting may occur.
+	# boundschecking also seems to introduce parallel build issues.
+	if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] ||
+	   use_if_iuse boundschecking
+	then
+		export MAKEOPTS="${MAKEOPTS} -j1"
+	fi
+
+	if [[ ${GCC_MAKE_TARGET} == "all" ]] ; then
+		STAGE1_CFLAGS=${STAGE1_CFLAGS-"${CFLAGS}"}
+	elif [[ $(gcc-version) == "3.4" && ${GCC_BRANCH_VER} == "3.4" ]] && gcc-specs-ssp ; then
+		# See bug #79852
+		STAGE1_CFLAGS=${STAGE1_CFLAGS-"-O2"}
+	fi
+
+	if is_crosscompile; then
+		# In 3.4, BOOT_CFLAGS is never used on a crosscompile...
+		# but I'll leave this in anyways as someone might have had
+		# some reason for putting it in here... --eradicator
+		BOOT_CFLAGS=${BOOT_CFLAGS-"-O2"}
+	else
+		# we only want to use the system's CFLAGS if not building a
+		# cross-compiler.
+		BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
+	fi
+
+	pushd "${WORKDIR}"/build >/dev/null
+
+	emake \
+		LDFLAGS="${LDFLAGS}" \
+		STAGE1_CFLAGS="${STAGE1_CFLAGS}" \
+		LIBPATH="${LIBPATH}" \
+		BOOT_CFLAGS="${BOOT_CFLAGS}" \
+		${GCC_MAKE_TARGET} \
+		|| die "emake failed with ${GCC_MAKE_TARGET}"
+
+	if ! is_crosscompile && use cxx && use_if_iuse doc ; then
+		if type -p doxygen > /dev/null ; then
+			if tc_version_is_at_least 4.3 ; then
+				cd "${CTARGET}"/libstdc++-v3/doc
+				emake doc-man-doxygen || ewarn "failed to make docs"
+			elif tc_version_is_at_least 3.0 ; then
+				cd "${CTARGET}"/libstdc++-v3
+				emake doxygen-man || ewarn "failed to make docs"
+			fi
+		else
+			ewarn "Skipping libstdc++ manpage generation since you don't have doxygen installed"
+		fi
+	fi
+
+	popd >/dev/null
+}
+
+#---->> src_test <<----
+
 toolchain_src_test() {
 	if use regression-test ; then
 		cd "${WORKDIR}"/build
@@ -1533,6 +1443,8 @@
 	fi
 }
 
+#---->> src_install <<----
+
 toolchain_src_install() {
 	cd "${WORKDIR}"/build
 
@@ -1669,26 +1581,179 @@
 	# for people who are testing as non-root.
 	chown -R root:0 "${D}"${LIBPATH} 2>/dev/null
 
-	# Move pretty-printers to gdb datadir to shut ldconfig up
-	local py gdbdir=/usr/share/gdb/auto-load${LIBPATH/\/lib\//\/$(get_libdir)\/}
-	pushd "${D}"${LIBPATH} >/dev/null
-	for py in $(find . -name '*-gdb.py') ; do
-		local multidir=${py%/*}
-		insinto "${gdbdir}/${multidir}"
-		sed -i "/^libdir =/s:=.*:= '${LIBPATH}/${multidir}':" "${py}" || die #348128
-		doins "${py}" || die
-		rm "${py}" || die
-	done
-	popd >/dev/null
+	# Move pretty-printers to gdb datadir to shut ldconfig up
+	local py gdbdir=/usr/share/gdb/auto-load${LIBPATH/\/lib\//\/$(get_libdir)\/}
+	pushd "${D}"${LIBPATH} >/dev/null
+	for py in $(find . -name '*-gdb.py') ; do
+		local multidir=${py%/*}
+		insinto "${gdbdir}/${multidir}"
+		sed -i "/^libdir =/s:=.*:= '${LIBPATH}/${multidir}':" "${py}" || die #348128
+		doins "${py}" || die
+		rm "${py}" || die
+	done
+	popd >/dev/null
+
+	# Don't scan .gox files for executable stacks - false positives
+	export QA_EXECSTACK="usr/lib*/go/*/*.gox"
+	export QA_WX_LOAD="usr/lib*/go/*/*.gox"
+
+	# Disable RANDMMAP so PCH works. #301299
+	if tc_version_is_at_least 4.3 ; then
+		pax-mark -r "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1"
+		pax-mark -r "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
+	fi
+}
+
+# Move around the libs to the right location.  For some reason,
+# when installing gcc, it dumps internal libraries into /usr/lib
+# instead of the private gcc lib path
+gcc_movelibs() {
+	# older versions of gcc did not support --print-multi-os-directory
+	tc_version_is_at_least 3.2 || return 0
+
+	local x multiarg removedirs=""
+	for multiarg in $($(XGCC) -print-multi-lib) ; do
+		multiarg=${multiarg#*;}
+		multiarg=${multiarg//@/ -}
+
+		local OS_MULTIDIR=$($(XGCC) ${multiarg} --print-multi-os-directory)
+		local MULTIDIR=$($(XGCC) ${multiarg} --print-multi-directory)
+		local TODIR=${D}${LIBPATH}/${MULTIDIR}
+		local FROMDIR=
+
+		[[ -d ${TODIR} ]] || mkdir -p ${TODIR}
+
+		for FROMDIR in \
+			${LIBPATH}/${OS_MULTIDIR} \
+			${LIBPATH}/../${MULTIDIR} \
+			${PREFIX}/lib/${OS_MULTIDIR} \
+			${PREFIX}/${CTARGET}/lib/${OS_MULTIDIR}
+		do
+			removedirs="${removedirs} ${FROMDIR}"
+			FROMDIR=${D}${FROMDIR}
+			if [[ ${FROMDIR} != "${TODIR}" && -d ${FROMDIR} ]] ; then
+				local files=$(find "${FROMDIR}" -maxdepth 1 ! -type d 2>/dev/null)
+				if [[ -n ${files} ]] ; then
+					mv ${files} "${TODIR}"
+				fi
+			fi
+		done
+		fix_libtool_libdir_paths "${LIBPATH}/${MULTIDIR}"
+
+		# SLOT up libgcj.pc if it's available (and let gcc-config worry about links)
+		FROMDIR="${PREFIX}/lib/${OS_MULTIDIR}"
+		for x in "${D}${FROMDIR}"/pkgconfig/libgcj*.pc ; do
+			[[ -f ${x} ]] || continue
+			sed -i "/^libdir=/s:=.*:=${LIBPATH}/${MULTIDIR}:" "${x}"
+			mv "${x}" "${D}${FROMDIR}"/pkgconfig/libgcj-${GCC_PV}.pc || die
+		done
+	done
+
+	# We remove directories separately to avoid this case:
+	#	mv SRC/lib/../lib/*.o DEST
+	#	rmdir SRC/lib/../lib/
+	#	mv SRC/lib/../lib32/*.o DEST  # Bork
+	for FROMDIR in ${removedirs} ; do
+		rmdir "${D}"${FROMDIR} >& /dev/null
+	done
+	find "${D}" -type d | xargs rmdir >& /dev/null
+}
+
+# make sure the libtool archives have libdir set to where they actually
+# -are-, and not where they -used- to be.  also, any dependencies we have
+# on our own .la files need to be updated.
+fix_libtool_libdir_paths() {
+	pushd "${D}" >/dev/null
+
+	pushd "./${1}" >/dev/null
+	local dir="${PWD#${D%/}}"
+	local allarchives=$(echo *.la)
+	allarchives="\(${allarchives// /\\|}\)"
+	popd >/dev/null
+
+	sed -i \
+		-e "/^libdir=/s:=.*:='${dir}':" \
+		./${dir}/*.la
+	sed -i \
+		-e "/^dependency_libs=/s:/[^ ]*/${allarchives}:${LIBPATH}/\1:g" \
+		$(find ./${PREFIX}/lib* -maxdepth 3 -name '*.la') \
+		./${dir}/*.la
+
+	popd >/dev/null
+}
+
+create_gcc_env_entry() {
+	dodir /etc/env.d/gcc
+	local gcc_envd_base="/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}"
+
+	local gcc_specs_file
+	local gcc_envd_file="${D}${gcc_envd_base}"
+	if [[ -z $1 ]] ; then
+		# I'm leaving the following commented out to remind me that it
+		# was an insanely -bad- idea. Stuff broke. GCC_SPECS isnt unset
+		# on chroot or in non-toolchain.eclass gcc ebuilds!
+		#gcc_specs_file="${LIBPATH}/specs"
+		gcc_specs_file=""
+	else
+		gcc_envd_file+="-$1"
+		gcc_specs_file="${LIBPATH}/$1.specs"
+	fi
+
+	# We want to list the default ABI's LIBPATH first so libtool
+	# searches that directory first.  This is a temporary
+	# workaround for libtool being stupid and using .la's from
+	# conflicting ABIs by using the first one in the search path
+	local ldpaths mosdirs
+	if tc_version_is_at_least 3.2 ; then
+		local mdir mosdir abi ldpath
+		for abi in $(get_all_abis TARGET) ; do
+			mdir=$($(XGCC) $(get_abi_CFLAGS ${abi}) --print-multi-directory)
+			ldpath=${LIBPATH}
+			[[ ${mdir} != "." ]] && ldpath+="/${mdir}"
+			ldpaths="${ldpath}${ldpaths:+:${ldpaths}}"
+
+			mosdir=$($(XGCC) $(get_abi_CFLAGS ${abi}) -print-multi-os-directory)
+			mosdirs="${mosdir}${mosdirs:+:${mosdirs}}"
+		done
+	else
+		# Older gcc's didn't do multilib, so logic is simple.
+		ldpaths=${LIBPATH}
+	fi
 
-	# Don't scan .gox files for executable stacks - false positives
-	export QA_EXECSTACK="usr/lib*/go/*/*.gox"
-	export QA_WX_LOAD="usr/lib*/go/*/*.gox"
+	cat <<-EOF > ${gcc_envd_file}
+	PATH="${BINPATH}"
+	ROOTPATH="${BINPATH}"
+	GCC_PATH="${BINPATH}"
+	LDPATH="${ldpaths}"
+	MANPATH="${DATAPATH}/man"
+	INFOPATH="${DATAPATH}/info"
+	STDCXX_INCDIR="${STDCXX_INCDIR##*/}"
+	CTARGET="${CTARGET}"
+	GCC_SPECS="${gcc_specs_file}"
+	MULTIOSDIRS="${mosdirs}"
+	EOF
+}
 
-	# Disable RANDMMAP so PCH works. #301299
-	if tc_version_is_at_least 4.3 ; then
-		pax-mark -r "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1"
-		pax-mark -r "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
+copy_minispecs_gcc_specs() {
+	# setup the hardenedno* specs files and the vanilla specs file.
+	if hardened_gcc_works ; then
+		create_gcc_env_entry hardenednopiessp
+	fi
+	if hardened_gcc_works pie ; then
+		create_gcc_env_entry hardenednopie
+	fi
+	if hardened_gcc_works ssp ; then
+		create_gcc_env_entry hardenednossp
+	fi
+	create_gcc_env_entry vanilla
+	insinto ${LIBPATH}
+	doins "${WORKDIR}"/specs/*.specs || die "failed to install specs"
+	# Build system specs file which, if it exists, must be a complete set of
+	# specs as it completely and unconditionally overrides the builtin specs.
+	if ! tc_version_is_at_least 4.4 ; then
+		$(XGCC) -dumpspecs > "${WORKDIR}"/specs/specs
+		cat "${WORKDIR}"/build.specs >> "${WORKDIR}"/specs/specs
+		doins "${WORKDIR}"/specs/specs || die "failed to install the specs file"
 	fi
 }
 
@@ -1725,175 +1790,100 @@
 	[[ -f jar ]] && mv -f jar gcj-jar
 }
 
-# Move around the libs to the right location.  For some reason,
-# when installing gcc, it dumps internal libraries into /usr/lib
-# instead of the private gcc lib path
-gcc_movelibs() {
-	# older versions of gcc did not support --print-multi-os-directory
-	tc_version_is_at_least 3.2 || return 0
+#---->> pkg_post* <<----
 
-	local x multiarg removedirs=""
-	for multiarg in $($(XGCC) -print-multi-lib) ; do
-		multiarg=${multiarg#*;}
-		multiarg=${multiarg//@/ -}
+toolchain_pkg_postinst() {
+	do_gcc_config
 
-		local OS_MULTIDIR=$($(XGCC) ${multiarg} --print-multi-os-directory)
-		local MULTIDIR=$($(XGCC) ${multiarg} --print-multi-directory)
-		local TODIR=${D}${LIBPATH}/${MULTIDIR}
-		local FROMDIR=
+	if ! is_crosscompile ; then
+		echo
+		ewarn "If you have issues with packages unable to locate libstdc++.la,"
+		ewarn "then try running 'fix_libtool_files.sh' on the old gcc versions."
+		echo
+		ewarn "You might want to review the GCC upgrade guide when moving between"
+		ewarn "major versions (like 4.2 to 4.3):"
+		ewarn "http://www.gentoo.org/doc/en/gcc-upgrading.xml"
+		echo
 
-		[[ -d ${TODIR} ]] || mkdir -p ${TODIR}
+		# Clean up old paths
+		rm -f "${ROOT}"/*/rcscripts/awk/fixlafiles.awk "${ROOT}"/sbin/fix_libtool_files.sh
+		rmdir "${ROOT}"/*/rcscripts{/awk,} 2>/dev/null
 
-		for FROMDIR in \
-			${LIBPATH}/${OS_MULTIDIR} \
-			${LIBPATH}/../${MULTIDIR} \
-			${PREFIX}/lib/${OS_MULTIDIR} \
-			${PREFIX}/${CTARGET}/lib/${OS_MULTIDIR}
-		do
-			removedirs="${removedirs} ${FROMDIR}"
-			FROMDIR=${D}${FROMDIR}
-			if [[ ${FROMDIR} != "${TODIR}" && -d ${FROMDIR} ]] ; then
-				local files=$(find "${FROMDIR}" -maxdepth 1 ! -type d 2>/dev/null)
-				if [[ -n ${files} ]] ; then
-					mv ${files} "${TODIR}"
-				fi
-			fi
-		done
-		fix_libtool_libdir_paths "${LIBPATH}/${MULTIDIR}"
+		mkdir -p "${ROOT}"/usr/{share/gcc-data,sbin,bin}
+		cp "${ROOT}/${DATAPATH}"/fixlafiles.awk "${ROOT}"/usr/share/gcc-data/ || die
+		cp "${ROOT}/${DATAPATH}"/fix_libtool_files.sh "${ROOT}"/usr/sbin/ || die
 
-		# SLOT up libgcj.pc if it's available (and let gcc-config worry about links)
-		FROMDIR="${PREFIX}/lib/${OS_MULTIDIR}"
-		for x in "${D}${FROMDIR}"/pkgconfig/libgcj*.pc ; do
-			[[ -f ${x} ]] || continue
-			sed -i "/^libdir=/s:=.*:=${LIBPATH}/${MULTIDIR}:" "${x}"
-			mv "${x}" "${D}${FROMDIR}"/pkgconfig/libgcj-${GCC_PV}.pc || die
-		done
-	done
+		# Since these aren't critical files and portage sucks with
+		# handling of binpkgs, don't require these to be found
+		cp "${ROOT}/${DATAPATH}"/c{89,99} "${ROOT}"/usr/bin/ 2>/dev/null
+	fi
 
-	# We remove directories separately to avoid this case:
-	#	mv SRC/lib/../lib/*.o DEST
-	#	rmdir SRC/lib/../lib/
-	#	mv SRC/lib/../lib32/*.o DEST  # Bork
-	for FROMDIR in ${removedirs} ; do
-		rmdir "${D}"${FROMDIR} >& /dev/null
-	done
-	find "${D}" -type d | xargs rmdir >& /dev/null
+	if use regression-test ; then
+		elog "Testsuite results have been installed into /usr/share/doc/${PF}/testsuite"
+		echo
+	fi
 }
-#----<< src_* >>----
-
-#---->> unorganized crap in need of refactoring follows
-
-# gcc_quick_unpack will unpack the gcc tarball and patches in a way that is
-# consistant with the behavior of get_gcc_src_uri. The only patch it applies
-# itself is the branch update if present.
-#
-# Travis Tilley <lv@gentoo.org> (03 Sep 2004)
-#
-gcc_quick_unpack() {
-	pushd "${WORKDIR}" > /dev/null
-	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
-	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
-	export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
-	export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
-	export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
 
-	if [[ -n ${GCC_A_FAKEIT} ]] ; then
-		unpack ${GCC_A_FAKEIT}
-	elif [[ -n ${PRERELEASE} ]] ; then
-		unpack gcc-${PRERELEASE}.tar.bz2
-	elif [[ -n ${SNAPSHOT} ]] ; then
-		unpack gcc-${SNAPSHOT}.tar.bz2
-	elif [[ ${PV} != *9999* ]] ; then
-		unpack gcc-${GCC_RELEASE_VER}.tar.bz2
-		# We want branch updates to be against a release tarball
-		if [[ -n ${BRANCH_UPDATE} ]] ; then
-			pushd "${S}" > /dev/null
-			epatch "${DISTDIR}"/gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
-			popd > /dev/null
-		fi
-	fi
+toolchain_pkg_postrm() {
+	# to make our lives easier (and saner), we do the fix_libtool stuff here.
+	# rather than checking SLOT's and trying in upgrade paths, we just see if
+	# the common libstdc++.la exists in the ${LIBPATH} of the gcc that we are
+	# unmerging.  if it does, that means this was a simple re-emerge.
 
-	if [[ -n ${D_VER} ]] && use d ; then
-		pushd "${S}"/gcc > /dev/null
-		unpack gdc-${D_VER}-src.tar.bz2
-		cd ..
-		ebegin "Adding support for the D language"
-		./gcc/d/setup-gcc.sh >& "${T}"/dgcc.log
-		if ! eend $? ; then
-			eerror "The D gcc package failed to apply"
-			eerror "Please include this log file when posting a bug report:"
-			eerror "  ${T}/dgcc.log"
-			die "failed to include the D language"
+	# clean up the cruft left behind by cross-compilers
+	if is_crosscompile ; then
+		if [[ -z $(ls "${ROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
+			rm -f "${ROOT}"/etc/env.d/gcc/config-${CTARGET}
+			rm -f "${ROOT}"/etc/env.d/??gcc-${CTARGET}
+			rm -f "${ROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
 		fi
-		popd > /dev/null
+		return 0
 	fi
 
-	[[ -n ${PATCH_VER} ]] && \
-		unpack gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2
+	# ROOT isnt handled by the script
+	[[ ${ROOT} != "/" ]] && return 0
 
-	[[ -n ${UCLIBC_VER} ]] && \
-		unpack gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2
+	if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
+		# make sure the profile is sane during same-slot upgrade #289403
+		do_gcc_config
 
-	if want_pie ; then
-		if [[ -n ${PIE_CORE} ]] ; then
-			unpack ${PIE_CORE}
-		else
-			unpack gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2
+		einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}'"
+		/usr/sbin/fix_libtool_files.sh ${GCC_RELEASE_VER}
+		if [[ -n ${BRANCH_UPDATE} ]] ; then
+			einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}'"
+			/usr/sbin/fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}
 		fi
-		[[ -n ${SPECS_VER} ]] && \
-			unpack gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2
 	fi
 
-	use_if_iuse boundschecking && unpack "bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
-
-	popd > /dev/null
-}
-
-do_gcc_HTB_patches() {
-	use_if_iuse boundschecking || return 0
-
-	# modify the bounds checking patch with a regression patch
-	epatch "${WORKDIR}/bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch"
-	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, HTB-${HTB_GCC_VER}-${HTB_VER}"
+	return 0
 }
 
-# do various updates to PIE logic
-do_gcc_PIE_patches() {
-	want_pie || return 0
-
-	use vanilla && return 0
-
-	if tc_version_is_at_least 4.3.2 ; then
-		guess_patch_type_in_dir "${WORKDIR}"/piepatch/
-		EPATCH_MULTI_MSG="Applying pie patches ..." \
-		epatch "${WORKDIR}"/piepatch/
-	else
-		guess_patch_type_in_dir "${WORKDIR}"/piepatch/upstream
-
-		# corrects startfile/endfile selection and shared/static/pie flag usage
-		EPATCH_MULTI_MSG="Applying upstream pie patches ..." \
-		epatch "${WORKDIR}"/piepatch/upstream
-		# adds non-default pie support (rs6000)
-		EPATCH_MULTI_MSG="Applying non-default pie patches ..." \
-		epatch "${WORKDIR}"/piepatch/nondef
-		# adds default pie support (rs6000 too) if DEFAULT_PIE[_SSP] is defined
-		EPATCH_MULTI_MSG="Applying default pie patches ..." \
-		epatch "${WORKDIR}"/piepatch/def
+do_gcc_config() {
+	if ! should_we_gcc_config ; then
+		env -i ROOT="${ROOT}" gcc-config --use-old --force
+		return 0
 	fi
 
-	# we want to be able to control the pie patch logic via something other
-	# than ALL_CFLAGS...
-	sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
-		-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
-		-i "${S}"/gcc/Makefile.in
-	# Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7
-	if tc_version_is_at_least 4.7 ; then
-		sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
-                        -e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \
-                        -i "${S}"/gcc/Makefile.in
+	local current_gcc_config="" current_specs="" use_specs=""
+
+	current_gcc_config=$(env -i ROOT="${ROOT}" gcc-config -c ${CTARGET} 2>/dev/null)
+	if [[ -n ${current_gcc_config} ]] ; then
+		# figure out which specs-specific config is active
+		current_specs=$(gcc-config -S ${current_gcc_config} | awk '{print $3}')
+		[[ -n ${current_specs} ]] && use_specs=-${current_specs}
+	fi
+	if [[ -n ${use_specs} ]] && \
+	   [[ ! -e ${ROOT}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
+	then
+		ewarn "The currently selected specs-specific gcc config,"
+		ewarn "${current_specs}, doesn't exist anymore. This is usually"
+		ewarn "due to enabling/disabling hardened or switching to a version"
+		ewarn "of gcc that doesnt create multiple specs files. The default"
+		ewarn "config will be used, and the previous preference forgotten."
+		use_specs=""
 	fi
 
-	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
+	gcc-config ${CTARGET}-${GCC_CONFIG_VER}${use_specs}
 }
 
 should_we_gcc_config() {
@@ -1938,129 +1928,22 @@
 	fi
 }
 
-do_gcc_config() {
-	if ! should_we_gcc_config ; then
-		env -i ROOT="${ROOT}" gcc-config --use-old --force
-		return 0
-	fi
-
-	local current_gcc_config="" current_specs="" use_specs=""
-
-	current_gcc_config=$(env -i ROOT="${ROOT}" gcc-config -c ${CTARGET} 2>/dev/null)
-	if [[ -n ${current_gcc_config} ]] ; then
-		# figure out which specs-specific config is active
-		current_specs=$(gcc-config -S ${current_gcc_config} | awk '{print $3}')
-		[[ -n ${current_specs} ]] && use_specs=-${current_specs}
-	fi
-	if [[ -n ${use_specs} ]] && \
-	   [[ ! -e ${ROOT}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]]
-	then
-		ewarn "The currently selected specs-specific gcc config,"
-		ewarn "${current_specs}, doesn't exist anymore. This is usually"
-		ewarn "due to enabling/disabling hardened or switching to a version"
-		ewarn "of gcc that doesnt create multiple specs files. The default"
-		ewarn "config will be used, and the previous preference forgotten."
-		use_specs=""
-	fi
-
-	gcc-config ${CTARGET}-${GCC_CONFIG_VER}${use_specs}
-}
-
-# This function allows us to gentoo-ize GCCs version number and bugzilla
-# URL without needing to use patches.
-gcc_version_patch() {
-	# gcc-4.3+ has configure flags (whoo!)
-	tc_version_is_at_least 4.3 && return 0
-
-	local version_string=${GCC_CONFIG_VER}
-	[[ -n ${BRANCH_UPDATE} ]] && version_string+=" ${BRANCH_UPDATE}"
-
-	einfo "patching gcc version: ${version_string} (${BRANDING_GCC_PKGVERSION})"
-
-	local gcc_sed=( -e 's:gcc\.gnu\.org/bugs\.html:bugs\.gentoo\.org/:' )
-	if grep -qs VERSUFFIX "${S}"/gcc/version.c ; then
-		gcc_sed+=( -e "/VERSUFFIX \"\"/s:\"\":\" (${BRANDING_GCC_PKGVERSION})\":" )
-	else
-		version_string="${version_string} (${BRANDING_GCC_PKGVERSION})"
-		gcc_sed+=( -e "/const char version_string\[\] = /s:= \".*\":= \"${version_string}\":" )
-	fi
-	sed -i "${gcc_sed[@]}" "${S}"/gcc/version.c || die
-}
+#---->> support and misc functions <<----
 
-# This is a historical wart.  The original Gentoo/amd64 port used:
-#    lib32 - 32bit binaries (x86)
-#    lib64 - 64bit binaries (x86_64)
-#    lib   - "native" binaries (a symlink to lib64)
-# Most other distros use the logic (including mainline gcc):
-#    lib   - 32bit binaries (x86)
-#    lib64 - 64bit binaries (x86_64)
-# Over time, Gentoo is migrating to the latter form.
+# This is to make sure we don't accidentally try to enable support for a
+# language that doesnt exist. GCC 3.4 supports f77, while 4.0 supports f95, etc.
 #
-# Unfortunately, due to distros picking the lib32 behavior, newer gcc
-# versions will dynamically detect whether to use lib or lib32 for its
-# 32bit multilib.  So, to keep the automagic from getting things wrong
-# while people are transitioning from the old style to the new style,
-# we always set the MULTILIB_OSDIRNAMES var for relevant targets.
-setup_multilib_osdirnames() {
-	is_multilib || return 0
-
-	local config
-	local libdirs="../lib64 ../lib32"
-
-	# this only makes sense for some Linux targets
-	case ${CTARGET} in
-	x86_64*-linux*)    config="i386" ;;
-	powerpc64*-linux*) config="rs6000" ;;
-	sparc64*-linux*)   config="sparc" ;;
-	s390x*-linux*)     config="s390" ;;
-	*)	               return 0 ;;
-	esac
-	config+="/t-linux64"
-
-	local sed_args=()
-	if tc_version_is_at_least 4.6 ; then
-		sed_args+=( -e 's:$[(]call if_multiarch[^)]*[)]::g' )
-	fi
-	if [[ ${SYMLINK_LIB} == "yes" ]] ; then
-		einfo "updating multilib directories to be: ${libdirs}"
-		if tc_version_is_at_least 4.6.4 || tc_version_is_at_least 4.7 ; then
-			sed_args+=( -e '/^MULTILIB_OSDIRNAMES.*lib32/s:[$][(]if.*):../lib32:' )
-		else
-			sed_args+=( -e "/^MULTILIB_OSDIRNAMES/s:=.*:= ${libdirs}:" )
-		fi
-	else
-		einfo "using upstream multilib; disabling lib32 autodetection"
-		sed_args+=( -r -e 's:[$][(]if.*,(.*)[)]:\1:' )
-	fi
-	sed -i "${sed_args[@]}" "${S}"/gcc/config/${config} || die
-}
-
-# make sure the libtool archives have libdir set to where they actually
-# -are-, and not where they -used- to be.  also, any dependencies we have
-# on our own .la files need to be updated.
-fix_libtool_libdir_paths() {
-	pushd "${D}" >/dev/null
-
-	pushd "./${1}" >/dev/null
-	local dir="${PWD#${D%/}}"
-	local allarchives=$(echo *.la)
-	allarchives="\(${allarchives// /\\|}\)"
-	popd >/dev/null
-
-	sed -i \
-		-e "/^libdir=/s:=.*:='${dir}':" \
-		./${dir}/*.la
-	sed -i \
-		-e "/^dependency_libs=/s:/[^ ]*/${allarchives}:${LIBPATH}/\1:g" \
-		$(find ./${PREFIX}/lib* -maxdepth 3 -name '*.la') \
-		./${dir}/*.la
-
-	popd >/dev/null
+# Also add a hook so special ebuilds (kgcc64) can control which languages
+# exactly get enabled
+gcc-lang-supported() {
+	grep ^language=\"${1}\" "${S}"/gcc/*/config-lang.in > /dev/null || return 1
+	[[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0
+	has $1 ${TOOLCHAIN_ALLOWED_LANGS}
 }
 
-is_multilib() {
-	tc_version_is_at_least 3 || return 1
-	use multilib
+is_ada() {
+	gcc-lang-supported ada || return 1
+	use ada
 }
 
 is_cxx() {
@@ -2098,6 +1981,11 @@
 	use cxx && use_if_iuse go
 }
 
+is_multilib() {
+	tc_version_is_at_least 3 || return 1
+	use multilib
+}
+
 is_objc() {
 	gcc-lang-supported objc || return 1
 	use_if_iuse objc
@@ -2108,11 +1996,6 @@
 	use cxx && use_if_iuse objc++
 }
 
-is_ada() {
-	gcc-lang-supported ada || return 1
-	use ada
-}
-
 is_treelang() {
 	use_if_iuse boundschecking && return 1 #260532
 	is_crosscompile && return 1 #199924
@@ -2120,3 +2003,107 @@
 	#use treelang
 	return 0
 }
+
+# Grab a variable from the build system (taken from linux-info.eclass)
+get_make_var() {
+	local var=$1 makefile=${2:-${WORKDIR}/build/Makefile}
+	echo -e "e:\\n\\t@echo \$(${var})\\ninclude ${makefile}" | \
+		r=${makefile%/*} emake --no-print-directory -s -f - 2>/dev/null
+}
+
+XGCC() { get_make_var GCC_FOR_TARGET ; }
+
+# The gentoo piessp patches allow for 3 configurations:
+# 1) PIE+SSP by default
+# 2) PIE by default
+# 3) SSP by default
+hardened_gcc_works() {
+	if [[ $1 == "pie" ]] ; then
+		# $gcc_cv_ld_pie is unreliable as it simply take the output of
+		# `ld --help | grep -- -pie`, that reports the option in all cases, also if
+		# the loader doesn't actually load the resulting executables.
+		# To avoid breakage, blacklist FreeBSD here at least
+		[[ ${CTARGET} == *-freebsd* ]] && return 1
+
+		want_pie || return 1
+		use_if_iuse nopie && return 1
+		hardened_gcc_is_stable pie
+		return $?
+	elif [[ $1 == "ssp" ]] ; then
+		[[ -n ${SPECS_VER} ]] || return 1
+		use_if_iuse nossp && return 1
+		hardened_gcc_is_stable ssp
+		return $?
+	else
+		# laziness ;)
+		hardened_gcc_works pie || return 1
+		hardened_gcc_works ssp || return 1
+		return 0
+	fi
+}
+
+hardened_gcc_is_stable() {
+	local tocheck
+	if [[ $1 == "pie" ]] ; then
+		if [[ ${CTARGET} == *-uclibc* ]] ; then
+			tocheck=${PIE_UCLIBC_STABLE}
+		else
+			tocheck=${PIE_GLIBC_STABLE}
+		fi
+	elif [[ $1 == "ssp" ]] ; then
+		if [[ ${CTARGET} == *-uclibc* ]] ; then
+			tocheck=${SSP_UCLIBC_STABLE}
+		else
+			tocheck=${SSP_STABLE}
+		fi
+	else
+		die "hardened_gcc_stable needs to be called with pie or ssp"
+	fi
+
+	has $(tc-arch) ${tocheck} && return 0
+	return 1
+}
+
+want_minispecs() {
+	if tc_version_is_at_least 4.3.2 && use hardened ; then
+		if ! want_pie ; then
+			ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild."
+		elif use vanilla ; then
+			ewarn "You will not get hardened features if you have the vanilla USE-flag."
+		elif use nopie && use nossp ; then
+			ewarn "You will not get hardened features if you have the nopie and nossp USE-flag."
+		elif ! hardened_gcc_works ; then
+			ewarn "Your $(tc-arch) arch is not supported."
+		else
+			return 0
+		fi
+		ewarn "Hope you know what you are doing. Hardened will not work."
+		return 0
+	fi
+	return 1
+}
+
+want_pie() {
+	! use hardened && [[ -n ${PIE_VER} ]] && use nopie && return 1
+	[[ -n ${PIE_VER} ]] && [[ -n ${SPECS_VER} ]] && return 0
+	tc_version_is_at_least 4.3.2 && return 1
+	[[ -z ${PIE_VER} ]] && return 1
+	use !nopie && return 0
+	return 1
+}
+
+has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice"
+toolchain_death_notice() {
+	if [[ -e "${WORKDIR}"/build ]] ; then 
+		pushd "${WORKDIR}"/build >/dev/null
+		(echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log
+		[[ -e "${T}"/build.log ]] && cp "${T}"/build.log .
+		tar jcf "${WORKDIR}"/gcc-build-logs.tar.bz2 \
+			gccinfo.log build.log $(find -name config.log)
+		rm gccinfo.log build.log
+		eerror
+		eerror "Please include ${WORKDIR}/gcc-build-logs.tar.bz2 in your bug report."
+		eerror
+		popd >/dev/null
+	fi
+}





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-23 21:41 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-23 21:41 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/23 21:41:19

  Modified:             ChangeLog toolchain.eclass
  Log:
  Rename gtk USE flag to awt. Remove lto USE flag. Minor cleanup.

Revision  Changes    Path
1.1086               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1086&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1086&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1085&r2=1.1086

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1085
retrieving revision 1.1086
diff -u -r1.1085 -r1.1086
--- ChangeLog	21 Dec 2013 20:11:55 -0000	1.1085
+++ ChangeLog	23 Dec 2013 21:41:19 -0000	1.1086
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1085 2013/12/21 20:11:55 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1086 2013/12/23 21:41:19 dirtyepic Exp $
+
+  23 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Rename gtk USE flag to awt. Remove lto USE flag. Minor cleanup.
 
   21 Dec 2013; Davide Pesavento <pesa@gentoo.org> qt4-r2.eclass:
   Use eqmake4() from qmake-utils.eclass



1.609                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.609&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.609&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.608&r2=1.609

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.608
retrieving revision 1.609
diff -u -r1.608 -r1.609
--- toolchain.eclass	21 Dec 2013 11:59:18 -0000	1.608
+++ toolchain.eclass	23 Dec 2013 21:41:19 -0000	1.609
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.608 2013/12/21 11:59:18 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.609 2013/12/23 21:41:19 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -9,7 +9,7 @@
 LICENSE="GPL-2 LGPL-2.1"
 RESTRICT="strip" # cross-compilers need controlled stripping
 
-inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib fixheadtails pax-utils
+inherit eutils fixheadtails flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs versionator
 
 if [[ ${PV} == *_pre9999* ]] ; then
 	EGIT_REPO_URI="git://gcc.gnu.org/git/gcc.git"
@@ -79,6 +79,7 @@
 fi
 
 export GCC_FILESDIR=${GCC_FILESDIR:-${FILESDIR}}
+
 PREFIX=${TOOLCHAIN_PREFIX:-/usr}
 
 if tc_version_is_at_least 3.4.0 ; then
@@ -110,14 +111,13 @@
 	[[ -n ${HTB_VER} ]] && IUSE+=" boundschecking"
 	[[ -n ${D_VER}   ]] && IUSE+=" d"
 	[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
-	tc_version_is_at_least 3 && IUSE+=" doc gcj gtk hardened multilib objc"
+	tc_version_is_at_least 3 && IUSE+=" doc gcj awt hardened multilib objc"
 	tc_version_is_at_least 4.0 && IUSE+=" objc-gc"
 	tc_version_is_at_least 4.0 && ! tc_version_is_at_least 4.9 && IUSE+=" mudflap"
 	tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
 	tc_version_is_at_least 4.2 && IUSE+=" openmp"
 	tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
 	tc_version_is_at_least 4.6 && IUSE+=" graphite"
-	tc_version_is_at_least 4.6 && IUSE+=" lto"
 	tc_version_is_at_least 4.7 && IUSE+=" go"
 fi
 
@@ -187,7 +187,7 @@
 	"
 	tc_version_is_at_least 3.4 && GCJ_GTK_DEPS+=" x11-libs/pango"
 	tc_version_is_at_least 4.2 && GCJ_DEPS+=" app-arch/zip app-arch/unzip"
-	DEPEND+=" gcj? ( gtk? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )"
+	DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )"
 fi
 
 PDEPEND=">=sys-devel/gcc-config-1.7"
@@ -340,8 +340,12 @@
 			"in your make.conf if you want to use this version."
 	fi
 
+	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \
+		die "Sorry, this version does not support uClibc"
+
 	# we dont want to use the installed compiler's specs to build gcc!
 	unset GCC_SPECS
+	unset LANGUAGES #265283
 
 	if ! use_if_iuse cxx ; then
 		use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
@@ -350,16 +354,11 @@
 	fi
 
 	want_minispecs
-
-	unset LANGUAGES #265283
 }
 
 #----> src_unpack <----
 
 toolchain_src_unpack() {
-	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \
-		die "Sorry, this version does not support uClibc"
-
 	if [[ ${PV} == *9999* ]]; then
 		git-2_src_unpack
 	else
@@ -438,7 +437,7 @@
 
 	# disable --as-needed from being compiled into gcc specs
 	# natively when using a gcc version < 3.4.4
-	# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14992
+	# http://gcc.gnu.org/PR14992
 	if ! tc_version_is_at_least 3.4.4 ; then
 		sed -i -e s/HAVE_LD_AS_NEEDED/USE_LD_AS_NEEDED/g "${S}"/gcc/config.in
 	fi
@@ -463,8 +462,6 @@
 	# update configure files
 	local f
 	einfo "Fixing misc issues in configure files"
-	# TODO - check if we can drop this now that we don't gen info files
-	tc_version_is_at_least 4.1 && epatch "${GCC_FILESDIR}"/gcc-configure-texinfo.patch
 	for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
 		ebegin "  Updating ${f/${S}\/} [LANG]"
 		patch "${f}" "${GCC_FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
@@ -513,7 +510,7 @@
 		ebegin "Adding support for the D language"
 		./gcc/d/setup-gcc.sh >& "${T}"/dgcc.log
 		if ! eend $? ; then
-			eerror "The D gcc package failed to apply"
+			eerror "The D GCC package failed to apply"
 			eerror "Please include this log file when posting a bug report:"
 			eerror "  ${T}/dgcc.log"
 			die "failed to include the D language"
@@ -729,8 +726,6 @@
 gcc_do_filter_flags() {
 	strip-flags
 
-	# In general gcc does not like optimization, and adds -O2 where
-	# it is safe.  This is especially true for gcc 3.3 + 3.4
 	replace-flags -O? -O2
 
 	# dont want to funk ourselves
@@ -801,24 +796,6 @@
 
 	strip-unsupported-flags
 	
-	# CFLAGS logic (verified with 3.4.3):
-	# CFLAGS:
-	#	This conflicts when creating a crosscompiler, so set to a sane
-	#	  default in this case:
-	#	used in ./configure and elsewhere for the native compiler
-	#	used by gcc when creating libiberty.a
-	#	used by xgcc when creating libstdc++ (and probably others)!
-	#	  this behavior should be removed...
-	#
-	# CXXFLAGS:
-	#	used by xgcc when creating libstdc++
-	#
-	# STAGE1_CFLAGS (not used in creating a crosscompile gcc):
-	#	used by ${CHOST}-gcc for building stage1 compiler
-	#
-	# BOOT_CFLAGS (not used in creating a crosscompile gcc):
-	#	used by xgcc for building stage2/3 compiler
-
 	if is_crosscompile ; then
 		# Set this to something sane for both native and target
 		CFLAGS="-O2 -pipe"
@@ -924,7 +901,7 @@
 
 	# Branding
 	tc_version_is_at_least 4.3 && confgcc+=(
-		--with-bugurl=http://bugs.gentoo.org/
+		--with-bugurl=https://bugs.gentoo.org/
 		--with-pkgversion="${BRANDING_GCC_PKGVERSION}"
 	)
 
@@ -1148,7 +1125,7 @@
 
 	if ! is_gcj ; then
 		confgcc+=( --disable-libgcj )
-	elif use gtk ; then
+	elif use awt ; then
 		confgcc+=( --enable-java-awt=gtk )
 	fi
 
@@ -1195,7 +1172,7 @@
 	fi
 
 	if tc_version_is_at_least 4.6 ; then
-		confgcc+=( $(use_enable lto) )
+		confgcc+=( --enable-lto )
 	elif tc_version_is_at_least 4.5 ; then
 		confgcc+=( --disable-lto )
 	fi
@@ -1302,6 +1279,7 @@
 	gcc_do_filter_flags
 	einfo "CFLAGS=\"${CFLAGS}\""
 	einfo "CXXFLAGS=\"${CXXFLAGS}\""
+	einfo "LDFLAGS=\"${LDFLAGS}\""
 
 	# Force internal zip based jar script to avoid random
 	# issues with 3rd party jar implementations.  #384291





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-27 22:10 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-27 22:10 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/27 22:10:29

  Modified:             ChangeLog toolchain.eclass
  Log:
  Initial EAPI support (bug #474358).

Revision  Changes    Path
1.1092               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1092&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1092&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1091&r2=1.1092

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1091
retrieving revision 1.1092
diff -u -r1.1091 -r1.1092
--- ChangeLog	27 Dec 2013 21:39:36 -0000	1.1091
+++ ChangeLog	27 Dec 2013 22:10:29 -0000	1.1092
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1091 2013/12/27 21:39:36 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1092 2013/12/27 22:10:29 dirtyepic Exp $
+
+  27 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Initial EAPI support (bug #474358).
 
   27 Dec 2013; Robin H. Johnson <robbat2@gentoo.org> flag-o-matic.eclass:
   Per discussion with Flameeyes, make -l and -L always valid, and only warn



1.610                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.610&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.610&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.609&r2=1.610

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.609
retrieving revision 1.610
diff -u -r1.609 -r1.610
--- toolchain.eclass	23 Dec 2013 21:41:19 -0000	1.609
+++ toolchain.eclass	27 Dec 2013 22:10:29 -0000	1.610
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.609 2013/12/23 21:41:19 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.610 2013/12/27 22:10:29 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -25,7 +25,14 @@
 
 FEATURES=${FEATURES/multilib-strict/}
 
-EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+EXPORTED_FUNCTIONS="pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm"
+case ${EAPI:-0} in
+	0|1)	;;
+	2|3)    EXPORTED_FUNCTIONS+=" src_prepare src_configure" ;;
+	4*|5*)  EXPORTED_FUNCTIONS+=" pkg_pretend src_prepare src_configure" ;;
+	*)      die "I don't speak EAPI ${EAPI}."
+esac
+EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
 
 #---->> globals <<----
 
@@ -331,11 +338,11 @@
 
 SRC_URI=$(get_gcc_src_uri)
 
-#---->> pkg_setup <<----
+#---->> pkg_pretend <<----
 
-toolchain_pkg_setup() {
+toolchain_pkg_pretend() {
 	if [[ -n ${PRERELEASE}${SNAPSHOT} || ${PV} == *9999* ]] &&
-	   [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] ; 	then
+	   [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] ; then
 		die "Please \`export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1\` or define it" \
 			"in your make.conf if you want to use this version."
 	fi
@@ -343,10 +350,6 @@
 	[[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \
 		die "Sorry, this version does not support uClibc"
 
-	# we dont want to use the installed compiler's specs to build gcc!
-	unset GCC_SPECS
-	unset LANGUAGES #265283
-
 	if ! use_if_iuse cxx ; then
 		use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
 		use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
@@ -356,7 +359,19 @@
 	want_minispecs
 }
 
-#----> src_unpack <----
+#---->> pkg_setup <<----
+
+toolchain_pkg_setup() {
+	case "${EAPI:-0}" in
+		0|1|2|3)    toolchain_pkg_pretend ;;
+	esac
+
+	# we dont want to use the installed compiler's specs to build gcc
+	unset GCC_SPECS
+	unset LANGUAGES #265283
+}
+
+#---->> src_unpack <<----
 
 toolchain_src_unpack() {
 	if [[ ${PV} == *9999* ]]; then
@@ -365,6 +380,74 @@
 		gcc_quick_unpack
 	fi
 
+	case ${EAPI:-0} in
+		0|1)   toolchain_src_prepare ;;
+	esac
+}
+
+gcc_quick_unpack() {
+	pushd "${WORKDIR}" > /dev/null
+	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
+	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
+	export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
+	export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
+	export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
+
+	if [[ -n ${GCC_A_FAKEIT} ]] ; then
+		unpack ${GCC_A_FAKEIT}
+	elif [[ -n ${PRERELEASE} ]] ; then
+		unpack gcc-${PRERELEASE}.tar.bz2
+	elif [[ -n ${SNAPSHOT} ]] ; then
+		unpack gcc-${SNAPSHOT}.tar.bz2
+	elif [[ ${PV} != *9999* ]] ; then
+		unpack gcc-${GCC_RELEASE_VER}.tar.bz2
+		# We want branch updates to be against a release tarball
+		if [[ -n ${BRANCH_UPDATE} ]] ; then
+			pushd "${S}" > /dev/null
+			epatch "${DISTDIR}"/gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
+			popd > /dev/null
+		fi
+	fi
+
+	if [[ -n ${D_VER} ]] && use d ; then
+		pushd "${S}"/gcc > /dev/null
+		unpack gdc-${D_VER}-src.tar.bz2
+		cd ..
+		ebegin "Adding support for the D language"
+		./gcc/d/setup-gcc.sh >& "${T}"/dgcc.log
+		if ! eend $? ; then
+			eerror "The D GCC package failed to apply"
+			eerror "Please include this log file when posting a bug report:"
+			eerror "  ${T}/dgcc.log"
+			die "failed to include the D language"
+		fi
+		popd > /dev/null
+	fi
+
+	[[ -n ${PATCH_VER} ]] && \
+		unpack gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2
+
+	[[ -n ${UCLIBC_VER} ]] && \
+		unpack gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2
+
+	if want_pie ; then
+		if [[ -n ${PIE_CORE} ]] ; then
+			unpack ${PIE_CORE}
+		else
+			unpack gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2
+		fi
+		[[ -n ${SPECS_VER} ]] && \
+			unpack gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2
+	fi
+
+	use_if_iuse boundschecking && unpack "bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
+
+	popd > /dev/null
+}
+
+#---->> src_prepare <<----
+
+toolchain_src_prepare() {
 	export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
 	cd "${S}"
 
@@ -479,66 +562,6 @@
 	fi
 }
 
-gcc_quick_unpack() {
-	pushd "${WORKDIR}" > /dev/null
-	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
-	export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}}
-	export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
-	export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
-	export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
-
-	if [[ -n ${GCC_A_FAKEIT} ]] ; then
-		unpack ${GCC_A_FAKEIT}
-	elif [[ -n ${PRERELEASE} ]] ; then
-		unpack gcc-${PRERELEASE}.tar.bz2
-	elif [[ -n ${SNAPSHOT} ]] ; then
-		unpack gcc-${SNAPSHOT}.tar.bz2
-	elif [[ ${PV} != *9999* ]] ; then
-		unpack gcc-${GCC_RELEASE_VER}.tar.bz2
-		# We want branch updates to be against a release tarball
-		if [[ -n ${BRANCH_UPDATE} ]] ; then
-			pushd "${S}" > /dev/null
-			epatch "${DISTDIR}"/gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
-			popd > /dev/null
-		fi
-	fi
-
-	if [[ -n ${D_VER} ]] && use d ; then
-		pushd "${S}"/gcc > /dev/null
-		unpack gdc-${D_VER}-src.tar.bz2
-		cd ..
-		ebegin "Adding support for the D language"
-		./gcc/d/setup-gcc.sh >& "${T}"/dgcc.log
-		if ! eend $? ; then
-			eerror "The D GCC package failed to apply"
-			eerror "Please include this log file when posting a bug report:"
-			eerror "  ${T}/dgcc.log"
-			die "failed to include the D language"
-		fi
-		popd > /dev/null
-	fi
-
-	[[ -n ${PATCH_VER} ]] && \
-		unpack gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2
-
-	[[ -n ${UCLIBC_VER} ]] && \
-		unpack gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2
-
-	if want_pie ; then
-		if [[ -n ${PIE_CORE} ]] ; then
-			unpack ${PIE_CORE}
-		else
-			unpack gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2
-		fi
-		[[ -n ${SPECS_VER} ]] && \
-			unpack gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2
-	fi
-
-	use_if_iuse boundschecking && unpack "bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch.bz2"
-
-	popd > /dev/null
-}
-
 guess_patch_type_in_dir() {
 	[[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \
 		&& EPATCH_SUFFIX="patch.bz2" \
@@ -723,95 +746,25 @@
 	done
 }
 
-gcc_do_filter_flags() {
-	strip-flags
-
-	replace-flags -O? -O2
-
-	# dont want to funk ourselves
-	filter-flags '-mabi*' -m31 -m32 -m64
-
-	filter-flags '-frecord-gcc-switches' # 490738
-
-	case ${GCC_BRANCH_VER} in
-		3.2|3.3)
-			replace-cpu-flags k8 athlon64 opteron x86-64
-			replace-cpu-flags pentium-m pentium3m pentium3
-			replace-cpu-flags G3 750
-			replace-cpu-flags G4 7400
-			replace-cpu-flags G5 7400
-	
-			case $(tc-arch) in
-				amd64)
-					replace-cpu-flags core2 nocona
-					filter-flags '-mtune=*'
-					;;
-				x86)
-					replace-cpu-flags core2 prescott
-					filter-flags '-mtune=*'
-					;;
-			esac
+#---->> src_configure <<----
 
-			# XXX: should add a sed or something to query all supported flags
-			#      from the gcc source and trim everything else ...
-			filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
-			filter-flags -f{no-,}stack-protector{,-all}
-			filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
-			;;
-		3.4|4.*)
-			case $(tc-arch) in
-				amd64|x86)
-					filter-flags '-mcpu=*'
-					;;
-				alpha)
-					# https://bugs.gentoo.org/454426
-					append-ldflags -Wl,--no-relax
-					;;
-				sparc)
-					# temporary workaround for random ICEs reproduced by multiple users
-					# https://bugs.gentoo.org/457062
-					[[ ${GCC_BRANCH_VER} == 4.6 || ${GCC_BRANCH_VER} == 4.7 ]] && \
-						MAKEOPTS+=" -j1"
-					;;
-				*-macos)
-					# http://gcc.gnu.org/PR25127
-					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \
-						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-					;;
-			esac
-			;;
-	esac
+toolchain_src_configure() {
+	gcc_do_filter_flags
 
-	case ${GCC_BRANCH_VER} in
-		4.6)
-			case $(tc-arch) in
-				amd64|x86)
-					# https://bugs.gentoo.org/411333
-					# https://bugs.gentoo.org/466454
-					replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
-					;;
-			esac
-			;;
-	esac
+	einfo "CFLAGS=\"${CFLAGS}\""
+	einfo "CXXFLAGS=\"${CXXFLAGS}\""
+	einfo "LDFLAGS=\"${LDFLAGS}\""
 
-	strip-unsupported-flags
-	
-	if is_crosscompile ; then
-		# Set this to something sane for both native and target
-		CFLAGS="-O2 -pipe"
-		FFLAGS=${CFLAGS}
-		FCFLAGS=${CFLAGS}
+	# Force internal zip based jar script to avoid random
+	# issues with 3rd party jar implementations.  #384291
+	export JAR=no
 
-		local VAR="CFLAGS_"${CTARGET//-/_}
-		CXXFLAGS=${!VAR}
+	# For hardened gcc 4.3 piepatchset to build the hardened specs
+	# file (build.specs) to use when building gcc.
+	if ! tc_version_is_at_least 4.4 && want_minispecs ; then
+		setup_minispecs_gcc_build_specs
 	fi
 
-	export GCJFLAGS=${GCJFLAGS:-${CFLAGS}}
-}
-
-#---->> src_configure <<----
-
-gcc_do_configure() {
 	local confgcc=( --host=${CHOST} )
 
 	if is_crosscompile || tc-is-cross-compiler ; then
@@ -1232,6 +1185,109 @@
 	popd > /dev/null
 }
 
+gcc_do_filter_flags() {
+	strip-flags
+
+	replace-flags -O? -O2
+
+	# dont want to funk ourselves
+	filter-flags '-mabi*' -m31 -m32 -m64
+
+	filter-flags '-frecord-gcc-switches' # 490738
+
+	case ${GCC_BRANCH_VER} in
+		3.2|3.3)
+			replace-cpu-flags k8 athlon64 opteron x86-64
+			replace-cpu-flags pentium-m pentium3m pentium3
+			replace-cpu-flags G3 750
+			replace-cpu-flags G4 7400
+			replace-cpu-flags G5 7400
+	
+			case $(tc-arch) in
+				amd64)
+					replace-cpu-flags core2 nocona
+					filter-flags '-mtune=*'
+					;;
+				x86)
+					replace-cpu-flags core2 prescott
+					filter-flags '-mtune=*'
+					;;
+			esac
+
+			# XXX: should add a sed or something to query all supported flags
+			#      from the gcc source and trim everything else ...
+			filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
+			filter-flags -f{no-,}stack-protector{,-all}
+			filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
+			;;
+		3.4|4.*)
+			case $(tc-arch) in
+				amd64|x86)
+					filter-flags '-mcpu=*'
+					;;
+				alpha)
+					# https://bugs.gentoo.org/454426
+					append-ldflags -Wl,--no-relax
+					;;
+				sparc)
+					# temporary workaround for random ICEs reproduced by multiple users
+					# https://bugs.gentoo.org/457062
+					[[ ${GCC_BRANCH_VER} == 4.6 || ${GCC_BRANCH_VER} == 4.7 ]] && \
+						MAKEOPTS+=" -j1"
+					;;
+				*-macos)
+					# http://gcc.gnu.org/PR25127
+					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \
+						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+					;;
+			esac
+			;;
+	esac
+
+	case ${GCC_BRANCH_VER} in
+		4.6)
+			case $(tc-arch) in
+				amd64|x86)
+					# https://bugs.gentoo.org/411333
+					# https://bugs.gentoo.org/466454
+					replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
+					;;
+			esac
+			;;
+	esac
+
+	strip-unsupported-flags
+
+	# these are set here so we have something sane at configure time
+	if is_crosscompile ; then
+		# Set this to something sane for both native and target
+		CFLAGS="-O2 -pipe"
+		FFLAGS=${CFLAGS}
+		FCFLAGS=${CFLAGS}
+
+		local VAR="CFLAGS_"${CTARGET//-/_}
+		CXXFLAGS=${!VAR}
+	fi
+
+	export GCJFLAGS=${GCJFLAGS:-${CFLAGS}}
+}
+
+setup_minispecs_gcc_build_specs() {
+	# Setup the "build.specs" file for gcc 4.3 to use when building.
+	if hardened_gcc_works pie ; then
+		cat "${WORKDIR}"/specs/pie.specs >> "${WORKDIR}"/build.specs
+	fi
+	if hardened_gcc_works ssp ; then
+		for s in ssp sspall ; do
+			cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
+		done
+	fi
+	for s in nostrict znow ; do
+		cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
+	done
+	export GCC_SPECS="${WORKDIR}"/build.specs
+}
+
 gcc-multilib-configure() {
 	if ! is_multilib ; then
 		confgcc+=( --disable-multilib )
@@ -1276,26 +1332,9 @@
 #----> src_compile <----
 
 toolchain_src_compile() {
-	gcc_do_filter_flags
-	einfo "CFLAGS=\"${CFLAGS}\""
-	einfo "CXXFLAGS=\"${CXXFLAGS}\""
-	einfo "LDFLAGS=\"${LDFLAGS}\""
-
-	# Force internal zip based jar script to avoid random
-	# issues with 3rd party jar implementations.  #384291
-	export JAR=no
-
-	# For hardened gcc 4.3 piepatchset to build the hardened specs
-	# file (build.specs) to use when building gcc.
-	if ! tc_version_is_at_least 4.4 && want_minispecs ; then
-		setup_minispecs_gcc_build_specs
-	fi
-	# Build in a separate build tree
-	mkdir -p "${WORKDIR}"/build
-	pushd "${WORKDIR}"/build > /dev/null
-
-	einfo "Configuring ${PN} ..."
-	gcc_do_configure
+	case ${EAPI:-0} in
+		0|1)   toolchain_src_configure ;;
+	esac
 
 	touch "${S}"/gcc/c-gperf.h
 
@@ -1305,50 +1344,18 @@
 
 	einfo "Compiling ${PN} ..."
 	gcc_do_make ${GCC_MAKE_TARGET}
-
-	popd > /dev/null
 }
 
-setup_minispecs_gcc_build_specs() {
-	# Setup the "build.specs" file for gcc 4.3 to use when building.
-	if hardened_gcc_works pie ; then
-		cat "${WORKDIR}"/specs/pie.specs >> "${WORKDIR}"/build.specs
-	fi
-	if hardened_gcc_works ssp ; then
-		for s in ssp sspall ; do
-			cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
-		done
-	fi
-	for s in nostrict znow ; do
-		cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
-	done
-	export GCC_SPECS="${WORKDIR}"/build.specs
-}
-
-# This function accepts one optional argument, the make target to be used.
-# If ommitted, gcc_do_make will try to guess whether it should use all,
-# profiledbootstrap, or bootstrap-lean depending on CTARGET and arch. An
-# example of how to use this function:
-#
-#	gcc_do_make all-target-libstdc++-v3
-#
-# In addition to the target to be used, the following variables alter the
-# behavior of this function:
-#
-#	LDFLAGS
-#			Flags to pass to ld
-#
-#	STAGE1_CFLAGS
-#			CFLAGS to use during stage1 of a gcc bootstrap
-#
-#	BOOT_CFLAGS
-#			CFLAGS to use during stages 2+3 of a gcc bootstrap.
-#
-# Travis Tilley <lv@gentoo.org> (04 Sep 2004)
-#
 gcc_do_make() {
+	# This function accepts one optional argument, the make target to be used.
+	# If omitted, gcc_do_make will try to guess whether it should use all,
+	# profiledbootstrap, or bootstrap-lean depending on CTARGET and arch. An
+	# example of how to use this function:
+	#
+	#	gcc_do_make all-target-libstdc++-v3
+	#
 	# Set make target to $1 if passed
-	[[ -n $1 ]] && GCC_MAKE_TARGET=$1
+	[[ -n ${1} ]] && GCC_MAKE_TARGET=${1}
 	# default target
 	if is_crosscompile || tc-is-cross-compiler ; then
 		# 3 stage bootstrapping doesnt quite work when you cant run the





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-28  3:48 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-28  3:48 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/28 03:48:25

  Modified:             ChangeLog toolchain.eclass
  Log:
  Reintroduce texinfo patch to unbreak older versions (bug #496224).

Revision  Changes    Path
1.1095               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1095&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1095&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1094&r2=1.1095

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1094
retrieving revision 1.1095
diff -u -r1.1094 -r1.1095
--- ChangeLog	28 Dec 2013 00:25:53 -0000	1.1094
+++ ChangeLog	28 Dec 2013 03:48:25 -0000	1.1095
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1094 2013/12/28 00:25:53 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1095 2013/12/28 03:48:25 dirtyepic Exp $
+
+  28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Reintroduce texinfo patch to unbreak older versions (bug #496224).
 
   28 Dec 2013; Robin H. Johnson <robbat2@gentoo.org> flag-o-matic.eclass:
   Spelling fixes.



1.612                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.612&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.612&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.611&r2=1.612

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.611
retrieving revision 1.612
diff -u -r1.611 -r1.612
--- toolchain.eclass	27 Dec 2013 22:54:43 -0000	1.611
+++ toolchain.eclass	28 Dec 2013 03:48:25 -0000	1.612
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.611 2013/12/27 22:54:43 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.612 2013/12/28 03:48:25 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -553,6 +553,9 @@
 	done
 	sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
 
+	# Prevent new texinfo from breaking old versions (see #198182, #464008)
+	tc_version_is_at_least 4.1 && epatch "${GCC_FILESDIR}"/gcc-configure-texinfo.patch
+
 	if [[ -x contrib/gcc_update ]] ; then
 		einfo "Touching generated files"
 		./contrib/gcc_update --touch | \
@@ -1150,8 +1153,6 @@
 	# Disable gcc info regeneration -- it ships with generated info pages
 	# already.  Our custom version/urls/etc... trigger it.  #464008
 	export gcc_cv_prog_makeinfo_modern=no
-	# Make sure we don't try to generate pages that don't even exist.  #496224
-	touch "${S}"/gcc/treelang/treelang.info 2>/dev/null
 
 	# Do not let the X detection get in our way.  We know things can be found
 	# via system paths, so no need to hardcode things that'll break multilib.





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-28  8:11 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-28  8:11 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/28 08:11:41

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add tc_version_is_between() helper.

Revision  Changes    Path
1.1096               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1096&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1096&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1095&r2=1.1096

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1095
retrieving revision 1.1096
diff -u -r1.1095 -r1.1096
--- ChangeLog	28 Dec 2013 03:48:25 -0000	1.1095
+++ ChangeLog	28 Dec 2013 08:11:41 -0000	1.1096
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1095 2013/12/28 03:48:25 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1096 2013/12/28 08:11:41 dirtyepic Exp $
+
+  28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Add tc_version_is_between() helper.
 
   28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Reintroduce texinfo patch to unbreak older versions (bug #496224).



1.613                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.613&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.613&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.612&r2=1.613

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.612
retrieving revision 1.613
diff -u -r1.612 -r1.613
--- toolchain.eclass	28 Dec 2013 03:48:25 -0000	1.612
+++ toolchain.eclass	28 Dec 2013 08:11:41 -0000	1.613
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.612 2013/12/28 03:48:25 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.613 2013/12/28 08:11:41 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -51,11 +51,16 @@
 }
 
 # General purpose version check.  Without a second arg matches up to minor version (x.x.x)
-# (ie. 4.6.0_pre9999 matches 4 or 4.6 or 4.6.0 but not 4.6.1)
 tc_version_is_at_least() { 
 	version_is_at_least "$1" "${2:-${GCC_RELEASE_VER}}"
 }
 
+# General purpose version range check
+# Note that it matches up to but NOT including the second version
+tc_version_is_between() {
+	tc_version_is_at_least "${1}" && ! tc_version_is_at_least "${2}"
+}
+
 GCC_PV=${TOOLCHAIN_GCC_PV:-${PV}}
 GCC_PVR=${GCC_PV}
 [[ ${PR} != "r0" ]] && GCC_PVR=${GCC_PVR}-${PR}
@@ -120,7 +125,7 @@
 	[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
 	tc_version_is_at_least 3 && IUSE+=" doc gcj awt hardened multilib objc"
 	tc_version_is_at_least 4.0 && IUSE+=" objc-gc"
-	tc_version_is_at_least 4.0 && ! tc_version_is_at_least 4.9 && IUSE+=" mudflap"
+	tc_version_is_between 4.0 4.9 && IUSE+=" mudflap"
 	tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
 	tc_version_is_at_least 4.2 && IUSE+=" openmp"
 	tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
@@ -472,7 +477,7 @@
 
 	# install the libstdc++ python into the right location
 	# http://gcc.gnu.org/PR51368
-	if tc_version_is_at_least 4.5 && ! tc_version_is_at_least 4.7 ; then
+	if tc_version_is_between 4.5 4.7 ; then
 		sed -i \
 			'/^pythondir =/s:=.*:= $(datadir)/python:' \
 			"${S}"/libstdc++-v3/python/Makefile.in || die
@@ -527,12 +532,12 @@
 
 	# In gcc 3.3.x and 3.4.x, rename the java bins to gcc-specific names
 	# in line with gcc-4.
-	if tc_version_is_at_least 3.3 && ! tc_version_is_at_least 4.0 ; then
+	if tc_version_is_between 3.3 4.0 ; then
 		do_gcc_rename_java_bins
 	fi
 
 	# Prevent libffi from being installed
-	if tc_version_is_at_least 3.0 && ! tc_version_is_at_least 4.8 ; then
+	if tc_version_is_between 3.0 4.8 ; then
 		sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die
 		sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in || die
 	fi
@@ -875,7 +880,7 @@
 
 	# newer gcc versions like to bootstrap themselves with C++,
 	# so we need to manually disable it ourselves
-	if tc_version_is_at_least 4.7 && ! is_cxx ; then
+	if tc_version_is_between 4.7 4.8 && ! is_cxx ; then
 		confgcc+=( --disable-build-with-cxx --disable-build-poststage1-with-cxx )
 	fi
 
@@ -954,7 +959,7 @@
 			$(use_enable nptl tls)
 		)
 		[[ ${GCCMAJOR}.${GCCMINOR} == 3.3 ]] && confgcc+=( --enable-sjlj-exceptions )
-		if tc_version_is_at_least 3.4 && ! tc_version_is_at_least 4.3 ; then
+		if tc_version_is_between 3.4 4.3 ; then
 			confgcc+=( --enable-clocale=uclibc )
 		fi
 		;;





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-28  8:52 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-28  8:52 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/28 08:52:36

  Modified:             ChangeLog toolchain.eclass
  Log:
  Use version ranges instead of case statements in gcc_do_filter_flags().

Revision  Changes    Path
1.1097               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1097&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1097&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1096&r2=1.1097

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1096
retrieving revision 1.1097
diff -u -r1.1096 -r1.1097
--- ChangeLog	28 Dec 2013 08:11:41 -0000	1.1096
+++ ChangeLog	28 Dec 2013 08:52:36 -0000	1.1097
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1096 2013/12/28 08:11:41 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1097 2013/12/28 08:52:36 dirtyepic Exp $
+
+  28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Use version ranges instead of case statements in gcc_do_filter_flags().
 
   28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Add tc_version_is_between() helper.



1.614                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.614&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.614&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.613&r2=1.614

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.613
retrieving revision 1.614
diff -u -r1.613 -r1.614
--- toolchain.eclass	28 Dec 2013 08:11:41 -0000	1.613
+++ toolchain.eclass	28 Dec 2013 08:52:36 -0000	1.614
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.613 2013/12/28 08:11:41 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.614 2013/12/28 08:52:36 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1195,7 +1195,6 @@
 
 gcc_do_filter_flags() {
 	strip-flags
-
 	replace-flags -O? -O2
 
 	# dont want to funk ourselves
@@ -1203,66 +1202,58 @@
 
 	filter-flags '-frecord-gcc-switches' # 490738
 
-	case ${GCC_BRANCH_VER} in
-		3.2|3.3)
-			replace-cpu-flags k8 athlon64 opteron x86-64
-			replace-cpu-flags pentium-m pentium3m pentium3
-			replace-cpu-flags G3 750
-			replace-cpu-flags G4 7400
-			replace-cpu-flags G5 7400
+	if tc_version_is_between 3.2 3.4 ; then
+		# XXX: this is so outdated it's barely useful, but it don't hurt...
+		replace-cpu-flags k8 athlon64 opteron x86-64
+		replace-cpu-flags pentium-m pentium3m pentium3
+		replace-cpu-flags G3 750
+		replace-cpu-flags G4 7400
+		replace-cpu-flags G5 7400
 	
-			case $(tc-arch) in
-				amd64)
-					replace-cpu-flags core2 nocona
-					filter-flags '-mtune=*'
-					;;
-				x86)
-					replace-cpu-flags core2 prescott
-					filter-flags '-mtune=*'
-					;;
-			esac
+		case $(tc-arch) in
+			amd64)
+				replace-cpu-flags core2 nocona
+				filter-flags '-mtune=*'
+				;;
+			x86)
+				replace-cpu-flags core2 prescott
+				filter-flags '-mtune=*'
+				;;
+		esac
 
-			# XXX: should add a sed or something to query all supported flags
-			#      from the gcc source and trim everything else ...
-			filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
-			filter-flags -f{no-,}stack-protector{,-all}
-			filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
-			;;
-		3.4|4.*)
-			case $(tc-arch) in
-				amd64|x86)
-					filter-flags '-mcpu=*'
-					;;
-				alpha)
-					# https://bugs.gentoo.org/454426
-					append-ldflags -Wl,--no-relax
-					;;
-				sparc)
-					# temporary workaround for random ICEs reproduced by multiple users
-					# https://bugs.gentoo.org/457062
-					[[ ${GCC_BRANCH_VER} == 4.6 || ${GCC_BRANCH_VER} == 4.7 ]] && \
-						MAKEOPTS+=" -j1"
-					;;
-				*-macos)
-					# http://gcc.gnu.org/PR25127
-					[[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \
-						filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-					;;
-			esac
-			;;
-	esac
+		# XXX: should add a sed or something to query all supported flags
+		#      from the gcc source and trim everything else ...
+		filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs
+		filter-flags -f{no-,}stack-protector{,-all}
+		filter-flags -fvisibility-inlines-hidden -fvisibility=hidden
+	fi
 
-	case ${GCC_BRANCH_VER} in
-		4.6)
-			case $(tc-arch) in
-				amd64|x86)
+	if tc_version_is_at_least 3.4 ; then
+		case $(tc-arch) in
+			amd64|x86)
+				filter-flags '-mcpu=*'
+				if tc_version_is_between 4.6 4.7 ; then
 					# https://bugs.gentoo.org/411333
 					# https://bugs.gentoo.org/466454
 					replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
-					;;
-			esac
-			;;
-	esac
+				fi
+				;;
+			alpha)
+				# https://bugs.gentoo.org/454426
+				append-ldflags -Wl,--no-relax
+				;;
+			sparc)
+				# temporary workaround for random ICEs reproduced by multiple users
+				# https://bugs.gentoo.org/457062
+				tc_version_is_between 4.6 4.8 && MAKEOPTS+=" -j1"
+				;;
+			*-macos)
+				# http://gcc.gnu.org/PR25127
+				tc_version_is_between 4.0 4.2 && \
+					filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+				;;
+		esac
+	fi
 
 	strip-unsupported-flags
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-28  9:12 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-28  9:12 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/28 09:12:39

  Modified:             ChangeLog toolchain.eclass
  Log:
  Missed one.

Revision  Changes    Path
1.1098               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1098&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1098&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1097&r2=1.1098

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1097
retrieving revision 1.1098
diff -u -r1.1097 -r1.1098
--- ChangeLog	28 Dec 2013 08:52:36 -0000	1.1097
+++ ChangeLog	28 Dec 2013 09:12:39 -0000	1.1098
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1097 2013/12/28 08:52:36 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1098 2013/12/28 09:12:39 dirtyepic Exp $
+
+  28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Missed one.
 
   28 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
   Use version ranges instead of case statements in gcc_do_filter_flags().



1.615                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.615&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.615&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.614&r2=1.615

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.614
retrieving revision 1.615
diff -u -r1.614 -r1.615
--- toolchain.eclass	28 Dec 2013 08:52:36 -0000	1.614
+++ toolchain.eclass	28 Dec 2013 09:12:39 -0000	1.615
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.614 2013/12/28 08:52:36 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.615 2013/12/28 09:12:39 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -958,7 +958,7 @@
 			--disable-__cxa_atexit
 			$(use_enable nptl tls)
 		)
-		[[ ${GCCMAJOR}.${GCCMINOR} == 3.3 ]] && confgcc+=( --enable-sjlj-exceptions )
+		tc_version_is_between 3.3 3.4 && confgcc+=( --enable-sjlj-exceptions )
 		if tc_version_is_between 3.4 4.3 ; then
 			confgcc+=( --enable-clocale=uclibc )
 		fi





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2013-12-30  3:24 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2013-12-30  3:24 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    13/12/30 03:24:05

  Modified:             ChangeLog toolchain.eclass
  Log:
  For 4.8+ C++ is always enabled. We should eventually drop the cxx USE flag,
  but who knows what that would break.

Revision  Changes    Path
1.1103               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1103&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1103&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1102&r2=1.1103

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1102
retrieving revision 1.1103
diff -u -r1.1102 -r1.1103
--- ChangeLog	29 Dec 2013 21:39:51 -0000	1.1102
+++ ChangeLog	30 Dec 2013 03:24:04 -0000	1.1103
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1102 2013/12/29 21:39:51 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1103 2013/12/30 03:24:04 dirtyepic Exp $
+
+  30 Dec 2013; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  For 4.8+ C++ is always enabled. We should eventually drop the cxx USE flag,
+  but who knows what that would break.
 
   29 Dec 2013; Andreas K. Huettel <dilfridge@gentoo.org> perl-app.eclass:
   Do not use subslots on dev-lang/perl in perl apps (as opposed to modules)



1.616                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.616&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.616&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.615&r2=1.616

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.615
retrieving revision 1.616
diff -u -r1.615 -r1.616
--- toolchain.eclass	28 Dec 2013 09:12:39 -0000	1.615
+++ toolchain.eclass	30 Dec 2013 03:24:04 -0000	1.616
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.615 2013/12/28 09:12:39 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.616 2013/12/30 03:24:04 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1932,6 +1932,7 @@
 
 is_cxx() {
 	gcc-lang-supported 'c++' || return 1
+	tc_version_is_at_least 4.8 && return 0
 	use cxx
 }
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-01-10 13:59 Magnus Granberg (zorry)
  0 siblings, 0 replies; 58+ messages in thread
From: Magnus Granberg (zorry) @ 2014-01-10 13:59 UTC (permalink / raw
  To: gentoo-commits

zorry       14/01/10 13:59:44

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add support for default ssp on >=gcc-4.8.2 #484714

Revision  Changes    Path
1.1111               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1111&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1111&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1110&r2=1.1111

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1110
retrieving revision 1.1111
diff -u -r1.1110 -r1.1111
--- ChangeLog	8 Jan 2014 08:38:10 -0000	1.1110
+++ ChangeLog	10 Jan 2014 13:59:44 -0000	1.1111
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1110 2014/01/08 08:38:10 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1111 2014/01/10 13:59:44 zorry Exp $
+
+  10 Jan 2014; Magnus Granberg <zorry@gentoo.org> toolchain.eclass:
+  Add support for default ssp on >=gcc-4.8.2 #484714
 
   08 Jan 2014; Patrick Lauer <patrick@gentoo.org> apache-2.eclass,
   python-utils-r1.eclass:



1.619                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.619&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.619&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.618&r2=1.619

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.618
retrieving revision 1.619
diff -u -r1.618 -r1.619
--- toolchain.eclass	31 Dec 2013 00:33:43 -0000	1.618
+++ toolchain.eclass	10 Jan 2014 13:59:44 -0000	1.619
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.618 2013/12/31 00:33:43 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.619 2014/01/10 13:59:44 zorry Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -473,7 +473,9 @@
 	do_gcc_PIE_patches
 	epatch_user
 
-	use hardened && make_gcc_hard
+	if ( tc_version_is_at_least 4.8.2 || use hardened ) && ! use vanilla ; then
+		make_gcc_hard
+	fi
 
 	# install the libstdc++ python into the right location
 	# http://gcc.gnu.org/PR51368
@@ -606,6 +608,12 @@
 		epatch "${WORKDIR}"/piepatch/def
 	fi
 
+	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
+}
+
+# configure to build with the hardened GCC specs as the default
+make_gcc_hard() {
+	
 	# we want to be able to control the pie patch logic via something other
 	# than ALL_CFLAGS...
 	sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
@@ -618,38 +626,38 @@
                         -i "${S}"/gcc/Makefile.in
 	fi
 
-	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
-}
-
-# configure to build with the hardened GCC specs as the default
-make_gcc_hard() {
-	# defaults to enable for all hardened toolchains
-	local gcc_hard_flags="-DEFAULT_RELRO -DEFAULT_BIND_NOW"
-
-	if hardened_gcc_works ; then
-		einfo "Updating gcc to use automatic PIE + SSP building ..."
-		gcc_hard_flags+=" -DEFAULT_PIE_SSP"
-	elif hardened_gcc_works pie ; then
-		einfo "Updating gcc to use automatic PIE building ..."
-		ewarn "SSP has not been enabled by default"
-		gcc_hard_flags+=" -DEFAULT_PIE"
-	elif hardened_gcc_works ssp ; then
-		einfo "Updating gcc to use automatic SSP building ..."
-		ewarn "PIE has not been enabled by default"
-		gcc_hard_flags+=" -DEFAULT_SSP"
+	# defaults to enable for all toolchains
+	local gcc_hard_flags=""
+	if use hardened ; then
+		if hardened_gcc_works ; then
+			einfo "Updating gcc to use automatic PIE + SSP building ..."
+			gcc_hard_flags+=" -DEFAULT_PIE_SSP"
+		elif hardened_gcc_works pie ; then
+			einfo "Updating gcc to use automatic PIE building ..."
+			ewarn "SSP has not been enabled by default"
+			gcc_hard_flags+=" -DEFAULT_PIE"
+		elif hardened_gcc_works ssp ; then
+			einfo "Updating gcc to use automatic SSP building ..."
+			ewarn "PIE has not been enabled by default"
+			gcc_hard_flags+=" -DEFAULT_SSP"
+		else
+			# do nothing if hardened is't supported, but don't die either
+			ewarn "hardened is not supported for this arch in this gcc version"
+			return 0
+		fi
+		# rebrand to make bug reports easier
+		BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
 	else
-		# do nothing if hardened isnt supported, but dont die either
-		ewarn "hardened is not supported for this arch in this gcc version"
-		ebeep
-		return 0
+		if hardened_gcc_works ssp ; then
+			einfo "Updating gcc to use automatic SSP building ..."
+			gcc_hard_flags+=" -DEFAULT_SSP"
+		fi
 	fi
 
 	sed -i \
 		-e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
 		"${S}"/gcc/Makefile.in || die
 
-	# rebrand to make bug reports easier
-	BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
 }
 
 # This is a historical wart.  The original Gentoo/amd64 port used:





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-01-13  6:02 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2014-01-13  6:02 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    14/01/13 06:02:35

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add EAPI 0 compatible USE defaults (bug #372663).

Revision  Changes    Path
1.1112               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1112&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1112&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1111&r2=1.1112

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1111
retrieving revision 1.1112
diff -u -r1.1111 -r1.1112
--- ChangeLog	10 Jan 2014 13:59:44 -0000	1.1111
+++ ChangeLog	13 Jan 2014 06:02:35 -0000	1.1112
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1111 2014/01/10 13:59:44 zorry Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1112 2014/01/13 06:02:35 dirtyepic Exp $
+
+  13 Jan 2014; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Add EAPI 0 compatible USE defaults (bug #372663).
 
   10 Jan 2014; Magnus Granberg <zorry@gentoo.org> toolchain.eclass:
   Add support for default ssp on >=gcc-4.8.2 #484714



1.620                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.620&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.620&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.619&r2=1.620

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.619
retrieving revision 1.620
diff -u -r1.619 -r1.620
--- toolchain.eclass	10 Jan 2014 13:59:44 -0000	1.619
+++ toolchain.eclass	13 Jan 2014 06:02:35 -0000	1.620
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.619 2014/01/10 13:59:44 zorry Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.620 2014/01/13 06:02:35 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -115,10 +115,12 @@
 
 #---->> SLOT+IUSE logic <<----
 
-IUSE="multislot nls nptl regression-test vanilla"
+IUSE="multislot regression-test vanilla"
+IUSE_DEF="nls nptl"
 
 if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
-	IUSE+=" altivec cxx fortran"
+	IUSE+=" altivec"
+	IUSE_DEF+=" cxx fortran"
 	[[ -n ${PIE_VER} ]] && IUSE+=" nopie"
 	[[ -n ${HTB_VER} ]] && IUSE+=" boundschecking"
 	[[ -n ${D_VER}   ]] && IUSE+=" d"
@@ -127,12 +129,15 @@
 	tc_version_is_at_least 4.0 && IUSE+=" objc-gc"
 	tc_version_is_between 4.0 4.9 && IUSE+=" mudflap"
 	tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
-	tc_version_is_at_least 4.2 && IUSE+=" openmp"
+	tc_version_is_at_least 4.2 && IUSE_DEF+=" openmp"
 	tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
 	tc_version_is_at_least 4.6 && IUSE+=" graphite"
 	tc_version_is_at_least 4.7 && IUSE+=" go"
 fi
 
+[[ ${EAPI:-0} != 0 ]] && IUSE_DEF="+${IUSE_DEF// / +}"
+IUSE+=" ${IUSE_DEF}"
+
 # Support upgrade paths here or people get pissed
 if use multislot ; then
 	SLOT="${GCC_CONFIG_VER}"





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-01-24  4:13 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2014-01-24  4:13 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    14/01/24 04:13:58

  Modified:             ChangeLog toolchain.eclass
  Log:
  Work around bug #357287.

Revision  Changes    Path
1.1128               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1128&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1128&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1127&r2=1.1128

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1127
retrieving revision 1.1128
diff -u -r1.1127 -r1.1128
--- ChangeLog	19 Jan 2014 21:13:08 -0000	1.1127
+++ ChangeLog	24 Jan 2014 04:13:58 -0000	1.1128
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1127 2014/01/19 21:13:08 moult Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1128 2014/01/24 04:13:58 dirtyepic Exp $
+
+  24 Jan 2014; Ryan Hill <dirtyepic@gentoo.org> toolchain.eclass:
+  Work around bug #357287.
 
   19 Jan 2014; Dion Moult <moult@gentoo.org> gtk-sharp-module.eclass:
   Change virtual/monodoc dependency to dev-lang/mono as the former is being



1.621                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.621&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.621&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.620&r2=1.621

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.620
retrieving revision 1.621
diff -u -r1.620 -r1.621
--- toolchain.eclass	13 Jan 2014 06:02:35 -0000	1.620
+++ toolchain.eclass	24 Jan 2014 04:13:58 -0000	1.621
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.620 2014/01/13 06:02:35 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.621 2014/01/24 04:13:58 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1245,6 +1245,9 @@
 		case $(tc-arch) in
 			amd64|x86)
 				filter-flags '-mcpu=*'
+				
+				tc_version_is_between 4.4 4.5 && append-flags -mno-avx # 357287
+				
 				if tc_version_is_between 4.6 4.7 ; then
 					# https://bugs.gentoo.org/411333
 					# https://bugs.gentoo.org/466454





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-02-02 23:43 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2014-02-02 23:43 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    14/02/02 23:43:49

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add downgrade_arch_flags() to automatically replace/strip unsupported -march
  and instruction set flags. Add testsuite.

Revision  Changes    Path
1.1136               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1136&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1136&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1135&r2=1.1136

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1135
retrieving revision 1.1136
diff -u -r1.1135 -r1.1136
--- ChangeLog	2 Feb 2014 12:15:05 -0000	1.1135
+++ ChangeLog	2 Feb 2014 23:43:48 -0000	1.1136
@@ -1,6 +1,11 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1135 2014/02/02 12:15:05 hasufell Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1136 2014/02/02 23:43:48 dirtyepic Exp $
+
+  02 Feb 2014; Ryan Hill <dirtyepic@gentoo.org> +tests/toolchain.sh,
+  toolchain.eclass:
+  Add downgrade_arch_flags() to automatically replace/strip unsupported -march
+  and instruction set flags. Add testsuite.
 
   02 Feb 2014; Julian Ospald <hasufell@gentoo.org> games.eclass:
   respect ECONF_SOURCE wrt #494210



1.622                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.622&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.622&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.621&r2=1.622

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.621
retrieving revision 1.622
diff -u -r1.621 -r1.622
--- toolchain.eclass	24 Jan 2014 04:13:58 -0000	1.621
+++ toolchain.eclass	2 Feb 2014 23:43:48 -0000	1.622
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.621 2014/01/24 04:13:58 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.622 2014/02/02 23:43:48 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -770,6 +770,7 @@
 #---->> src_configure <<----
 
 toolchain_src_configure() {
+	downgrade_arch_flags
 	gcc_do_filter_flags
 
 	einfo "CFLAGS=\"${CFLAGS}\""
@@ -1206,6 +1207,129 @@
 	popd > /dev/null
 }
 
+# Replace -m flags unsupported by the version being built with the best
+# available equivalent
+downgrade_arch_flags() {
+	local arch bver i isa myarch mytune rep ver
+
+	bver=${1:-${GCC_BRANCH_VER}}
+	[[ $(gcc-version) < ${bver} ]] && return 0
+
+	myarch=$(get-flag march)
+	mytune=$(get-flag mtune)
+
+	# If -march=native isn't supported we have to tease out the actual arch
+	if [[ ${myarch} == native || ${mytune} == native ]] ; then
+		if [[ ${bver} < "4.2" ]] ; then
+			arch=$(echo "" | $(tc-getCC) -march=native -v -E - 2>&1 \
+				 | grep cc1 | sed -e 's:.*-march=\([^ ]*\).*:\1:')
+			replace-cpu-flags native ${arch}
+		fi
+	fi
+
+	# Handle special -mtune flags
+	[[ ${mytune} == intel && ${bver} < "4.9" ]] && replace-cpu-flags intel generic
+	[[ ${mytune} == generic && ${bver} < "4.2" ]] && filter-flags '-mtune=*'
+	[[ ${mytune} == x86-64 ]] && filter-flags '-mtune=*'
+
+	declare -a archlist
+	# "arch" "added" "replacement"
+	archlist=("bdver4 4.9 bdver3")
+	archlist+=("bonnell 4.9 atom")
+	archlist+=("broadwell 4.9 core-avx2")
+	archlist+=("haswell 4.9 core-avx2")
+	archlist+=("ivybridge 4.9 core-avx-i")
+	archlist+=("nehalem 4.9 corei7")
+	archlist+=("sandybridge 4.9 corei7-avx")
+	archlist+=("silvermont 4.9 corei7")
+	archlist+=("westmere 4.9 corei7")
+	archlist+=("bdver3 4.8 bdver2")
+	archlist+=("btver2 4.8 btver1")
+	archlist+=("bdver2 4.7 bdver1")
+	archlist+=("core-avx2 4.7 core-avx-i")
+	archlist+=("bdver1 4.6 amdfam10")
+	archlist+=("btver1 4.6 amdfam10")
+	archlist+=("core-avx-i 4.6 core2")
+	archlist+=("corei7 4.6 core2")
+	archlist+=("corei7-avx 4.6 core2")
+	archlist+=("atom 4.5 core2")
+	archlist+=("amdfam10 4.3 k8")
+	archlist+=("athlon64-sse3 4.3 k8")
+	archlist+=("barcelona 4.3 k8")
+	archlist+=("core2 4.3 nocona")
+	archlist+=("geode 4.3 k6-2") # gcc.gnu.org/PR41989#c22
+	archlist+=("k8-sse3 4.3 k8")
+	archlist+=("opteron-sse3 4.3 k8")
+	archlist+=("athlon-fx 3.4 x86-64")
+	archlist+=("athlon64 3.4 x86-64")
+	archlist+=("c3-2 3.4 c3")
+	archlist+=("k8 3.4 x86-64")
+	archlist+=("opteron 3.4 x86-64")
+	archlist+=("pentium-m 3.4 pentium3")
+	archlist+=("pentium3m 3.4 pentium3")
+	archlist+=("pentium4m 3.4 pentium4")
+
+	myarch=$(get-flag march)
+	mytune=$(get-flag mtune)
+
+	for ((i=0; i < ${#archlist[@]}; i++)) ; do
+		arch=${archlist[i]%% *}
+		ver=${archlist[i]#* } ver=${ver% *}
+		rep=${archlist[i]##* }
+
+		[[ ${myarch} != ${arch} ]] && [[ ${mytune} != ${arch} ]] && continue
+		
+		if [[ ${ver} > ${bver} ]] ; then
+			einfo "Replacing ${myarch} (added in ${ver}) with ${rep}..."
+			[[ ${myarch} == ${arch} ]] && replace-cpu-flags ${myarch} ${rep}
+			[[ ${mytune} == ${arch} ]] && replace-cpu-flags ${mytune} ${rep}
+			downgrade_arch_flags ${1:-${GCC_BRANCH_VER}}
+			break
+		else
+			break
+		fi
+	done
+
+	declare -a isalist
+	isalist=("-msha 4.9")
+	isalist+=("-mavx512pf 4.9")
+	isalist+=("-mavx512f 4.9")
+	isalist+=("-mavx512er 4.9")
+	isalist+=("-mavx512cd 4.9")
+	isalist+=("-mxsaveopt 4.8")
+	isalist+=("-mxsave 4.8")
+	isalist+=("-mrtm 4.8")
+	isalist+=("-mfxsr 4.8")
+	isalist+=("-mlzcnt 4.7")
+	isalist+=("-mbmi2 4.7")
+	isalist+=("-mavx2 4.7")
+	isalist+=("-mtbm 4.6")
+	isalist+=("-mrdrnd 4.6")
+	isalist+=("-mfsgsbase 4.6")
+	isalist+=("-mf16c 4.6")
+	isalist+=("-mbmi 4.6")
+	isalist+=("-mxop 4.5")
+	isalist+=("-mlwp 4.5")
+	isalist+=("-mfma4 4.5")
+	isalist+=("-mpclmul 4.4")
+	isalist+=("-mfma 4.4")
+	isalist+=("-mavx 4.4")
+	isalist+=("-maes 4.4")
+	isalist+=("-mssse3 4.3")
+	isalist+=("-msse4a 4.3")
+	isalist+=("-msse4 4.3")
+	isalist+=("-msse4.2 4.3")
+	isalist+=("-msse4.1 4.3")
+	isalist+=("-mpopcnt 4.3")
+	isalist+=("-mabm 4.3")
+
+	for ((i=0; i < ${#isalist[@]}; i++)) ; do
+		isa=${isalist[i]%% *}
+		ver=${isalist[i]##* }
+		[[ ${ver} > ${bver} ]] && filter-flags ${isa} ${isa/-m/-mno-}
+	done
+}
+
 gcc_do_filter_flags() {
 	strip-flags
 	replace-flags -O? -O2
@@ -1217,23 +1341,10 @@
 
 	if tc_version_is_between 3.2 3.4 ; then
 		# XXX: this is so outdated it's barely useful, but it don't hurt...
-		replace-cpu-flags k8 athlon64 opteron x86-64
-		replace-cpu-flags pentium-m pentium3m pentium3
 		replace-cpu-flags G3 750
 		replace-cpu-flags G4 7400
 		replace-cpu-flags G5 7400
 
-		case $(tc-arch) in
-			amd64)
-				replace-cpu-flags core2 nocona
-				filter-flags '-mtune=*'
-				;;
-			x86)
-				replace-cpu-flags core2 prescott
-				filter-flags '-mtune=*'
-				;;
-		esac
-
 		# XXX: should add a sed or something to query all supported flags
 		#      from the gcc source and trim everything else ...
 		filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-02-05  6:18 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (dirtyepic) @ 2014-02-05  6:18 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    14/02/05 06:18:29

  Modified:             ChangeLog toolchain.eclass
  Log:
  Limit downgrading flags to amd64 and x86. Strip -mtune for < 3.4. Only
  worry about -mno* flags, -m* are removed by strip-flags. Add -mno-movbe.

Revision  Changes    Path
1.1137               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1137&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1137&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1136&r2=1.1137

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1136
retrieving revision 1.1137
diff -u -r1.1136 -r1.1137
--- ChangeLog	2 Feb 2014 23:43:48 -0000	1.1136
+++ ChangeLog	5 Feb 2014 06:18:29 -0000	1.1137
@@ -1,6 +1,11 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1136 2014/02/02 23:43:48 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1137 2014/02/05 06:18:29 dirtyepic Exp $
+
+  05 Feb 2014; Ryan Hill <dirtyepic@gentoo.org> tests/toolchain.sh,
+  toolchain.eclass:
+  Limit downgrading flags to amd64 and x86. Strip -mtune for < 3.4. Only
+  worry about -mno* flags, -m* are removed by strip-flags. Add -mno-movbe.
 
   02 Feb 2014; Ryan Hill <dirtyepic@gentoo.org> +tests/toolchain.sh,
   toolchain.eclass:



1.623                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.623&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.623&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.622&r2=1.623

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.622
retrieving revision 1.623
diff -u -r1.622 -r1.623
--- toolchain.eclass	2 Feb 2014 23:43:48 -0000	1.622
+++ toolchain.eclass	5 Feb 2014 06:18:29 -0000	1.623
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.622 2014/02/02 23:43:48 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.623 2014/02/05 06:18:29 dirtyepic Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1214,13 +1214,14 @@
 
 	bver=${1:-${GCC_BRANCH_VER}}
 	[[ $(gcc-version) < ${bver} ]] && return 0
+	[[ $(tc-arch) != amd64 && $(tc-arch) != x86 ]] && return 0
 
 	myarch=$(get-flag march)
 	mytune=$(get-flag mtune)
 
 	# If -march=native isn't supported we have to tease out the actual arch
 	if [[ ${myarch} == native || ${mytune} == native ]] ; then
-		if [[ ${bver} < "4.2" ]] ; then
+		if [[ ${bver} < 4.2 ]] ; then
 			arch=$(echo "" | $(tc-getCC) -march=native -v -E - 2>&1 \
 				 | grep cc1 | sed -e 's:.*-march=\([^ ]*\).*:\1:')
 			replace-cpu-flags native ${arch}
@@ -1228,9 +1229,10 @@
 	fi
 
 	# Handle special -mtune flags
-	[[ ${mytune} == intel && ${bver} < "4.9" ]] && replace-cpu-flags intel generic
-	[[ ${mytune} == generic && ${bver} < "4.2" ]] && filter-flags '-mtune=*'
+	[[ ${mytune} == intel && ${bver} < 4.9 ]] && replace-cpu-flags intel generic
+	[[ ${mytune} == generic && ${bver} < 4.2 ]] && filter-flags '-mtune=*'
 	[[ ${mytune} == x86-64 ]] && filter-flags '-mtune=*'
+	[[ ${bver} < 3.4 ]] && filter-flags '-mtune=*'
 
 	declare -a archlist
 	# "arch" "added" "replacement"
@@ -1277,7 +1279,7 @@
 		ver=${archlist[i]#* } ver=${ver% *}
 		rep=${archlist[i]##* }
 
-		[[ ${myarch} != ${arch} ]] && [[ ${mytune} != ${arch} ]] && continue
+		[[ ${myarch} != ${arch} && ${mytune} != ${arch} ]] && continue
 		
 		if [[ ${ver} > ${bver} ]] ; then
 			einfo "Replacing ${myarch} (added in ${ver}) with ${rep}..."
@@ -1291,42 +1293,44 @@
 	done
 
 	declare -a isalist
-	isalist=("-msha 4.9")
-	isalist+=("-mavx512pf 4.9")
-	isalist+=("-mavx512f 4.9")
-	isalist+=("-mavx512er 4.9")
-	isalist+=("-mavx512cd 4.9")
-	isalist+=("-mxsaveopt 4.8")
-	isalist+=("-mxsave 4.8")
-	isalist+=("-mrtm 4.8")
-	isalist+=("-mfxsr 4.8")
-	isalist+=("-mlzcnt 4.7")
-	isalist+=("-mbmi2 4.7")
-	isalist+=("-mavx2 4.7")
-	isalist+=("-mtbm 4.6")
-	isalist+=("-mrdrnd 4.6")
-	isalist+=("-mfsgsbase 4.6")
-	isalist+=("-mf16c 4.6")
-	isalist+=("-mbmi 4.6")
-	isalist+=("-mxop 4.5")
-	isalist+=("-mlwp 4.5")
-	isalist+=("-mfma4 4.5")
-	isalist+=("-mpclmul 4.4")
-	isalist+=("-mfma 4.4")
-	isalist+=("-mavx 4.4")
-	isalist+=("-maes 4.4")
-	isalist+=("-mssse3 4.3")
-	isalist+=("-msse4a 4.3")
-	isalist+=("-msse4 4.3")
-	isalist+=("-msse4.2 4.3")
-	isalist+=("-msse4.1 4.3")
-	isalist+=("-mpopcnt 4.3")
-	isalist+=("-mabm 4.3")
+	# we only check -mno* here since -m* get removed by strip-flags later on
+	isalist=("-mno-sha 4.9")
+	isalist+=("-mno-avx512pf 4.9")
+	isalist+=("-mno-avx512f 4.9")
+	isalist+=("-mno-avx512er 4.9")
+	isalist+=("-mno-avx512cd 4.9")
+	isalist+=("-mno-xsaveopt 4.8")
+	isalist+=("-mno-xsave 4.8")
+	isalist+=("-mno-rtm 4.8")
+	isalist+=("-mno-fxsr 4.8")
+	isalist+=("-mno-lzcnt 4.7")
+	isalist+=("-mno-bmi2 4.7")
+	isalist+=("-mno-avx2 4.7")
+	isalist+=("-mno-tbm 4.6")
+	isalist+=("-mno-rdrnd 4.6")
+	isalist+=("-mno-fsgsbase 4.6")
+	isalist+=("-mno-f16c 4.6")
+	isalist+=("-mno-bmi 4.6")
+	isalist+=("-mno-xop 4.5")
+	isalist+=("-mno-movbe 4.5")
+	isalist+=("-mno-lwp 4.5")
+	isalist+=("-mno-fma4 4.5")
+	isalist+=("-mno-pclmul 4.4")
+	isalist+=("-mno-fma 4.4")
+	isalist+=("-mno-avx 4.4")
+	isalist+=("-mno-aes 4.4")
+	isalist+=("-mno-ssse3 4.3")
+	isalist+=("-mno-sse4a 4.3")
+	isalist+=("-mno-sse4 4.3")
+	isalist+=("-mno-sse4.2 4.3")
+	isalist+=("-mno-sse4.1 4.3")
+	isalist+=("-mno-popcnt 4.3")
+	isalist+=("-mno-abm 4.3")
 
 	for ((i=0; i < ${#isalist[@]}; i++)) ; do
 		isa=${isalist[i]%% *}
 		ver=${isalist[i]##* }
-		[[ ${ver} > ${bver} ]] && filter-flags ${isa} ${isa/-m/-mno-}
+		[[ ${ver} > ${bver} ]] && filter-flags ${isa}
 	done
 }
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-03-16 18:38 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-03-16 18:38 UTC (permalink / raw
  To: gentoo-commits

rhill       14/03/16 18:38:37

  Modified:             ChangeLog toolchain.eclass
  Log:
  Update my src_uri.

Revision  Changes    Path
1.1177               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1177&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1177&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1176&r2=1.1177

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1176
retrieving revision 1.1177
diff -u -r1.1176 -r1.1177
--- ChangeLog	13 Mar 2014 08:10:46 -0000	1.1176
+++ ChangeLog	16 Mar 2014 18:38:37 -0000	1.1177
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1176 2014/03/13 08:10:46 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1177 2014/03/16 18:38:37 rhill Exp $
+
+  16 Mar 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  Update my src_uri.
 
   13 Mar 2014; Michał Górny <mgorny@gentoo.org> python-utils-r1.eclass:
   Add python_doexe() and python_newexe() to handle implementation-specific



1.624                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.624&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.624&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.623&r2=1.624

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.623
retrieving revision 1.624
diff -u -r1.623 -r1.624
--- toolchain.eclass	5 Feb 2014 06:18:29 -0000	1.623
+++ toolchain.eclass	16 Mar 2014 18:38:37 -0000	1.624
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.623 2014/02/05 06:18:29 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.624 2014/03/16 18:38:37 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -224,7 +224,7 @@
 )
 
 gentoo_urls() {
-	local devspace="HTTP~vapier/dist/URI HTTP~dirtyepic/dist/URI
+	local devspace="HTTP~vapier/dist/URI HTTP~rhill/dist/URI
 	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI"
 	devspace=${devspace//HTTP/http:\/\/dev.gentoo.org\/}
 	echo mirror://gentoo/$1 ${devspace//URI/$1}





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-05-15  5:18 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-05-15  5:18 UTC (permalink / raw
  To: gentoo-commits

rhill       14/05/15 05:18:33

  Modified:             ChangeLog toolchain.eclass
  Log:
  Allow parallel profiledbootstrap in newer versions (bug #508878 by Eric F.
  Garioud). Clean up a bit.

Revision  Changes    Path
1.1254               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1254&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1254&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1253&r2=1.1254

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1253
retrieving revision 1.1254
diff -u -r1.1253 -r1.1254
--- ChangeLog	15 May 2014 03:18:47 -0000	1.1253
+++ ChangeLog	15 May 2014 05:18:33 -0000	1.1254
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1253 2014/05/15 03:18:47 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1254 2014/05/15 05:18:33 rhill Exp $
+
+  15 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  Allow parallel profiledbootstrap in newer versions (bug #508878 by Eric F.
+  Garioud). Clean up a bit. 
 
   14 May 2014; Brian Evans <grknight@gentoo.org>
   mysql-cmake.eclass, mysql-v2.eclass:



1.625                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.625&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.625&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.624&r2=1.625

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.624
retrieving revision 1.625
diff -u -r1.624 -r1.625
--- toolchain.eclass	16 Mar 2014 18:38:37 -0000	1.624
+++ toolchain.eclass	15 May 2014 05:18:33 -0000	1.625
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.624 2014/03/16 18:38:37 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.625 2014/05/15 05:18:33 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1472,20 +1472,19 @@
 	[[ ! -x /usr/bin/perl ]] \
 		&& find "${WORKDIR}"/build -name '*.[17]' | xargs touch
 
-	einfo "Compiling ${PN} ..."
 	gcc_do_make ${GCC_MAKE_TARGET}
 }
 
 gcc_do_make() {
 	# This function accepts one optional argument, the make target to be used.
 	# If omitted, gcc_do_make will try to guess whether it should use all,
-	# profiledbootstrap, or bootstrap-lean depending on CTARGET and arch. An
-	# example of how to use this function:
+	# or bootstrap-lean depending on CTARGET and arch.
+	# An example of how to use this function:
 	#
 	#	gcc_do_make all-target-libstdc++-v3
-	#
-	# Set make target to $1 if passed
+
 	[[ -n ${1} ]] && GCC_MAKE_TARGET=${1}
+	
 	# default target
 	if is_crosscompile || tc-is-cross-compiler ; then
 		# 3 stage bootstrapping doesnt quite work when you cant run the
@@ -1495,13 +1494,11 @@
 		GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
 	fi
 
-	# the gcc docs state that parallel make isnt supported for the
-	# profiledbootstrap target, as collisions in profile collecting may occur.
+	# Older versions of GCC could not do profiledbootstrap in parallel due to
+	# collisions with profiling info.
 	# boundschecking also seems to introduce parallel build issues.
-	if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] ||
-	   use_if_iuse boundschecking
-	then
-		export MAKEOPTS="${MAKEOPTS} -j1"
+	if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] || use_if_iuse boundschecking ; then
+		! tc_version_is_at_least 4.6 && export MAKEOPTS="${MAKEOPTS} -j1"
 	fi
 
 	if [[ ${GCC_MAKE_TARGET} == "all" ]] ; then
@@ -1522,6 +1519,8 @@
 		BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
 	fi
 
+	einfo "Compiling ${PN} (${GCC_MAKE_TARGET})..."
+
 	pushd "${WORKDIR}"/build >/dev/null
 
 	emake \





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-05-20  7:39 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-05-20  7:39 UTC (permalink / raw
  To: gentoo-commits

rhill       14/05/20 07:39:28

  Modified:             ChangeLog toolchain.eclass
  Log:
  Depend on virtual/libintl rather than sys-devel/gettext (bug #499774).

Revision  Changes    Path
1.1258               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1258&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1258&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1257&r2=1.1258

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1257
retrieving revision 1.1258
diff -u -r1.1257 -r1.1258
--- ChangeLog	19 May 2014 05:00:34 -0000	1.1257
+++ ChangeLog	20 May 2014 07:39:28 -0000	1.1258
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1257 2014/05/19 05:00:34 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1258 2014/05/20 07:39:28 rhill Exp $
+
+  20 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  Depend on virtual/libintl rather than sys-devel/gettext (bug #499774).
 
   19 May 2014; Mike Gilbert <floppym@gentoo.org> distutils-r1.eclass:
   Work around bash-4.3 bug by setting PYTHONDONTWRITEBYTECODE to an empty



1.627                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.627&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.627&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.626&r2=1.627

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.626
retrieving revision 1.627
diff -u -r1.626 -r1.627
--- toolchain.eclass	18 May 2014 20:28:27 -0000	1.626
+++ toolchain.eclass	20 May 2014 07:39:28 -0000	1.627
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.626 2014/05/18 20:28:27 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.627 2014/05/20 07:39:28 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -148,7 +148,7 @@
 #---->> DEPEND <<----
 
 RDEPEND="sys-libs/zlib
-	nls? ( sys-devel/gettext )"
+	nls? ( virtual/libintl )"
 
 tc_version_is_at_least 3 && RDEPEND+=" virtual/libiconv"
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-05-20 10:41 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-05-20 10:41 UTC (permalink / raw
  To: gentoo-commits

rhill       14/05/20 10:41:23

  Modified:             ChangeLog toolchain.eclass
  Log:
  Strip -mno-rtm and -mno-htm as libitm requires these for x86/x86_64 and
  ppc/s390 respectively if supported by the assembler (bug #506202).

Revision  Changes    Path
1.1259               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1259&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1259&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1258&r2=1.1259

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1258
retrieving revision 1.1259
diff -u -r1.1258 -r1.1259
--- ChangeLog	20 May 2014 07:39:28 -0000	1.1258
+++ ChangeLog	20 May 2014 10:41:23 -0000	1.1259
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1258 2014/05/20 07:39:28 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1259 2014/05/20 10:41:23 rhill Exp $
+
+  20 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  Strip -mno-rtm and -mno-htm as libitm requires these for x86/x86_64 and
+  ppc/s390 respectively if supported by the assembler (bug #506202).
 
   20 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
   Depend on virtual/libintl rather than sys-devel/gettext (bug #499774).



1.628                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.628&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.628&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.627&r2=1.628

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.627
retrieving revision 1.628
diff -u -r1.627 -r1.628
--- toolchain.eclass	20 May 2014 07:39:28 -0000	1.627
+++ toolchain.eclass	20 May 2014 10:41:23 -0000	1.628
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.627 2014/05/20 07:39:28 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.628 2014/05/20 10:41:23 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1340,7 +1340,8 @@
 	# dont want to funk ourselves
 	filter-flags '-mabi*' -m31 -m32 -m64
 
-	filter-flags '-frecord-gcc-switches' # 490738
+	filter-flags -frecord-gcc-switches # 490738
+	filter-flags -mno-rtm -mno-htm # 506202
 
 	if tc_version_is_between 3.2 3.4 ; then
 		# XXX: this is so outdated it's barely useful, but it don't hurt...





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-05-21 20:39 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-05-21 20:39 UTC (permalink / raw
  To: gentoo-commits

rhill       14/05/21 20:39:21

  Modified:             ChangeLog toolchain.eclass
  Log:
  Revert libintl change. It turns out we need to depend on gettext anyways, so
  this change is pointless.

Revision  Changes    Path
1.1260               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1260&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1260&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1259&r2=1.1260

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1259
retrieving revision 1.1260
diff -u -r1.1259 -r1.1260
--- ChangeLog	20 May 2014 10:41:23 -0000	1.1259
+++ ChangeLog	21 May 2014 20:39:20 -0000	1.1260
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1259 2014/05/20 10:41:23 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1260 2014/05/21 20:39:20 rhill Exp $
+
+  21 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  Revert libintl change. It turns out we need to depend on gettext anyways, so
+  this change is pointless.
 
   20 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
   Strip -mno-rtm and -mno-htm as libitm requires these for x86/x86_64 and



1.629                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.629&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.629&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.628&r2=1.629

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.628
retrieving revision 1.629
diff -u -r1.628 -r1.629
--- toolchain.eclass	20 May 2014 10:41:23 -0000	1.628
+++ toolchain.eclass	21 May 2014 20:39:21 -0000	1.629
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.628 2014/05/20 10:41:23 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.629 2014/05/21 20:39:21 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -148,7 +148,7 @@
 #---->> DEPEND <<----
 
 RDEPEND="sys-libs/zlib
-	nls? ( virtual/libintl )"
+	nls? ( sys-devel/gettext )"
 
 tc_version_is_at_least 3 && RDEPEND+=" virtual/libiconv"
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-05-21 21:30 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-05-21 21:30 UTC (permalink / raw
  To: gentoo-commits

rhill       14/05/21 21:30:26

  Modified:             ChangeLog toolchain.eclass
  Log:
  Bug #499774, take 2.

Revision  Changes    Path
1.1261               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1261&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1261&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1260&r2=1.1261

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1260
retrieving revision 1.1261
diff -u -r1.1260 -r1.1261
--- ChangeLog	21 May 2014 20:39:20 -0000	1.1260
+++ ChangeLog	21 May 2014 21:30:26 -0000	1.1261
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1260 2014/05/21 20:39:20 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1261 2014/05/21 21:30:26 rhill Exp $
+
+  21 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  Bug #499774, take 2.
 
   21 May 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
   Revert libintl change. It turns out we need to depend on gettext anyways, so



1.630                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.630&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.630&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.629&r2=1.630

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.629
retrieving revision 1.630
diff -u -r1.629 -r1.630
--- toolchain.eclass	21 May 2014 20:39:21 -0000	1.629
+++ toolchain.eclass	21 May 2014 21:30:26 -0000	1.630
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.629 2014/05/21 20:39:21 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.630 2014/05/21 21:30:26 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -148,7 +148,7 @@
 #---->> DEPEND <<----
 
 RDEPEND="sys-libs/zlib
-	nls? ( sys-devel/gettext )"
+	nls? ( virtual/libintl )"
 
 tc_version_is_at_least 3 && RDEPEND+=" virtual/libiconv"
 
@@ -182,6 +182,7 @@
 DEPEND="${RDEPEND}
 	>=sys-devel/bison-1.875
 	>=sys-devel/flex-2.5.4
+	nls? ( sys-devel/gettext )
 	regression-test? (
 		>=dev-util/dejagnu-1.4.4
 		>=sys-devel/autogen-5.5.4





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-06-01 23:00 Ryan Hill (rhill)
  0 siblings, 0 replies; 58+ messages in thread
From: Ryan Hill (rhill) @ 2014-06-01 23:00 UTC (permalink / raw
  To: gentoo-commits

rhill       14/06/01 23:00:46

  Modified:             ChangeLog toolchain.eclass
  Log:
  If we keep the flag list sorted by version there's no need for this function
  to be recursive. This shaves a couple seconds off the worst-case runtime.

Revision  Changes    Path
1.1280               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1280&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1280&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1279&r2=1.1280

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1279
retrieving revision 1.1280
diff -u -r1.1279 -r1.1280
--- ChangeLog	1 Jun 2014 22:07:59 -0000	1.1279
+++ ChangeLog	1 Jun 2014 23:00:45 -0000	1.1280
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1279 2014/06/01 22:07:59 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1280 2014/06/01 23:00:45 rhill Exp $
+
+  01 Jun 2014; Ryan Hill <rhill@gentoo.org> toolchain.eclass:
+  If we keep the flag list sorted by version there's no need for this function
+  to be recursive. This shaves a couple seconds off the worst-case runtime.
 
   01 Jun 2014; Michał Górny <mgorny@gentoo.org> git-r3.eclass,
   +tests/git-r3:subrepos.sh:



1.632                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.632&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.632&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.631&r2=1.632

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.631
retrieving revision 1.632
diff -u -r1.631 -r1.632
--- toolchain.eclass	1 Jun 2014 17:29:42 -0000	1.631
+++ toolchain.eclass	1 Jun 2014 23:00:45 -0000	1.632
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.631 2014/06/01 17:29:42 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.632 2014/06/01 23:00:45 rhill Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1233,8 +1233,8 @@
 	[[ ${mytune} == x86-64 ]] && filter-flags '-mtune=*'
 	[[ ${bver} < 3.4 ]] && filter-flags '-mtune=*'
 
+	# "added" "arch" "replacement"
 	local archlist=(
-		# "added" "arch" "replacement"
 		4.9 bdver4 bdver3
 		4.9 bonnell atom
 		4.9 broadwell core-avx2
@@ -1271,10 +1271,10 @@
 		3.4 pentium4m pentium4
 	)
 
-	myarch=$(get-flag march)
-	mytune=$(get-flag mtune)
-
 	for ((i = 0; i < ${#archlist[@]}; i += 3)) ; do
+		myarch=$(get-flag march)
+		mytune=$(get-flag mtune)
+
 		ver=${archlist[i]}
 		arch=${archlist[i + 1]}
 		rep=${archlist[i + 2]}
@@ -1285,15 +1285,14 @@
 			einfo "Replacing ${myarch} (added in gcc ${ver}) with ${rep}..."
 			[[ ${myarch} == ${arch} ]] && replace-cpu-flags ${myarch} ${rep}
 			[[ ${mytune} == ${arch} ]] && replace-cpu-flags ${mytune} ${rep}
-			downgrade_arch_flags ${1:-${GCC_BRANCH_VER}}
-			break
+			continue
 		else
 			break
 		fi
 	done
 
+	# we only check -mno* here since -m* get removed by strip-flags later on
 	local isalist=(
-		# we only check -mno* here since -m* get removed by strip-flags later on
 		4.9 -mno-sha
 		4.9 -mno-avx512pf
 		4.9 -mno-avx512f





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-08-04 23:03 Magnus Granberg (zorry)
  0 siblings, 0 replies; 58+ messages in thread
From: Magnus Granberg (zorry) @ 2014-08-04 23:03 UTC (permalink / raw
  To: gentoo-commits

zorry       14/08/04 23:03:28

  Modified:             ChangeLog toolchain.eclass
  Log:
  Fix bug #513706 ssp only on gnu CTARGET's

Revision  Changes    Path
1.1338               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1338&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1338&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1337&r2=1.1338

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1337
retrieving revision 1.1338
diff -u -r1.1337 -r1.1338
--- ChangeLog	3 Aug 2014 17:08:27 -0000	1.1337
+++ ChangeLog	4 Aug 2014 23:03:28 -0000	1.1338
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1337 2014/08/03 17:08:27 maksbotan Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1338 2014/08/04 23:03:28 zorry Exp $
+
+  05 Aug 2014; Magnus Granberg <zorry@gentoo.org> toolchain.eclass:
+  Fix bug #513706 only use ssp on gnu CTARGETS
 
   03 Aug 2014; Maxim Koltsov <maksbotan@gentoo.org> leechcraft.eclass:
   Remove sourceforge SRC_URI for leechcraft packages, only leechcraft.org is



1.633                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.633&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.633&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.632&r2=1.633

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.632
retrieving revision 1.633
diff -u -r1.632 -r1.633
--- toolchain.eclass	1 Jun 2014 23:00:45 -0000	1.632
+++ toolchain.eclass	4 Aug 2014 23:03:28 -0000	1.633
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.632 2014/06/01 23:00:45 rhill Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.633 2014/08/04 23:03:28 zorry Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1133,7 +1133,9 @@
 		if use_if_iuse libssp ; then
 			confgcc+=( --enable-libssp )
 		else
-			export gcc_cv_libc_provides_ssp=yes
+			if hardened_gcc_is_stable ssp: then
+				export gcc_cv_libc_provides_ssp=yes
+			fi
 			confgcc+=( --disable-libssp )
 		fi
 
@@ -2161,7 +2163,7 @@
 	elif [[ $1 == "ssp" ]] ; then
 		if [[ ${CTARGET} == *-uclibc* ]] ; then
 			tocheck=${SSP_UCLIBC_STABLE}
-		else
+		elfi  [[ ${CTARGET} == *-gnu* ]] ; then
 			tocheck=${SSP_STABLE}
 		fi
 	else





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-08-05  1:41 Mike Gilbert (floppym)
  0 siblings, 0 replies; 58+ messages in thread
From: Mike Gilbert (floppym) @ 2014-08-05  1:41 UTC (permalink / raw
  To: gentoo-commits

floppym     14/08/05 01:41:01

  Modified:             ChangeLog toolchain.eclass
  Log:
  Another typo.

Revision  Changes    Path
1.1340               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1340&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1340&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1339&r2=1.1340

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1339
retrieving revision 1.1340
diff -u -r1.1339 -r1.1340
--- ChangeLog	5 Aug 2014 01:04:36 -0000	1.1339
+++ ChangeLog	5 Aug 2014 01:41:01 -0000	1.1340
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1339 2014/08/05 01:04:36 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1340 2014/08/05 01:41:01 floppym Exp $
+
+  05 Aug 2014; Mike Gilbert <floppym@gentoo.org> toolchain.eclass:
+  Another typo.
 
   05 Aug 2014; Robin H. Johnson <robbat2@gentoo.org> toolchain.eclass:
   Fix typo.



1.635                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.635&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.635&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.634&r2=1.635

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.634
retrieving revision 1.635
diff -u -r1.634 -r1.635
--- toolchain.eclass	5 Aug 2014 01:04:21 -0000	1.634
+++ toolchain.eclass	5 Aug 2014 01:41:01 -0000	1.635
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.634 2014/08/05 01:04:21 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.635 2014/08/05 01:41:01 floppym Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -1133,7 +1133,7 @@
 		if use_if_iuse libssp ; then
 			confgcc+=( --enable-libssp )
 		else
-			if hardened_gcc_is_stable ssp: then
+			if hardened_gcc_is_stable ssp; then
 				export gcc_cv_libc_provides_ssp=yes
 			fi
 			confgcc+=( --disable-libssp )





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2014-11-04  8:04 Justin Lecher (jlec)
  0 siblings, 0 replies; 58+ messages in thread
From: Justin Lecher (jlec) @ 2014-11-04  8:04 UTC (permalink / raw
  To: gentoo-commits

jlec        14/11/04 08:04:00

  Modified:             ChangeLog toolchain.eclass
  Log:
  Fix broken dependencies due to gcc multislotting, #528194, #528196

Revision  Changes    Path
1.1401               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1401&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1401&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1400&r2=1.1401

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1400
retrieving revision 1.1401
diff -u -r1.1400 -r1.1401
--- ChangeLog	2 Nov 2014 00:45:43 -0000	1.1400
+++ ChangeLog	4 Nov 2014 08:04:00 -0000	1.1401
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1400 2014/11/02 00:45:43 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1401 2014/11/04 08:04:00 jlec Exp $
+
+  04 Nov 2014; Justin Lecher <jlec@gentoo.org> toolchain.eclass:
+  Fix broken dependencies due to gcc multislotting, #528194, #528196
 
   02 Nov 2014; Andreas K. Huettel <dilfridge@gentoo.org> perl-app.eclass:
   Remove handling of EAPI=0,1,2 since that codepath cannot run anymore anyway



1.646                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.646&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.646&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.645&r2=1.646

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.645
retrieving revision 1.646
diff -u -r1.645 -r1.646
--- toolchain.eclass	2 Nov 2014 21:30:11 -0000	1.645
+++ toolchain.eclass	4 Nov 2014 08:04:00 -0000	1.646
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.645 2014/11/02 21:30:11 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.646 2014/11/04 08:04:00 jlec Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -155,7 +155,7 @@
 IUSE+=" ${IUSE_DEF[*]}"
 
 # Support upgrade paths here or people get pissed
-if ! tc_version_is_at_least 4.7 || use multislot ; then
+if use multislot ; then
 	SLOT="${GCC_CONFIG_VER}"
 else
 	SLOT="${GCC_BRANCH_VER}"





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2015-02-05 23:28 Anthony G. Basile (blueness)
  0 siblings, 0 replies; 58+ messages in thread
From: Anthony G. Basile (blueness) @ 2015-02-05 23:28 UTC (permalink / raw
  To: gentoo-commits

blueness    15/02/05 23:28:17

  Modified:             ChangeLog toolchain.eclass
  Log:
  Restore the old way of dealing with fixed includes for bsd, bug #536878.

Revision  Changes    Path
1.1522               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1522&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1522&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1521&r2=1.1522

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1521
retrieving revision 1.1522
diff -u -r1.1521 -r1.1522
--- ChangeLog	4 Feb 2015 09:44:24 -0000	1.1521
+++ ChangeLog	5 Feb 2015 23:28:17 -0000	1.1522
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1521 2015/02/04 09:44:24 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1522 2015/02/05 23:28:17 blueness Exp $
+
+  05 Feb 2015; Anthony G. Basile <blueness@gentoo.org> toolchain.eclass:
+  Restore the old way of dealing with fixed includes for bsd, bug #536878.
 
   04 Feb 2015; Ulrich Müller <ulm@gentoo.org> git-r3.eclass:
   Respect the EVCS_UMASK variable to override the default umask when writing



1.649                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.649&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.649&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.648&r2=1.649

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.648
retrieving revision 1.649
diff -u -r1.648 -r1.649
--- toolchain.eclass	21 Jan 2015 21:59:31 -0000	1.648
+++ toolchain.eclass	5 Feb 2015 23:28:17 -0000	1.649
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.648 2015/01/21 21:59:31 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.649 2015/02/05 23:28:17 blueness Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -595,15 +595,6 @@
 				einfo "  ${f%%...}"
 			done
 	fi
-
-	# We don't need fixed header files.  This is a gcc hack for dealing with broken
-	# (ie non-ansi compliant) header files on old unix systems.  On modern systems,
-	# these "fixed" headers are known to break things.  We just stub them out.
-	if tc_version_is_at_least 4.0; then
-		echo : > "${S}"/fixincludes/fixinc.in || die
-	else
-		echo : > "${S}"/gcc/fixinc/fixincl.sh || die
-	fi
 }
 
 guess_patch_type_in_dir() {
@@ -1607,6 +1598,9 @@
 toolchain_src_install() {
 	cd "${WORKDIR}"/build
 
+	# Do allow symlinks in private gcc include dir as this can break the build
+	find gcc/include*/ -type l -delete
+
 	# Copy over the info pages.  We disabled their generation earlier, but the
 	# build system only expects to install out of the build dir, not the source.  #464008
 	mkdir -p gcc/doc
@@ -1617,6 +1611,17 @@
 		fi
 	done
 
+	# We remove the generated fixincludes, as they can cause things to break
+	# (ncurses, openssl, etc).  We do not prevent them from being built, as
+	# in the following commit which we revert:
+	# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.647&r2=1.648
+	# This is because bsd userland needs fixedincludes to build gcc, while
+	# linux does not.  Both can dispose of them afterwards.
+	while read x ; do
+		grep -q 'It has been auto-edited by fixincludes from' "${x}" \
+			&& rm -f "${x}"
+	done < <(find gcc/include*/ -name '*.h')
+
 	# Do the 'make install' from the build directory
 	S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die
 





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2015-02-10  0:34 Anthony G. Basile (blueness)
  0 siblings, 0 replies; 58+ messages in thread
From: Anthony G. Basile (blueness) @ 2015-02-10  0:34 UTC (permalink / raw
  To: gentoo-commits

blueness    15/02/10 00:34:08

  Modified:             ChangeLog toolchain.eclass
  Log:
  Add my devspace to the gentoo_urls for toolchain.eclass

Revision  Changes    Path
1.1525               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1525&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1525&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1524&r2=1.1525

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1524
retrieving revision 1.1525
diff -u -r1.1524 -r1.1525
--- ChangeLog	9 Feb 2015 12:53:37 -0000	1.1524
+++ ChangeLog	10 Feb 2015 00:34:08 -0000	1.1525
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1524 2015/02/09 12:53:37 haubi Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1525 2015/02/10 00:34:08 blueness Exp $
+
+  10 Feb 2015; Anthony G. Basile <blueness@gentoo.org> toolchain.eclass:
+  Add my devspace to the gentoo_urls for toolchain.eclass
 
   09 Feb 2015; Michael Haubenwallner <haubi@gentoo.org>
   +ELT-patches/aixrtl/2.0.0-fpic-c, +ELT-patches/aixrtl/2.0.0-fpic-cxx:



1.651                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.651&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.651&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.650&r2=1.651

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.650
retrieving revision 1.651
diff -u -r1.650 -r1.651
--- toolchain.eclass	9 Feb 2015 20:05:07 -0000	1.650
+++ toolchain.eclass	10 Feb 2015 00:34:08 -0000	1.651
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.650 2015/02/09 20:05:07 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.651 2015/02/10 00:34:08 blueness Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -242,7 +242,8 @@
 
 gentoo_urls() {
 	local devspace="HTTP~vapier/dist/URI HTTP~rhill/dist/URI
-	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI"
+	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI
+	HTTP~blueness/dist/URI"
 	devspace=${devspace//HTTP/http:\/\/dev.gentoo.org\/}
 	echo mirror://gentoo/$1 ${devspace//URI/$1}
 }





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2015-02-10  0:46 Anthony G. Basile (blueness)
  0 siblings, 0 replies; 58+ messages in thread
From: Anthony G. Basile (blueness) @ 2015-02-10  0:46 UTC (permalink / raw
  To: gentoo-commits

blueness    15/02/10 00:46:32

  Modified:             ChangeLog toolchain.eclass
  Log:
  Remove halcy0n from the gentoo_urls for toolchain.eclass, per his instructions.

Revision  Changes    Path
1.1526               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1526&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1526&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1525&r2=1.1526

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1525
retrieving revision 1.1526
diff -u -r1.1525 -r1.1526
--- ChangeLog	10 Feb 2015 00:34:08 -0000	1.1525
+++ ChangeLog	10 Feb 2015 00:46:32 -0000	1.1526
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1525 2015/02/10 00:34:08 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1526 2015/02/10 00:46:32 blueness Exp $
+
+  10 Feb 2015; Anthony G. Basile <blueness@gentoo.org> toolchain.eclass:
+  Remove halcy0n from the gentoo_urls for toolchain.eclass, per his
+  instructions.
 
   10 Feb 2015; Anthony G. Basile <blueness@gentoo.org> toolchain.eclass:
   Add my devspace to the gentoo_urls for toolchain.eclass



1.652                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.652&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.652&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.651&r2=1.652

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.651
retrieving revision 1.652
diff -u -r1.651 -r1.652
--- toolchain.eclass	10 Feb 2015 00:34:08 -0000	1.651
+++ toolchain.eclass	10 Feb 2015 00:46:32 -0000	1.652
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.651 2015/02/10 00:34:08 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.652 2015/02/10 00:46:32 blueness Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -242,8 +242,7 @@
 
 gentoo_urls() {
 	local devspace="HTTP~vapier/dist/URI HTTP~rhill/dist/URI
-	HTTP~halcy0n/patches/URI HTTP~zorry/patches/gcc/URI
-	HTTP~blueness/dist/URI"
+	HTTP~zorry/patches/gcc/URI HTTP~blueness/dist/URI"
 	devspace=${devspace//HTTP/http:\/\/dev.gentoo.org\/}
 	echo mirror://gentoo/$1 ${devspace//URI/$1}
 }





^ permalink raw reply	[flat|nested] 58+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
@ 2015-02-10  7:22 Justin Lecher (jlec)
  0 siblings, 0 replies; 58+ messages in thread
From: Justin Lecher (jlec) @ 2015-02-10  7:22 UTC (permalink / raw
  To: gentoo-commits

jlec        15/02/10 07:22:00

  Modified:             ChangeLog toolchain.eclass
  Log:
  Revert unreviewed commit which breaks the tree

Revision  Changes    Path
1.1527               eclass/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1527&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1527&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1526&r2=1.1527

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1526
retrieving revision 1.1527
diff -u -r1.1526 -r1.1527
--- ChangeLog	10 Feb 2015 00:46:32 -0000	1.1526
+++ ChangeLog	10 Feb 2015 07:22:00 -0000	1.1527
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1526 2015/02/10 00:46:32 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1527 2015/02/10 07:22:00 jlec Exp $
+
+  10 Feb 2015; Justin Lecher <jlec@gentoo.org> toolchain.eclass:
+  Revert unreviewed commit which breaks the tree
 
   10 Feb 2015; Anthony G. Basile <blueness@gentoo.org> toolchain.eclass:
   Remove halcy0n from the gentoo_urls for toolchain.eclass, per his



1.653                eclass/toolchain.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.653&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.653&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.652&r2=1.653

Index: toolchain.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v
retrieving revision 1.652
retrieving revision 1.653
diff -u -r1.652 -r1.653
--- toolchain.eclass	10 Feb 2015 00:46:32 -0000	1.652
+++ toolchain.eclass	10 Feb 2015 07:22:00 -0000	1.653
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.652 2015/02/10 00:46:32 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.653 2015/02/10 07:22:00 jlec Exp $
 
 # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
 
@@ -155,7 +155,7 @@
 IUSE+=" ${IUSE_DEF[*]}"
 
 # Support upgrade paths here or people get pissed
-if ! tc_version_is_at_least 4.6 || is_crosscompile || use multislot ; then
+if use multislot ; then
 	SLOT="${GCC_CONFIG_VER}"
 else
 	SLOT="${GCC_BRANCH_VER}"





^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2015-02-10  7:22 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-10  0:34 [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass Anthony G. Basile (blueness)
  -- strict thread matches above, loose matches on Subject: below --
2015-02-10  7:22 Justin Lecher (jlec)
2015-02-10  0:46 Anthony G. Basile (blueness)
2015-02-05 23:28 Anthony G. Basile (blueness)
2014-11-04  8:04 Justin Lecher (jlec)
2014-08-05  1:41 Mike Gilbert (floppym)
2014-08-04 23:03 Magnus Granberg (zorry)
2014-06-01 23:00 Ryan Hill (rhill)
2014-05-21 21:30 Ryan Hill (rhill)
2014-05-21 20:39 Ryan Hill (rhill)
2014-05-20 10:41 Ryan Hill (rhill)
2014-05-20  7:39 Ryan Hill (rhill)
2014-05-15  5:18 Ryan Hill (rhill)
2014-03-16 18:38 Ryan Hill (rhill)
2014-02-05  6:18 Ryan Hill (dirtyepic)
2014-02-02 23:43 Ryan Hill (dirtyepic)
2014-01-24  4:13 Ryan Hill (dirtyepic)
2014-01-13  6:02 Ryan Hill (dirtyepic)
2014-01-10 13:59 Magnus Granberg (zorry)
2013-12-30  3:24 Ryan Hill (dirtyepic)
2013-12-28  9:12 Ryan Hill (dirtyepic)
2013-12-28  8:52 Ryan Hill (dirtyepic)
2013-12-28  8:11 Ryan Hill (dirtyepic)
2013-12-28  3:48 Ryan Hill (dirtyepic)
2013-12-27 22:10 Ryan Hill (dirtyepic)
2013-12-23 21:41 Ryan Hill (dirtyepic)
2013-12-21 11:59 Ryan Hill (dirtyepic)
2013-12-19  6:00 Ryan Hill (dirtyepic)
2013-11-25  3:11 Ryan Hill (dirtyepic)
2013-11-09 10:05 Ryan Hill (dirtyepic)
2013-11-09  7:49 Ryan Hill (dirtyepic)
2013-11-07  3:19 Ryan Hill (dirtyepic)
2013-11-05  5:21 Ryan Hill (dirtyepic)
2013-10-15  5:36 Ryan Hill (dirtyepic)
2013-08-15  4:39 Ryan Hill (dirtyepic)
2013-08-10  7:41 Ryan Hill (dirtyepic)
2013-08-10  4:25 Ryan Hill (dirtyepic)
2013-07-24  1:34 Ryan Hill (dirtyepic)
2013-07-18 23:45 Ryan Hill (dirtyepic)
2013-05-15  5:42 Ryan Hill (dirtyepic)
2013-05-15  0:56 Ryan Hill (dirtyepic)
2013-05-15  0:55 Ryan Hill (dirtyepic)
2013-05-09  3:03 Ryan Hill (dirtyepic)
2013-04-05  5:23 Ryan Hill (dirtyepic)
2013-03-16  5:44 Ryan Hill (dirtyepic)
2013-01-15  2:30 Ryan Hill (dirtyepic)
2012-03-22  6:07 Ryan Hill (dirtyepic)
2012-03-10 21:21 Ryan Hill (dirtyepic)
2012-03-10 20:48 Ryan Hill (dirtyepic)
2012-03-10 20:01 Ryan Hill (dirtyepic)
2012-03-10 19:32 Ryan Hill (dirtyepic)
2012-03-10 17:49 Ryan Hill (dirtyepic)
2012-03-03  2:29 Ryan Hill (dirtyepic)
2012-02-20  7:18 Ryan Hill (dirtyepic)
2012-02-12 14:17 Magnus Granberg (zorry)
2012-01-17 16:05 Magnus Granberg (zorry)
2011-12-07  0:29 Ryan Hill (dirtyepic)
2011-11-21  1:43 Ryan Hill (dirtyepic)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox