Gentoo Archives: gentoo-commits

From: Alexey Shvetsov <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/
Date: Mon, 28 Mar 2016 09:19:07
Message-Id: 1459156730.d50abfc22a82f0fb2cd49e66d7343787dcecc574.alexxy@gentoo
1 commit: d50abfc22a82f0fb2cd49e66d7343787dcecc574
2 Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 28 09:18:50 2016 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 28 09:18:50 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d50abfc2
7
8 Add gcc-4.9.3 for amd64-linux and x86-linux, other targets may not work
9
10 Package-Manager: portage-2.2.28-prefix
11 RepoMan-Options: --force
12
13 sys-devel/gcc/Manifest | 27 ++---
14 sys-devel/gcc/gcc-4.9.3.ebuild | 223 +++++++++++++++++++++++++++++++++++++++++
15 sys-devel/gcc/metadata.xml | 1 +
16 3 files changed, 230 insertions(+), 21 deletions(-)
17
18 diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
19 index 84ec996..d845a1d 100644
20 --- a/sys-devel/gcc/Manifest
21 +++ b/sys-devel/gcc/Manifest
22 @@ -1,6 +1,3 @@
23 ------BEGIN PGP SIGNED MESSAGE-----
24 -Hash: SHA256
25 -
26 AUX 3.3.4/libffi-without-libgcj.patch 890 SHA256 a422ebf05e279bdcb15627363af8101e4d6a54ca037d6da11c13b4768799d974 SHA512 6204588808a37a13dffc8c6bdf70eb453107413d0c8fffddeb360444e3e605f1ceb42c41905cfa1c4f9cbb1b22dc290e68d2728dbddb0f4d0406dd8dca6789a0 WHIRLPOOL 7260ba32fc7d60f1fa4d8667c929e16f3bdf9fe953c823c5b6876d4fea4d4fed52e67aec92cbb599d6327eac009bc4fbbc06ba85acf9848bf346384af0523363
27 AUX 3.3.6/gcc-3.3.6-cross-compile.patch 2202 SHA256 00e5152f211a2c0892ba4f5a7ebb078c1d5d1dfc77bd0ba81ab8dfcd2924ffb3 SHA512 0d81d516a3635eb303d8f75099bf8fbbf1ffcd771c9cb4a770a55189232ed53e15728191a3e8c5339cc1562bbe4bcaa4b6c0d1c1d264287216abe715ca734829 WHIRLPOOL 579e035254ed4500acdbf23872e0b30d81b914f080054dbe7ebd16c483a0fb6bd787b41d570c0f1338dc8e3c5f03dceb94cfadc6d73d68fb230d839f896142f2
28 AUX 3.4.3/libffi-nogcj-lib-path-fix.patch 1691 SHA256 030e2c9f31b325ea975792bdfee88272d1065b8794511410dc30bd2caf8b3451 SHA512 001e3c1c585c3ab641a540eb5502788dd1151cb66fc9f0196ae79e3ad7f01a291812511bd19114fdffc9d8b71987623f1dcccefed3546cb9e0f0e6abd55f093c WHIRLPOOL ffda82e69885c7691f7746188f3565dd90fa9a33be1426155ccf8f5cc40f910ac8bdac14accef120c379bbddc589732028cff94377a6bfffc080789d7a825d15
29 @@ -170,6 +167,10 @@ DIST gcc-4.8.5-patches-1.3.tar.bz2 26025 SHA256 4a165e6a387421f581f49c742243bf01
30 DIST gcc-4.8.5-piepatches-v0.6.2.tar.bz2 14265 SHA256 3a823af1b4c590076b95790614d49448dc0ee6ff0ace221f2dacd9033b58eac7 SHA512 cd6af4047d4719dae9dbe86ce5342c7d8ddec38aad032486713b08e1b0cb711f5ca017e08d583137d51b8d4ef673366ba310e71bca7b49b82e9314781d6e9d99 WHIRLPOOL ca1d0a9cb9abdfddd95d433b2f0424fd7cc9d514cf4c91fb266af4c43e26e0b3084adfae0eb5c998dbee83551e916dba3cf438b338f7e4ac1a133f06018e398d
31 DIST gcc-4.8.5-uclibc-patches-1.0.tar.bz2 2976 SHA256 3654cc2bb47173b9d40650374c465a0798faab53be5ee4446389af1acd610a27 SHA512 5469128eab06525915c75241797ad9ec4b63072ebfd5e110319bf810633cf3fbed39bbda4f6a0c74e537b248e7642780ecbe2086ad10be6e66b7dd289fa6534f WHIRLPOOL d5e11a7d83d11455d84deaa464b8cde0865c730cc140daa5d7b0e700a79f188c6efba88b1c5704b20ede2dca701fb88cf581bada2f4352fbd0e0a5571c436612
32 DIST gcc-4.8.5.tar.bz2 86165587 SHA256 22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23 SHA512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea WHIRLPOOL 026253cd2f3706871dfe2525c0302b38b3f513f6a62666d0ba0ca2e62d6513f09ad5c1177f2a63ae3bad660fe60e7909b6930d26df2b367b9ec68e14552c6e11
33 +DIST gcc-4.9.3-patches-1.5.tar.bz2 25384 SHA256 e1c43125fab5a4db1997a01b362b3611907c9020e41a591e5eb2f5669f216538 SHA512 d266790b1f537c7c3de459cc67f9151b77b16b1e36780c3d2a02f2e4627d5a0f8f6430d7092bbfa6f9a4667c02170d3ce75b0453b6facc94998d414e58f4a1e1 WHIRLPOOL 31b4d54f0858f5673d76590ac822e097ddf799d4eafba81c1378af7cbaadd7be8634297ca9f900a78f7382ebfa9626a40e12ca7c06eff88431de04ddd4d2cec0
34 +DIST gcc-4.9.3-piepatches-v0.6.4.tar.bz2 14431 SHA256 012c3025ac2e14781ff25028c0b1d42a07f510b125006116e268bcd90fb6c9db SHA512 3bbeacbca5e8ef6ab0b1d58add42f5e8e82328afe024666f9585b5398c8722e7d012abfd2009a98ad47b1f1b26afaf421402a9e7719a5662516b32dcbe5608be WHIRLPOOL 9e68d981aed42ece2f481f62efc078ad370ac780e96ba39c4273c8675d552b845cd52c588bd41839868f430b0a532789858914f4ef32a1bc187e2983264ebfd3
35 +DIST gcc-4.9.3-uclibc-patches-1.0.tar.bz2 2515 SHA256 dd19904d4ab005ef142056228f326e75b3d4d79b8056189a505129b5940a575c SHA512 825092620a3c554ef06219fd1152c3677f1456315563b9e65282a73096e75600389e93298ed76cad41ce3eeecc6a7009ca722585b93c04095bd2d0a06c4404e6 WHIRLPOOL 0c184a5cc74f80a61f354ee85bc5a0f5b44d93bc9fa2e1892fbfe899958cfa5263b8b72cc4f905bc69bd1cc90cf870a6056c4003ec493b815646a72a0fe2e44e
36 +DIST gcc-4.9.3.tar.bz2 90006707 SHA256 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e SHA512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df WHIRLPOOL 085e4cc1825b031652cbe9e098671f761acfeca64c6cc9b8ad2a8961c13fcac9e02b4538b44dc38181a355266f2c55c99ce5a1bff3f2860b870285cf3f0e84a5
37 DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a SHA512 9aec7e4b102e602dfb61cd09ea4b4a96af637ceb3d726235261d09ebd35dbd416abcbfe0e46918e48474bd241fe9bb29abc145a65aa834669295aaee4fca0686 WHIRLPOOL 22322b0c3e2d67b3b37bd7fa92a29c593688f934d4ffd62b9cc87eb63a44a4f8bbc9d75cadf11209c73bdc9942c9b4430036629d0eefcd04de9055c502b85f12
38 EBUILD gcc-3.3.6-r1.ebuild 1566 SHA256 082642502bbf553488c3ee03237b3e3e65501d2d6a5a22b257db5deb0577ba84 SHA512 f9a918a7aa71112a915ca34bd828b5d597996fe689286a5944af28f56bc5fd31854b8842b4f8229c9c985b966c9a5701dfb8229eed710d190c6ea5e266de45e1 WHIRLPOOL f8b7e78ceb86c5f72096550d1475d6dec736e4232cc0eba618a7a2a225bbcd02f6471d0ca96f59df14e0f6620d0f1e2be37d2b0bad59114808cec6d43ac10359
39 EBUILD gcc-3.4.6-r2.ebuild 2859 SHA256 44fb15ae2432f0e9b7dade84f2a62bded9eaa7b8eb66d2ce58f6e018da1da148 SHA512 b46770083d5479f190b24191efe3b921b4d6bf56fd5d536d7fc31a87cf280c08f415b30d0da6aa75592f1fbbe19d59f8dd378c5b9dcca18d94b75450dfaf940f WHIRLPOOL 0809cfec23b5d03e7f4df07d415adeab8dd38f16e6085693478503586814c910211c2e316dd54a8674eb2708c48e25e571910ec03f8c43d22d8ca0ac541fb016
40 @@ -181,21 +182,5 @@ EBUILD gcc-4.8.2-r1.ebuild 5790 SHA256 74387032c8d6bfbde20f63160c7bc1b4c3040c874
41 EBUILD gcc-4.8.3.ebuild 7107 SHA256 5cdf1a0c8ee008d6666e897e3fa64ed5b8d6a009abbfa852189411b76dac80af SHA512 879c57a18c94702fd46634390f938a92d412d9edd6231524f3b229849e2be95e088df7168ff1ef380250ad95c4d21b18d8e72be2f9241d4275fdf68e2d474016 WHIRLPOOL abad11c645d96e230df3376cbb13027dce62eeede7f218a81121e0688e7fb441d0142746794ac2f9e481e559345fdfc28df93df316531ac643a323f29ea2b10e
42 EBUILD gcc-4.8.4.ebuild 8643 SHA256 b4ccdc37c6b636c146b5b39a2cad2783185aca51301278b85b69d9dc65c3a0e7 SHA512 b8a22cdba511afbee1ecc46b9a1c9c8e66e4f98dbc6dc29dbdccdd89be6de84bf6eb91d63d3189aa3f0249f0a9a38197fa7cdf4d92a5c003139e03eced82c9fb WHIRLPOOL 0b28fd2a6062f4a1f1a835f9030cb9efcf36b7fc1f170547c95b909029f1ff30809e5abb7163fe4250903170ea43a169263d5192e180a5844c0868b938a2996d
43 EBUILD gcc-4.8.5.ebuild 8535 SHA256 4381d44c25863f5946a734d762d2c7aaa1df08d23e201b86bbd0eb211e6113a5 SHA512 31b616602d7b0d7bdd90fea4cd67af5ae76d85e0df638be358ddbe6f0cdc95e7fdd6b767089b8d6370216ef533773387a561d7beb77b362a38878aba09c51dcb WHIRLPOOL dd8b63dd0054f83030f7ec22f1a1856b27b41d139cd68d089a66a3e8e61519e35098843e4c685c0a55332e0a46c87785e04c4a93ffb7928f3798a0f9c3582b27
44 -MISC metadata.xml 2013 SHA256 908c83d1adcb78c343319c0730554e914cd8bc9fa1cf81b1eb86de338372d9df SHA512 36ea07edc9590441d66d49a9a61bd4849c15fac0e23cb49774af8d0b9ba8af4dc9c55ed303535ad6ac3fbdc7dc82f1df01bcdad5320bfef7451633a09b966b12 WHIRLPOOL 87a1601ac7ab333b6fb489458502d0918745b3d8d1e3b7d8ba28a4effc05ef2cac13c580cd28d829cfc0cc421f17c2b82ddb59decb09e24751a1665a409b2625
45 ------BEGIN PGP SIGNATURE-----
46 -Version: GnuPG v2
47 -
48 -iQIcBAEBCAAGBQJWsheDAAoJEL1o0fmaVRJjVqEP/ikp/3WHJn7WgOqp46uYFxsu
49 -FsUu083YARq8dhXPibWAaI5tPg2b/KYQpltPW7GMlEDRjVbMzOED3kZjVwARJicc
50 -j1Vy3E3RbK2aYr3YxNcxqEab8r3z1dnJsXJFnn3WFaKRfutWdPT32STagggeAKKy
51 -+56Zsm2yZkquWfnkze5YH/8e0H3X/R+ctcGsTD2uEreidSvJEpqDaSQxidacBXIL
52 -OvGRch7EAQyNkaENkTnC3LgLc3iwxUw39R7RwGjWGEY9Z/Mi7WiCzBir9WvFFUQZ
53 -r1WKRATOn9TA5OJPldWTY5Ng9V1O9xMgDiWJiEzWQ+T//9E6SyLdFcYKRGl9dfHV
54 -lsrMPbpERhBz5ao8mTizq+JNoyzKmPv8LwjlF6HQJAMsGcIiCiZDjvV6G1d4fGvI
55 -6GUtTHF+wTYL4LXpE5Y3/oOLl/dXEvCI7quqFfuBR/TpN5aLLWngIf7I3ZxEp1IA
56 -PAASJ/P8fyPODmLaD3RjfH5rWRp8LusVOp+mt1U5WKSz9lgrCtHwEW3wj3De967o
57 -v8rpJ5oVwOg0JUUBUtlZLWn85TM6OrgKLom1r0wJNlRrEp3iGm78V0fvoaxdE2qK
58 -dLkF13UbSKgVkt1x+ndUlISzYABJ3BNpTTkV1XIuvVTXJ0Wl8Ne+4LL4yopfP04W
59 -HEcHtpLI7ylVHF81mssN
60 -=Y0bo
61 ------END PGP SIGNATURE-----
62 +EBUILD gcc-4.9.3.ebuild 8543 SHA256 974812789b55baa32fa6488901640296008c8acd5306c5a3f3a6810dcb31a477 SHA512 5be1e108628c3b55a247c9c294ca565820338c62a90415419b14109ed861a62c8890bb575015f0ddaeba72c50c4414fe76a291e34de30b67faa1b0eee1636c15 WHIRLPOOL fb0c95fbfcf21f470f2f3486bd9bde6f2d8d09fda9dd11094df0f9b322902b003feb95f6ec92fa41fec897464f0c625aef289f7db6f96d0875a817386f8859e4
63 +MISC metadata.xml 2104 SHA256 5dcf06d42915f02cbddf322357fe52751f11c662509f092fef4f08d8b62ee907 SHA512 13ce1f8c30004bd8a665b5013c0c9121012ee8761b6b1aff40bdb27497355001df429a1441e27163f5d9e317ad686dc7fedbe96b4ee7b6cfac4bb0b52730e324 WHIRLPOOL bc7414ee329885a6dd525f3ace571b0569e44e7b0c8839f275a2f7898559f833173932f61587f781c13887535c088a259c55e3dac282bd946ce4d2c5f2023111
64
65 diff --git a/sys-devel/gcc/gcc-4.9.3.ebuild b/sys-devel/gcc/gcc-4.9.3.ebuild
66 new file mode 100644
67 index 0000000..f7eee9c
68 --- /dev/null
69 +++ b/sys-devel/gcc/gcc-4.9.3.ebuild
70 @@ -0,0 +1,223 @@
71 +# Copyright 1999-2016 Gentoo Foundation
72 +# Distributed under the terms of the GNU General Public License v2
73 +# $Id$
74 +
75 +EAPI="4"
76 +
77 +PATCH_VER="1.5"
78 +UCLIBC_VER="1.0"
79 +
80 +# Hardened gcc 4 stuff
81 +PIE_VER="0.6.4"
82 +SPECS_VER="0.2.0"
83 +SPECS_GCC_VER="4.4.3"
84 +# arch/libc configurations known to be stable with {PIE,SSP}-by-default
85 +PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
86 +PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
87 +SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
88 +# uclibc need tls and nptl support for SSP support
89 +# uclibc need to be >= 0.9.33
90 +SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
91 +#end Hardened stuff
92 +
93 +inherit eutils toolchain flag-o-matic
94 +
95 +#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"
96 +KEYWORDS="~amd64-linux ~x86-linux"
97 +
98 +RDEPEND=""
99 +DEPEND="${RDEPEND}
100 + !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )
101 + kernel_linux? ( >=${CATEGORY}/binutils-2.20 )
102 + kernel_Darwin? ( ${CATEGORY}/binutils-apple )
103 + kernel_AIX? ( ${CATEGORY}/native-cctools )
104 +"
105 +
106 +if [[ ${CATEGORY} != cross-* ]] ; then
107 + PDEPEND="${PDEPEND} !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )"
108 +fi
109 +
110 +src_prepare() {
111 + if has_version '<sys-libs/glibc-2.12' ; then
112 + ewarn "Your host glibc is too old; disabling automatic fortify."
113 + ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
114 + EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
115 + fi
116 + # Fedora/RedHat ships glibc-2.15+ with some nasty warnings that cause
117 + # configure checks for most system headers to fail, resulting in bugs
118 + # compiling e.g. gcc itself, bug #433333
119 + if [[ -e /usr/include/features.h ]] ; then
120 + grep -qF "_FORTIFY_SOURCE requires compiling with optimization" \
121 + /usr/include/features.h && \
122 + EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
123 + fi
124 +
125 + toolchain_src_prepare
126 +
127 + use vanilla && return 0
128 +
129 + # make sure solaris-x64 doesn't misdetect tls support, bug #505446
130 + #epatch "${FILESDIR}"/4.7.2/solaris-x64-tls-gnu-as.patch
131 +
132 + # make sure 64-bits native targets don't screw up the linker paths
133 + #epatch "${FILESDIR}"/4.7.1/solaris-searchpath.patch
134 + epatch "${FILESDIR}"/no-libs-for-startfile.patch
135 + if use prefix; then
136 + epatch "${FILESDIR}"/4.5.2/prefix-search-dirs.patch
137 + # try /usr/lib32 in 32bit profile on x86_64-linux (needs
138 + # --enable-multilib), but this does make sense in prefix only
139 + epatch "${FILESDIR}"/${PN}-4.8.3-linux-x86-on-amd64.patch
140 + fi
141 +
142 + # make it have correct install_names on Darwin
143 + epatch "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch
144 + # filename based versioning of libgcc_s for AIX
145 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libgcc.patch.xz
146 + # let --with-specs=-pthread work for libgcc_s on AIX without multilib
147 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-pthread-specs.patch
148 + # drop -B flag when ./nm encounters -P
149 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-nm-weak.patch
150 + # support --with-aix-soname=aix|both|svr4 for libtool libs
151 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libtool.patch.xz
152 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-regen.patch.xz
153 + #epatch "${FILESDIR}"/gcc-4.8-aix-extref.patch # PR target/65058
154 + if [[ ${CHOST} == *-aix* ]]; then
155 + # -fPIC breaks stage2/3 comparison, use per-build random seed
156 + local myseed=$(echo $(
157 + head -c32 /dev/urandom | uuencode - | tr -d -c a-zA-Z0-9_+/.,
158 + ))
159 + echo "STAGE2_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
160 + echo "STAGE3_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
161 + is_crosscompile ||
162 + echo "CFLAGS_FOR_TARGET += -frandom-seed=${myseed}" >> config/mh-ppc-aix
163 + # build large insn-*.o one at a time
164 + epatch "${FILESDIR}"/gcc-4.8.4-lowmem-build.patch
165 + fi
166 +
167 + if [[ ${CHOST} == *-mint* ]] ; then
168 + epatch "${FILESDIR}"/4.3.2/${PN}-4.3.2-mint3.patch
169 + epatch "${FILESDIR}"/4.7.2/mint1.patch
170 + epatch "${FILESDIR}"/4.4.1/${PN}-4.4.1-mint3.patch
171 + epatch "${FILESDIR}"/4.7.2/mint2.patch
172 + epatch "${FILESDIR}"/4.7.2/mint3.patch
173 + epatch "${FILESDIR}"/4.7.2/pr52391.patch
174 + epatch "${FILESDIR}"/4.7.2/mint-unroll.patch
175 + epatch "${FILESDIR}"/4.7.2/pr52773.patch
176 + epatch "${FILESDIR}"/4.7.2/pr52714.patch
177 + fi
178 +
179 + #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
180 + [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
181 +}
182 +
183 +src_configure() {
184 + local myconf=()
185 + case ${CTARGET}:" ${USE} " in
186 + powerpc*-darwin*)
187 + # bug #381179
188 + filter-flags "-mcpu=*" "-mtune=*"
189 + ;;
190 + *-mint*)
191 + myconf+=( --enable-multilib )
192 + ;;
193 + *-solaris*)
194 + # todo: some magic for native vs. GNU linking?
195 + myconf+=( --with-gnu-ld --with-gnu-as )
196 + ;;
197 + *-aix*)
198 + # AIX doesn't use GNU binutils, because it doesn't produce usable
199 + # code
200 + myconf+=( --without-gnu-ld --without-gnu-as --disable-lto )
201 + append-ldflags -Wl,-bbigtoc,-bmaxdata:0x10000000 # bug#194635
202 + # we have backports of the aix-soname upstream patches
203 + myconf+=( --with-aix-soname=svr4 )
204 + # Always behave on AIX as if:
205 + # -fPIC was passed (packages know that "everything on AIX is PIC")
206 + # -pthread was passed (#266548)
207 + # -Wl,-bsvr4 was passed (runtime linking, hold -L paths off the runpath)
208 + # -Wl,-G,-bernotok was passed for shared libraries (runtime linking, --no-undefined)
209 + myconf+=( --with-specs="-fPIC -pthread %x{-bsvr4} %{shared:%x{-G} %x{-bernotok}}" )
210 + ;;
211 + ia64*-*-hpux*)
212 + # Always behave as if -pthread were passed on HPUX (#266548)
213 + myconf+=( --with-specs=-pthread )
214 + ;;
215 + *-interix*)
216 + # disable usage of poll() on interix, since poll() only
217 + # works on the /proc filesystem (.......)
218 + export glibcxx_cv_POLL=no
219 +
220 + # if using the old system as, gcc's configure script fails
221 + # to detect that as cannot handle .lcomm with alignment.
222 + # on interix, it is rather easy to detect the as, since there
223 + # is only _one_ build of it with a fixed date in the version
224 + # header...
225 + if as --version | grep 20021111 > /dev/null 2>&1; then
226 + einfo "preventing gcc from detecting .lcomm alignment option in interix system as."
227 + export gcc_cv_as_lcomm_with_alignment=no
228 + fi
229 + ;;
230 + i[34567]86-*-linux*:*" prefix "*)
231 + # to allow the linux-x86-on-amd64.patch become useful, we need
232 + # to enable multilib, even if there is just one multilib option.
233 + myconf+=( --enable-multilib )
234 + if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then
235 + # we might be on x86_64-linux, but don't do cross-compile, so
236 + # tell the host-compiler to really create 32bits (for stage1)
237 + # (real x86-linux-gcc also accept -m32).
238 + append-flags -m32
239 + fi
240 + ;;
241 + esac
242 +
243 + # Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at
244 + # least on Solaris, and AIX /bin/sh is ways too slow,
245 + # so force it to use $BASH (that portage uses) - it can't be EPREFIX
246 + # in case that doesn't exist yet
247 + export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}"
248 + toolchain_src_configure "${myconf[@]}"
249 +}
250 +
251 +src_install() {
252 + toolchain_src_install
253 +
254 + if [[ ${CTARGET} == *-interix* ]] && ! is_crosscompile; then
255 + # interix delivers libdl and dlfcn.h with gcc-3.3.
256 + # Since those parts are perfectly usable by this gcc (and
257 + # required for example by perl), we simply can reuse them.
258 + # As libdl is in /usr/lib, we only need to copy dlfcn.h.
259 + # When cross compiling for interix once, ensure that sysroot
260 + # contains dlfcn.h.
261 + cp /opt/gcc.3.3/include/dlfcn.h "${ED}${INCLUDEPATH}" \
262 + || die "Cannot gain /opt/gcc.3.3/include/dlfcn.h"
263 + fi
264 +
265 + if [[ ${CTARGET} == *-interix3* ]]; then
266 + # interix 3.5 has no stdint.h and no inttypes.h. This breaks
267 + # so many packages, that i just install interix 5.2's stdint.h
268 + # which should be ok.
269 + cp "${FILESDIR}"/interix-3.5-stdint.h "${ED}${INCLUDEPATH}/stdint.h" \
270 + || die "Cannot install stdint.h for interix3"
271 + fi
272 +
273 + # create a small profile.d script, unsetting some of the bad
274 + # environment variables that the sustem could set from the outside.
275 + # (GCC_SPECS, GCC_EXEC_PREFIX, CPATH, LIBRARY_PATH, LD_LIBRARY_PATH,
276 + # C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBPATH, SHLIB_PATH, LIB, INCLUDE,
277 + # LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64).
278 + # Maybe there is a better location for doing this ...? Feel free to move
279 + # it there if you want to.
280 +
281 + cat > "${T}"/00-gcc-paths.sh <<- _EOF
282 + #!/bin/env bash
283 + # GCC specific variables
284 + unset GCC_SPECS GCC_EXEC_PREFIX
285 + # include path variables
286 + unset CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH INCLUDE
287 + # library path variables
288 + unset LIBRARY_PATH LD_LIBRARY_PATH LIBPATH SHLIB_PATH LIB LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64
289 + _EOF
290 +
291 + insinto /etc/profile.d
292 + doins "${T}"/00-gcc-paths.sh
293 +}
294
295 diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
296 index cc0d5da..aff482f 100644
297 --- a/sys-devel/gcc/metadata.xml
298 +++ b/sys-devel/gcc/metadata.xml
299 @@ -29,5 +29,6 @@
300 <flag name="objc-gc">Build support for the Objective C code language Garbage
301 Collector</flag>
302 <flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag>
303 + <flag name="sanitize">Build support various sanitizer functions (ASAN/TSAN/etc...)</flag>
304 </use>
305 </pkgmetadata>