public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alexey Shvetsov" <alexxy@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/
Date: Mon, 28 Mar 2016 09:19:00 +0000 (UTC)	[thread overview]
Message-ID: <1459156730.d50abfc22a82f0fb2cd49e66d7343787dcecc574.alexxy@gentoo> (raw)

commit:     d50abfc22a82f0fb2cd49e66d7343787dcecc574
Author:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 28 09:18:50 2016 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Mon Mar 28 09:18:50 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d50abfc2

Add gcc-4.9.3 for amd64-linux and x86-linux, other targets may not work

Package-Manager: portage-2.2.28-prefix
RepoMan-Options: --force

 sys-devel/gcc/Manifest         |  27 ++---
 sys-devel/gcc/gcc-4.9.3.ebuild | 223 +++++++++++++++++++++++++++++++++++++++++
 sys-devel/gcc/metadata.xml     |   1 +
 3 files changed, 230 insertions(+), 21 deletions(-)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 84ec996..d845a1d 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
 AUX 3.3.4/libffi-without-libgcj.patch 890 SHA256 a422ebf05e279bdcb15627363af8101e4d6a54ca037d6da11c13b4768799d974 SHA512 6204588808a37a13dffc8c6bdf70eb453107413d0c8fffddeb360444e3e605f1ceb42c41905cfa1c4f9cbb1b22dc290e68d2728dbddb0f4d0406dd8dca6789a0 WHIRLPOOL 7260ba32fc7d60f1fa4d8667c929e16f3bdf9fe953c823c5b6876d4fea4d4fed52e67aec92cbb599d6327eac009bc4fbbc06ba85acf9848bf346384af0523363
 AUX 3.3.6/gcc-3.3.6-cross-compile.patch 2202 SHA256 00e5152f211a2c0892ba4f5a7ebb078c1d5d1dfc77bd0ba81ab8dfcd2924ffb3 SHA512 0d81d516a3635eb303d8f75099bf8fbbf1ffcd771c9cb4a770a55189232ed53e15728191a3e8c5339cc1562bbe4bcaa4b6c0d1c1d264287216abe715ca734829 WHIRLPOOL 579e035254ed4500acdbf23872e0b30d81b914f080054dbe7ebd16c483a0fb6bd787b41d570c0f1338dc8e3c5f03dceb94cfadc6d73d68fb230d839f896142f2
 AUX 3.4.3/libffi-nogcj-lib-path-fix.patch 1691 SHA256 030e2c9f31b325ea975792bdfee88272d1065b8794511410dc30bd2caf8b3451 SHA512 001e3c1c585c3ab641a540eb5502788dd1151cb66fc9f0196ae79e3ad7f01a291812511bd19114fdffc9d8b71987623f1dcccefed3546cb9e0f0e6abd55f093c WHIRLPOOL ffda82e69885c7691f7746188f3565dd90fa9a33be1426155ccf8f5cc40f910ac8bdac14accef120c379bbddc589732028cff94377a6bfffc080789d7a825d15
@@ -170,6 +167,10 @@ DIST gcc-4.8.5-patches-1.3.tar.bz2 26025 SHA256 4a165e6a387421f581f49c742243bf01
 DIST gcc-4.8.5-piepatches-v0.6.2.tar.bz2 14265 SHA256 3a823af1b4c590076b95790614d49448dc0ee6ff0ace221f2dacd9033b58eac7 SHA512 cd6af4047d4719dae9dbe86ce5342c7d8ddec38aad032486713b08e1b0cb711f5ca017e08d583137d51b8d4ef673366ba310e71bca7b49b82e9314781d6e9d99 WHIRLPOOL ca1d0a9cb9abdfddd95d433b2f0424fd7cc9d514cf4c91fb266af4c43e26e0b3084adfae0eb5c998dbee83551e916dba3cf438b338f7e4ac1a133f06018e398d
 DIST gcc-4.8.5-uclibc-patches-1.0.tar.bz2 2976 SHA256 3654cc2bb47173b9d40650374c465a0798faab53be5ee4446389af1acd610a27 SHA512 5469128eab06525915c75241797ad9ec4b63072ebfd5e110319bf810633cf3fbed39bbda4f6a0c74e537b248e7642780ecbe2086ad10be6e66b7dd289fa6534f WHIRLPOOL d5e11a7d83d11455d84deaa464b8cde0865c730cc140daa5d7b0e700a79f188c6efba88b1c5704b20ede2dca701fb88cf581bada2f4352fbd0e0a5571c436612
 DIST gcc-4.8.5.tar.bz2 86165587 SHA256 22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23 SHA512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea WHIRLPOOL 026253cd2f3706871dfe2525c0302b38b3f513f6a62666d0ba0ca2e62d6513f09ad5c1177f2a63ae3bad660fe60e7909b6930d26df2b367b9ec68e14552c6e11
+DIST gcc-4.9.3-patches-1.5.tar.bz2 25384 SHA256 e1c43125fab5a4db1997a01b362b3611907c9020e41a591e5eb2f5669f216538 SHA512 d266790b1f537c7c3de459cc67f9151b77b16b1e36780c3d2a02f2e4627d5a0f8f6430d7092bbfa6f9a4667c02170d3ce75b0453b6facc94998d414e58f4a1e1 WHIRLPOOL 31b4d54f0858f5673d76590ac822e097ddf799d4eafba81c1378af7cbaadd7be8634297ca9f900a78f7382ebfa9626a40e12ca7c06eff88431de04ddd4d2cec0
+DIST gcc-4.9.3-piepatches-v0.6.4.tar.bz2 14431 SHA256 012c3025ac2e14781ff25028c0b1d42a07f510b125006116e268bcd90fb6c9db SHA512 3bbeacbca5e8ef6ab0b1d58add42f5e8e82328afe024666f9585b5398c8722e7d012abfd2009a98ad47b1f1b26afaf421402a9e7719a5662516b32dcbe5608be WHIRLPOOL 9e68d981aed42ece2f481f62efc078ad370ac780e96ba39c4273c8675d552b845cd52c588bd41839868f430b0a532789858914f4ef32a1bc187e2983264ebfd3
+DIST gcc-4.9.3-uclibc-patches-1.0.tar.bz2 2515 SHA256 dd19904d4ab005ef142056228f326e75b3d4d79b8056189a505129b5940a575c SHA512 825092620a3c554ef06219fd1152c3677f1456315563b9e65282a73096e75600389e93298ed76cad41ce3eeecc6a7009ca722585b93c04095bd2d0a06c4404e6 WHIRLPOOL 0c184a5cc74f80a61f354ee85bc5a0f5b44d93bc9fa2e1892fbfe899958cfa5263b8b72cc4f905bc69bd1cc90cf870a6056c4003ec493b815646a72a0fe2e44e
+DIST gcc-4.9.3.tar.bz2 90006707 SHA256 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e SHA512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df WHIRLPOOL 085e4cc1825b031652cbe9e098671f761acfeca64c6cc9b8ad2a8961c13fcac9e02b4538b44dc38181a355266f2c55c99ce5a1bff3f2860b870285cf3f0e84a5
 DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a SHA512 9aec7e4b102e602dfb61cd09ea4b4a96af637ceb3d726235261d09ebd35dbd416abcbfe0e46918e48474bd241fe9bb29abc145a65aa834669295aaee4fca0686 WHIRLPOOL 22322b0c3e2d67b3b37bd7fa92a29c593688f934d4ffd62b9cc87eb63a44a4f8bbc9d75cadf11209c73bdc9942c9b4430036629d0eefcd04de9055c502b85f12
 EBUILD gcc-3.3.6-r1.ebuild 1566 SHA256 082642502bbf553488c3ee03237b3e3e65501d2d6a5a22b257db5deb0577ba84 SHA512 f9a918a7aa71112a915ca34bd828b5d597996fe689286a5944af28f56bc5fd31854b8842b4f8229c9c985b966c9a5701dfb8229eed710d190c6ea5e266de45e1 WHIRLPOOL f8b7e78ceb86c5f72096550d1475d6dec736e4232cc0eba618a7a2a225bbcd02f6471d0ca96f59df14e0f6620d0f1e2be37d2b0bad59114808cec6d43ac10359
 EBUILD gcc-3.4.6-r2.ebuild 2859 SHA256 44fb15ae2432f0e9b7dade84f2a62bded9eaa7b8eb66d2ce58f6e018da1da148 SHA512 b46770083d5479f190b24191efe3b921b4d6bf56fd5d536d7fc31a87cf280c08f415b30d0da6aa75592f1fbbe19d59f8dd378c5b9dcca18d94b75450dfaf940f WHIRLPOOL 0809cfec23b5d03e7f4df07d415adeab8dd38f16e6085693478503586814c910211c2e316dd54a8674eb2708c48e25e571910ec03f8c43d22d8ca0ac541fb016
@@ -181,21 +182,5 @@ EBUILD gcc-4.8.2-r1.ebuild 5790 SHA256 74387032c8d6bfbde20f63160c7bc1b4c3040c874
 EBUILD gcc-4.8.3.ebuild 7107 SHA256 5cdf1a0c8ee008d6666e897e3fa64ed5b8d6a009abbfa852189411b76dac80af SHA512 879c57a18c94702fd46634390f938a92d412d9edd6231524f3b229849e2be95e088df7168ff1ef380250ad95c4d21b18d8e72be2f9241d4275fdf68e2d474016 WHIRLPOOL abad11c645d96e230df3376cbb13027dce62eeede7f218a81121e0688e7fb441d0142746794ac2f9e481e559345fdfc28df93df316531ac643a323f29ea2b10e
 EBUILD gcc-4.8.4.ebuild 8643 SHA256 b4ccdc37c6b636c146b5b39a2cad2783185aca51301278b85b69d9dc65c3a0e7 SHA512 b8a22cdba511afbee1ecc46b9a1c9c8e66e4f98dbc6dc29dbdccdd89be6de84bf6eb91d63d3189aa3f0249f0a9a38197fa7cdf4d92a5c003139e03eced82c9fb WHIRLPOOL 0b28fd2a6062f4a1f1a835f9030cb9efcf36b7fc1f170547c95b909029f1ff30809e5abb7163fe4250903170ea43a169263d5192e180a5844c0868b938a2996d
 EBUILD gcc-4.8.5.ebuild 8535 SHA256 4381d44c25863f5946a734d762d2c7aaa1df08d23e201b86bbd0eb211e6113a5 SHA512 31b616602d7b0d7bdd90fea4cd67af5ae76d85e0df638be358ddbe6f0cdc95e7fdd6b767089b8d6370216ef533773387a561d7beb77b362a38878aba09c51dcb WHIRLPOOL dd8b63dd0054f83030f7ec22f1a1856b27b41d139cd68d089a66a3e8e61519e35098843e4c685c0a55332e0a46c87785e04c4a93ffb7928f3798a0f9c3582b27
-MISC metadata.xml 2013 SHA256 908c83d1adcb78c343319c0730554e914cd8bc9fa1cf81b1eb86de338372d9df SHA512 36ea07edc9590441d66d49a9a61bd4849c15fac0e23cb49774af8d0b9ba8af4dc9c55ed303535ad6ac3fbdc7dc82f1df01bcdad5320bfef7451633a09b966b12 WHIRLPOOL 87a1601ac7ab333b6fb489458502d0918745b3d8d1e3b7d8ba28a4effc05ef2cac13c580cd28d829cfc0cc421f17c2b82ddb59decb09e24751a1665a409b2625
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
-
-iQIcBAEBCAAGBQJWsheDAAoJEL1o0fmaVRJjVqEP/ikp/3WHJn7WgOqp46uYFxsu
-FsUu083YARq8dhXPibWAaI5tPg2b/KYQpltPW7GMlEDRjVbMzOED3kZjVwARJicc
-j1Vy3E3RbK2aYr3YxNcxqEab8r3z1dnJsXJFnn3WFaKRfutWdPT32STagggeAKKy
-+56Zsm2yZkquWfnkze5YH/8e0H3X/R+ctcGsTD2uEreidSvJEpqDaSQxidacBXIL
-OvGRch7EAQyNkaENkTnC3LgLc3iwxUw39R7RwGjWGEY9Z/Mi7WiCzBir9WvFFUQZ
-r1WKRATOn9TA5OJPldWTY5Ng9V1O9xMgDiWJiEzWQ+T//9E6SyLdFcYKRGl9dfHV
-lsrMPbpERhBz5ao8mTizq+JNoyzKmPv8LwjlF6HQJAMsGcIiCiZDjvV6G1d4fGvI
-6GUtTHF+wTYL4LXpE5Y3/oOLl/dXEvCI7quqFfuBR/TpN5aLLWngIf7I3ZxEp1IA
-PAASJ/P8fyPODmLaD3RjfH5rWRp8LusVOp+mt1U5WKSz9lgrCtHwEW3wj3De967o
-v8rpJ5oVwOg0JUUBUtlZLWn85TM6OrgKLom1r0wJNlRrEp3iGm78V0fvoaxdE2qK
-dLkF13UbSKgVkt1x+ndUlISzYABJ3BNpTTkV1XIuvVTXJ0Wl8Ne+4LL4yopfP04W
-HEcHtpLI7ylVHF81mssN
-=Y0bo
------END PGP SIGNATURE-----
+EBUILD gcc-4.9.3.ebuild 8543 SHA256 974812789b55baa32fa6488901640296008c8acd5306c5a3f3a6810dcb31a477 SHA512 5be1e108628c3b55a247c9c294ca565820338c62a90415419b14109ed861a62c8890bb575015f0ddaeba72c50c4414fe76a291e34de30b67faa1b0eee1636c15 WHIRLPOOL fb0c95fbfcf21f470f2f3486bd9bde6f2d8d09fda9dd11094df0f9b322902b003feb95f6ec92fa41fec897464f0c625aef289f7db6f96d0875a817386f8859e4
+MISC metadata.xml 2104 SHA256 5dcf06d42915f02cbddf322357fe52751f11c662509f092fef4f08d8b62ee907 SHA512 13ce1f8c30004bd8a665b5013c0c9121012ee8761b6b1aff40bdb27497355001df429a1441e27163f5d9e317ad686dc7fedbe96b4ee7b6cfac4bb0b52730e324 WHIRLPOOL bc7414ee329885a6dd525f3ace571b0569e44e7b0c8839f275a2f7898559f833173932f61587f781c13887535c088a259c55e3dac282bd946ce4d2c5f2023111

diff --git a/sys-devel/gcc/gcc-4.9.3.ebuild b/sys-devel/gcc/gcc-4.9.3.ebuild
new file mode 100644
index 0000000..f7eee9c
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.9.3.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PATCH_VER="1.5"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.4"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit eutils toolchain flag-o-matic
+
+#KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )
+	kernel_linux? ( >=${CATEGORY}/binutils-2.20 )
+	kernel_Darwin? ( ${CATEGORY}/binutils-apple )
+	kernel_AIX? ( ${CATEGORY}/native-cctools )
+"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+	PDEPEND="${PDEPEND} !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )"
+fi
+
+src_prepare() {
+	if has_version '<sys-libs/glibc-2.12' ; then
+		ewarn "Your host glibc is too old; disabling automatic fortify."
+		ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+		EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+	fi
+	# Fedora/RedHat ships glibc-2.15+ with some nasty warnings that cause
+	# configure checks for most system headers to fail, resulting in bugs
+	# compiling e.g. gcc itself, bug #433333
+	if [[ -e /usr/include/features.h ]] ; then
+		grep -qF "_FORTIFY_SOURCE requires compiling with optimization" \
+			/usr/include/features.h && \
+				EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+	fi
+
+	toolchain_src_prepare
+
+	use vanilla && return 0
+
+	# make sure solaris-x64 doesn't misdetect tls support, bug #505446
+	#epatch "${FILESDIR}"/4.7.2/solaris-x64-tls-gnu-as.patch
+
+	# make sure 64-bits native targets don't screw up the linker paths
+	#epatch "${FILESDIR}"/4.7.1/solaris-searchpath.patch
+	epatch "${FILESDIR}"/no-libs-for-startfile.patch
+	if use prefix; then
+		epatch "${FILESDIR}"/4.5.2/prefix-search-dirs.patch
+		# try /usr/lib32 in 32bit profile on x86_64-linux (needs
+		# --enable-multilib), but this does make sense in prefix only
+		epatch "${FILESDIR}"/${PN}-4.8.3-linux-x86-on-amd64.patch
+	fi
+
+	# make it have correct install_names on Darwin
+	epatch "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch
+	# filename based versioning of libgcc_s for AIX
+	#epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libgcc.patch.xz
+	# let --with-specs=-pthread work for libgcc_s on AIX without multilib
+	#epatch "${FILESDIR}"/gcc-4.8.4-aix-pthread-specs.patch
+	# drop -B flag when ./nm encounters -P
+	#epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-nm-weak.patch
+	# support --with-aix-soname=aix|both|svr4 for libtool libs
+	#epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libtool.patch.xz
+	#epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-regen.patch.xz
+	#epatch "${FILESDIR}"/gcc-4.8-aix-extref.patch # PR target/65058
+	if [[ ${CHOST} == *-aix* ]]; then
+		# -fPIC breaks stage2/3 comparison, use per-build random seed
+		local myseed=$(echo $(
+			head -c32 /dev/urandom | uuencode - | tr -d -c a-zA-Z0-9_+/.,
+		))
+		echo "STAGE2_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
+		echo "STAGE3_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
+		is_crosscompile ||
+		echo "CFLAGS_FOR_TARGET += -frandom-seed=${myseed}" >> config/mh-ppc-aix
+		# build large insn-*.o one at a time
+		epatch "${FILESDIR}"/gcc-4.8.4-lowmem-build.patch
+	fi
+
+	if [[ ${CHOST} == *-mint* ]] ; then
+		epatch "${FILESDIR}"/4.3.2/${PN}-4.3.2-mint3.patch
+		epatch "${FILESDIR}"/4.7.2/mint1.patch
+		epatch "${FILESDIR}"/4.4.1/${PN}-4.4.1-mint3.patch
+		epatch "${FILESDIR}"/4.7.2/mint2.patch
+		epatch "${FILESDIR}"/4.7.2/mint3.patch
+		epatch "${FILESDIR}"/4.7.2/pr52391.patch
+		epatch "${FILESDIR}"/4.7.2/mint-unroll.patch
+		epatch "${FILESDIR}"/4.7.2/pr52773.patch
+		epatch "${FILESDIR}"/4.7.2/pr52714.patch
+	fi
+
+	#Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+	[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
+
+src_configure() {
+	local myconf=()
+	case ${CTARGET}:" ${USE} " in
+		powerpc*-darwin*)
+			# bug #381179
+			filter-flags "-mcpu=*" "-mtune=*"
+		;;
+		*-mint*)
+			myconf+=( --enable-multilib )
+		;;
+		*-solaris*)
+			# todo: some magic for native vs. GNU linking?
+			myconf+=( --with-gnu-ld --with-gnu-as )
+		;;
+		*-aix*)
+			# AIX doesn't use GNU binutils, because it doesn't produce usable
+			# code
+			myconf+=( --without-gnu-ld --without-gnu-as --disable-lto )
+			append-ldflags -Wl,-bbigtoc,-bmaxdata:0x10000000 # bug#194635
+			# we have backports of the aix-soname upstream patches
+			myconf+=( --with-aix-soname=svr4 )
+			# Always behave on AIX as if:
+			#   -fPIC was passed (packages know that "everything on AIX is PIC")
+			#   -pthread was passed (#266548)
+			#   -Wl,-bsvr4 was passed (runtime linking, hold -L paths off the runpath)
+			#   -Wl,-G,-bernotok was passed for shared libraries (runtime linking, --no-undefined)
+			myconf+=( --with-specs="-fPIC -pthread %x{-bsvr4} %{shared:%x{-G} %x{-bernotok}}" )
+		;;
+		ia64*-*-hpux*)
+			# Always behave as if -pthread were passed on HPUX (#266548)
+			myconf+=( --with-specs=-pthread )
+			;;
+		*-interix*)
+			# disable usage of poll() on interix, since poll() only
+			# works on the /proc filesystem (.......)
+			export glibcxx_cv_POLL=no
+
+			# if using the old system as, gcc's configure script fails
+			# to detect that as cannot handle .lcomm with alignment.
+			# on interix, it is rather easy to detect the as, since there
+			# is only _one_ build of it with a fixed date in the version
+			# header...
+			if as --version | grep 20021111 > /dev/null 2>&1; then
+				einfo "preventing gcc from detecting .lcomm alignment option in interix system as."
+				export gcc_cv_as_lcomm_with_alignment=no
+			fi
+		;;
+		i[34567]86-*-linux*:*" prefix "*)
+			# to allow the linux-x86-on-amd64.patch become useful, we need
+			# to enable multilib, even if there is just one multilib option.
+			myconf+=( --enable-multilib )
+			if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then
+				# we might be on x86_64-linux, but don't do cross-compile, so
+				# tell the host-compiler to really create 32bits (for stage1)
+				# (real x86-linux-gcc also accept -m32).
+				append-flags -m32
+			fi
+		;;
+	esac
+
+	# Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at
+	# least on Solaris, and AIX /bin/sh is ways too slow,
+	# so force it to use $BASH (that portage uses) - it can't be EPREFIX
+	# in case that doesn't exist yet
+	export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}"
+	toolchain_src_configure "${myconf[@]}"
+}
+
+src_install() {
+	toolchain_src_install
+
+	if [[ ${CTARGET} == *-interix* ]] && ! is_crosscompile; then
+		# interix delivers libdl and dlfcn.h with gcc-3.3.
+		# Since those parts are perfectly usable by this gcc (and
+		# required for example by perl), we simply can reuse them.
+		# As libdl is in /usr/lib, we only need to copy dlfcn.h.
+		# When cross compiling for interix once, ensure that sysroot
+		# contains dlfcn.h.
+		cp /opt/gcc.3.3/include/dlfcn.h "${ED}${INCLUDEPATH}" \
+		|| die "Cannot gain /opt/gcc.3.3/include/dlfcn.h"
+	fi
+
+	if [[ ${CTARGET} == *-interix3* ]]; then
+		# interix 3.5 has no stdint.h and no inttypes.h. This breaks
+		# so many packages, that i just install interix 5.2's stdint.h
+		# which should be ok.
+		cp "${FILESDIR}"/interix-3.5-stdint.h "${ED}${INCLUDEPATH}/stdint.h" \
+		|| die "Cannot install stdint.h for interix3"
+	fi
+
+	# create a small profile.d script, unsetting some of the bad
+	# environment variables that the sustem could set from the outside.
+	# (GCC_SPECS, GCC_EXEC_PREFIX, CPATH, LIBRARY_PATH, LD_LIBRARY_PATH,
+	#  C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBPATH, SHLIB_PATH, LIB, INCLUDE,
+	#  LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64).
+	# Maybe there is a better location for doing this ...? Feel free to move
+	# it there if you want to.
+
+	cat > "${T}"/00-gcc-paths.sh <<- _EOF
+		#!/bin/env bash
+		# GCC specific variables
+		unset GCC_SPECS GCC_EXEC_PREFIX
+		# include path variables
+		unset CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH INCLUDE
+		# library path variables
+		unset LIBRARY_PATH LD_LIBRARY_PATH LIBPATH SHLIB_PATH LIB LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64
+	_EOF
+
+	insinto /etc/profile.d
+	doins "${T}"/00-gcc-paths.sh
+}

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index cc0d5da..aff482f 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -29,5 +29,6 @@
     <flag name="objc-gc">Build support for the Objective C code language Garbage
       Collector</flag>
     <flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag>
+	<flag name="sanitize">Build support various sanitizer functions (ASAN/TSAN/etc...)</flag>
   </use>
 </pkgmetadata>


             reply	other threads:[~2016-03-28  9:19 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-28  9:19 Alexey Shvetsov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-30  9:08 [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/ Fabian Groffen
2024-09-30  9:08 Fabian Groffen
2024-09-29  8:18 Fabian Groffen
2024-08-10 14:48 Fabian Groffen
2024-07-18  6:42 Fabian Groffen
2024-07-17 12:01 Fabian Groffen
2024-05-27 17:04 Fabian Groffen
2024-05-27  7:14 Fabian Groffen
2024-03-09 15:54 Fabian Groffen
2024-03-08 21:13 Fabian Groffen
2024-02-06 13:16 Fabian Groffen
2024-01-14 20:36 Fabian Groffen
2024-01-14 10:17 Fabian Groffen
2023-09-10  7:20 Fabian Groffen
2023-05-01  6:30 Fabian Groffen
2023-04-27 10:27 Fabian Groffen
2023-04-26 19:21 Fabian Groffen
2023-04-26 17:57 Fabian Groffen
2023-04-24 20:12 Sam James
2023-02-19 18:53 Sam James
2022-11-06 12:05 Fabian Groffen
2022-10-03 17:26 Fabian Groffen
2022-08-02 13:06 Fabian Groffen
2022-06-16  5:52 Fabian Groffen
2022-06-08 11:04 Fabian Groffen
2021-11-10  4:38 Sam James
2021-11-09  7:22 Sam James
2021-09-12  8:47 Sam James
2021-06-21  5:59 Sam James
2021-06-08  6:18 Fabian Groffen
2021-02-20 14:13 Fabian Groffen
2021-02-07 19:23 Fabian Groffen
2021-02-06 16:30 Fabian Groffen
2021-01-10 19:51 Fabian Groffen
2021-01-06 12:00 Fabian Groffen
2021-01-04 16:07 Fabian Groffen
2020-12-22 21:30 Fabian Groffen
2020-11-26 20:49 Fabian Groffen
2020-11-26 20:03 Fabian Groffen
2020-11-26 18:58 Fabian Groffen
2020-11-23 20:55 Fabian Groffen
2020-11-23 20:25 Fabian Groffen
2020-11-22 17:37 Fabian Groffen
2020-01-08 19:21 Fabian Groffen
2019-06-07 12:37 Michael Haubenwallner
2019-06-07  8:32 Michael Haubenwallner
2019-03-13 14:14 Fabian Groffen
2019-03-13 14:14 Fabian Groffen
2019-01-30 10:54 Fabian Groffen
2018-12-17 20:01 Fabian Groffen
2018-06-27  7:09 Fabian Groffen
2018-06-22 13:16 Michael Haubenwallner
2018-06-21  7:30 Fabian Groffen
2018-06-08 13:06 Fabian Groffen
2018-06-08  5:46 Fabian Groffen
2018-06-07 10:49 Fabian Groffen
2018-06-06 13:47 Fabian Groffen
2018-01-15 19:38 Fabian Groffen
2017-12-29 22:08 Michael Haubenwallner
2017-12-12 18:53 Fabian Groffen
2017-09-13 14:06 Michael Haubenwallner
2016-10-03 12:48 Fabian Groffen
2016-04-28 10:57 Michael Haubenwallner
2016-04-18  8:07 Michael Haubenwallner
2016-03-28 11:11 Alexey Shvetsov
2016-02-03 15:06 Alexey Shvetsov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1459156730.d50abfc22a82f0fb2cd49e66d7343787dcecc574.alexxy@gentoo \
    --to=alexxy@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox