Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: sys-devel/gcc/, sys-devel/gcc/files/
Date: Fri, 02 Oct 2015 19:43:37
Message-Id: 1443815329.37f19e18ce2aa7635f474cfcc35df3bd63867bd7.blueness@gentoo
1 commit: 37f19e18ce2aa7635f474cfcc35df3bd63867bd7
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Fri Oct 2 19:48:49 2015 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Fri Oct 2 19:48:49 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=37f19e18
7
8 sys-devel/gcc: bump to 4.9.3
9
10 sys-devel/gcc/Manifest | 8 +++
11 .../gcc/files/gcc-4.9.3-musl-linker-path.patch | 74 ++++++++++++++++++++++
12 sys-devel/gcc/files/gcc-4.9.3-musl-res_state.patch | 12 ++++
13 sys-devel/gcc/files/gcc-4.9.3-secure-plt.patch | 0
14 sys-devel/gcc/gcc-4.9.3-r99.ebuild | 65 +++++++++++++++++++
15 5 files changed, 159 insertions(+)
16
17 diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
18 index fcd4988..4168113 100644
19 --- a/sys-devel/gcc/Manifest
20 +++ b/sys-devel/gcc/Manifest
21 @@ -11,6 +11,9 @@ AUX gcc-4.8.3-musl-linker-path.patch 3425 SHA256 d5415e1ae64dfb0e2b9e16480688444
22 AUX gcc-4.8.3-musl-res_state.patch 668 SHA256 ff5948712855a10f4b65750b9fa3fb188adf69ff5612161aeff5e6674cf292ba SHA512 bf30a772b5858210ac8ed46c50146655df98809c1daeb755fad9de592e7339c2e25b0870efd6351067f12e93a2270774a0e7bfbf0dfe8e0301c145c0dd966b30 WHIRLPOOL 457a548a900536024d722a2ff27f757a167c2ac9f1c4b3f38b0bbd29836b80938ad977617a1dfb71d81e063b2dc7213e8332ef4f9ad2a36eb402b8f97727b427
23 AUX gcc-4.8.3-secure-plt.patch 1866 SHA256 65c60adf4a4fcf4707e8acc51e4062124b742601ed7f7ae049e69790cb051658 SHA512 5a4ab263be1e10aa1d7685c0dcd2537e0ff1d50b3f9687064988ae04f18f995fc608e76644ba657a28bb1217c96dfef7b64da7e6fa3ed522001140a51a67a8a3 WHIRLPOOL 2a60dcea7de6e2706370ed66f3b7f99c250bce96021e1c7ee16cd9d3358bea4bcbbd1a893662e8027dc59a9e58f95c890c81ee2070e83170b9a83b6d5a9d8ac7
24 AUX gcc-4.8.5-posix_memalign.patch 1114 SHA256 87370f7854063bcf5f57bff931684c228370668ccf5ecd8e36ea9cf7c7455b16 SHA512 27e1a29e039dcc4c5190416702d1d95d48fbaeaac6440d81584989fe71a12f7bf5a484241ced9aa82b9f050eb3be8786d9584ba5299d304e7ed30506755880bc WHIRLPOOL e5bfe16163580f1fba8d80fa80f1aed6c3d4f22e32e3eaf0234181c214b7885c40f20d9e794d76225ca2449c6c138f051ed14fdeaa7132f05c6ba6c786ada7e9
25 +AUX gcc-4.9.3-musl-linker-path.patch 3556 SHA256 22228421551806b81a1d3aff438eecf4202f64844141863fb8e665ef3b5eb5fb SHA512 cf58b49311c1a7a4cbb04a2ffeccdaa278872512e67b72ebe292fa155f419dc6025d158b67d58265de67edbd18c6af67f28c6f6806b581a8fdb9015ad2ee0aa3 WHIRLPOOL c3d5e9c7fc64cd8a8bacca714da5881ee8d94585e0064f5e3965b20bfe23c48bbe8b0bc886cf291d616e51786e80d032c19bdce59a15fdb310546b61a0ab0886
26 +AUX gcc-4.9.3-musl-res_state.patch 699 SHA256 822990f5075b65dc2d1c03722daa5a215301f9ec2c4323c10e80fff2fbd04e71 SHA512 93f59d16e026672051b5a65110f78ace0c91a4f1365b861e22741fbc42b92c4490e55068ae845bbcbb5af9221fb874e0b855a763189528a646e757b133117e28 WHIRLPOOL 98438e82aa8d387b5a96bc58d3a137766661cc53d7396165338448394c14996687626f46e9c93bcb6b2a2e422b97445f5097489616a0aff619cca01c8243a56a
27 +AUX gcc-4.9.3-secure-plt.patch 0 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA512 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e WHIRLPOOL 19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3
28 AUX gcc-configure-LANG.patch 2052 SHA256 63de6d2dcfe14f21d147abeb1390405b9220c03f8e968f482d4b4c1cf279c88b SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129 WHIRLPOOL 3cc1ec912fb192ff1058de5b93e49a994ba30d1501a932290dd5b3df1cd783875621cda56edeb41894cd5fa10c04917e693a40a60be8d742ddd7992bf5d8afeb
29 AUX gcc-configure-texinfo.patch 337 SHA256 74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98 SHA512 a15fba8bf2ff02bdeca54d6f186bfa08c1079c6a8ba0a3beef154483ce5c1b8c497e7ffeec32371968f0037e0ff8384609eb0c367d0155a4e5a7eef8aad084d5 WHIRLPOOL 39d008aad06f7621e4e5db15f5e85a59e583b43f8d247029bd4944466bb60a9795bda157d185c45c329294078e282703a243aad5c468d90c77665dd6336870d4
30 AUX gcc-spec-env-r1.patch 3148 SHA256 da0a6442eb42bce58cbdc7858b110a2e65fc5bd5b4b780b9b491033de6e302fa SHA512 ecae71577543772cfe1711f1b4a8815c0b5d706ebd01edacd1f07586637d4805e25771f970a6e6d1bb696d4b1b5ef3e0036088a96a9f6beff7ddaee704175d16 WHIRLPOOL 3535605998eabccdee71ba396ed5cefbb8b0a8cb073101f6444c7d01233f3b3904c1b29f4daf0a3417c68de8dbd62a0b7dc367cacfcbfa0c4ee1b69b7df8c6fb
31 @@ -26,7 +29,12 @@ DIST gcc-4.8.5-patches-1.3.tar.bz2 26025 SHA256 4a165e6a387421f581f49c742243bf01
32 DIST gcc-4.8.5-piepatches-v0.6.2.tar.bz2 14265 SHA256 3a823af1b4c590076b95790614d49448dc0ee6ff0ace221f2dacd9033b58eac7 SHA512 cd6af4047d4719dae9dbe86ce5342c7d8ddec38aad032486713b08e1b0cb711f5ca017e08d583137d51b8d4ef673366ba310e71bca7b49b82e9314781d6e9d99 WHIRLPOOL ca1d0a9cb9abdfddd95d433b2f0424fd7cc9d514cf4c91fb266af4c43e26e0b3084adfae0eb5c998dbee83551e916dba3cf438b338f7e4ac1a133f06018e398d
33 DIST gcc-4.8.5-uclibc-patches-1.0.tar.bz2 2976 SHA256 3654cc2bb47173b9d40650374c465a0798faab53be5ee4446389af1acd610a27 SHA512 5469128eab06525915c75241797ad9ec4b63072ebfd5e110319bf810633cf3fbed39bbda4f6a0c74e537b248e7642780ecbe2086ad10be6e66b7dd289fa6534f WHIRLPOOL d5e11a7d83d11455d84deaa464b8cde0865c730cc140daa5d7b0e700a79f188c6efba88b1c5704b20ede2dca701fb88cf581bada2f4352fbd0e0a5571c436612
34 DIST gcc-4.8.5.tar.bz2 86165587 SHA256 22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23 SHA512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea WHIRLPOOL 026253cd2f3706871dfe2525c0302b38b3f513f6a62666d0ba0ca2e62d6513f09ad5c1177f2a63ae3bad660fe60e7909b6930d26df2b367b9ec68e14552c6e11
35 +DIST gcc-4.9.3-patches-1.2.tar.bz2 23657 SHA256 1eb0b19e9f048ba30b897154aa51d4c84e5c65eeaa35faa2614af5219b06529b SHA512 05eeb60c7b8a99f3b283caea06a8e1a015c41756496b67ed912467cb437dcb9d3bcefc235e6e1dd79c6f7364f378af6a3ebf52b333610a25a6f85cb10c4394b6 WHIRLPOOL d457b4fe4257cc4ef57317187b979d0a97f5c55d8ba4ddd2133e37d1f63299bfe35c3e11ab4efecc5c4f0361789773e5035b216d7fbbe4cdf4bc0c41be0aa655
36 +DIST gcc-4.9.3-piepatches-v0.6.3.tar.bz2 14388 SHA256 268fd94cf905c9a9b95a259378c54a50763d1e13cc833cb0fc84ba33f0da78c4 SHA512 7e08934c729d06b578c420dcc845cb5fe274cb3f1f6eea8ba83a5031f0ba5f2c811e6b8fe5c2a72682030a71bf4134fd0e0d151452145899a7ae0318ebaf058a WHIRLPOOL 8f8d20c70061cd446d7c39d0f638c15ffaa64bc1cabc0f14c3f3632c76e432a3c4794cdb33799cacee754530876543902f53bca4465fca7d51c73f07eded9fe3
37 +DIST gcc-4.9.3-uclibc-patches-1.0.tar.bz2 2515 SHA256 dd19904d4ab005ef142056228f326e75b3d4d79b8056189a505129b5940a575c SHA512 825092620a3c554ef06219fd1152c3677f1456315563b9e65282a73096e75600389e93298ed76cad41ce3eeecc6a7009ca722585b93c04095bd2d0a06c4404e6 WHIRLPOOL 0c184a5cc74f80a61f354ee85bc5a0f5b44d93bc9fa2e1892fbfe899958cfa5263b8b72cc4f905bc69bd1cc90cf870a6056c4003ec493b815646a72a0fe2e44e
38 +DIST gcc-4.9.3.tar.bz2 90006707 SHA256 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e SHA512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df WHIRLPOOL 085e4cc1825b031652cbe9e098671f761acfeca64c6cc9b8ad2a8961c13fcac9e02b4538b44dc38181a355266f2c55c99ce5a1bff3f2860b870285cf3f0e84a5
39 EBUILD gcc-4.7.4-r99.ebuild 2035 SHA256 5a10cf2db3ccaceffab0e713d368617ccd02460518030c29bf57ee04402b2608 SHA512 15c13cfa122af2e50fcd6073e424e4e30086224f8a457e8450151a57b4cc4693d26eb6d26ba77d7275a12e72e58ea6b4eb896902085e08a287631c490f373728 WHIRLPOOL 2b8a04162c6c39babbd1cbefab77dbb9a27f75dbfdb8cd77c60a907db47a73ac124254123929cb228493c29e4d215afa37e5624a759131d6162c108dfc2ec9ff
40 EBUILD gcc-4.8.5-r99.ebuild 2107 SHA256 c07974c05888265cf942bddc5c898dd06dd08f939b2c633348913e7cd85f2d37 SHA512 7e752c85cdc24e82e740a7108491f8772bd20b9a4d36e0a300ac02156d11b44d602b27959a6d65deed71d61a03ef8396925257abf8973a389d7b62f57c4dab65 WHIRLPOOL 7595e2b3161027d0156ec10cc62c97d8a8ba4d32e9f1cfd631051abd4401df71295cfece3eadb94807c0328802b526e984be1469506507e59b98506d8fcea884
41 EBUILD gcc-4.8.5-r999.ebuild 2151 SHA256 26c1c4923691a3dcf0c4c1d5d97986bbcb6b3da6e3d455cb1845e66e190cbe55 SHA512 89683be36d05c9860209995f07d29897ad8be80df7f261d95a39b995b9b63a56a3972b8ae158c6489889830d26991317f3edd46ca050736e71c8ac1e48010a04 WHIRLPOOL 68f843ef8ccc44e60bb28128d4e3923022858e67dd195750148f81f42de127d1919bf00902b494807b89f305ec7b21de376c00395fed12ebf7cad3067e50edc4
42 +EBUILD gcc-4.9.3-r99.ebuild 2166 SHA256 887d138ff731682476aaa435376b70f89c6d59d61447662f370cce950067f457 SHA512 f5f8223e24e0393510f8f1f3af1c591635428f78c6ce2c91a4dcab0df7e73a0f4e9f5143b664b226e7d3a09aa3295c811a1fa6c9b24ba221355d59a22d6a2b9f WHIRLPOOL 3203382efeb5ba4ed6dfa74f5cf3bc52b8ace0f3ddb59a4be87a6c406eee67a9684f333d60241ddbd02e989fbd609f6ad1ab0865be369b675f23b6bbd81e54bd
43 MISC metadata.xml 1647 SHA256 912a61ec01bb34d65df28f726b5fd31380c88b7b3dbf325860ae53de143e2d08 SHA512 733378ac017f7557e700faa7a28a18bd175e870bd3fc7d5e496bee4219ff5cfa0ff9ab3e506c61ce23693b1e4fb45b78bc34ad1fa9b87fc6280b7d23c5256b03 WHIRLPOOL 0614b060408667ea3d9250e5c7a056d61979ac1e7acbf4a54907c42549ee1d02675c2dfe01a167ae3901a9becd8b1aeb3aba42bfec026b2c6012650821a1dcfe
44
45 diff --git a/sys-devel/gcc/files/gcc-4.9.3-musl-linker-path.patch b/sys-devel/gcc/files/gcc-4.9.3-musl-linker-path.patch
46 new file mode 100644
47 index 0000000..2fc076a
48 --- /dev/null
49 +++ b/sys-devel/gcc/files/gcc-4.9.3-musl-linker-path.patch
50 @@ -0,0 +1,74 @@
51 +diff -Naur gcc-4.9.3.orig/gcc/config/arm/linux-eabi.h gcc-4.9.3/gcc/config/arm/linux-eabi.h
52 +--- gcc-4.9.3.orig/gcc/config/arm/linux-eabi.h 2014-01-02 22:23:26.000000000 +0000
53 ++++ gcc-4.9.3/gcc/config/arm/linux-eabi.h 2015-10-02 19:12:32.583700214 +0000
54 +@@ -68,8 +68,8 @@
55 + GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
56 +
57 + #undef GLIBC_DYNAMIC_LINKER
58 +-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
59 +-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
60 ++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-musl-arm.so.1"
61 ++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-musl-armhf.so.1"
62 + #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
63 +
64 + #define GLIBC_DYNAMIC_LINKER \
65 +diff -Naur gcc-4.9.3.orig/gcc/config/i386/linux64.h gcc-4.9.3/gcc/config/i386/linux64.h
66 +--- gcc-4.9.3.orig/gcc/config/i386/linux64.h 2014-01-02 22:23:26.000000000 +0000
67 ++++ gcc-4.9.3/gcc/config/i386/linux64.h 2015-10-02 19:12:32.583700214 +0000
68 +@@ -27,6 +27,6 @@
69 + #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
70 + #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
71 +
72 +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
73 +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
74 ++#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
75 ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
76 + #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
77 +diff -Naur gcc-4.9.3.orig/gcc/config/mips/linux.h gcc-4.9.3/gcc/config/mips/linux.h
78 +--- gcc-4.9.3.orig/gcc/config/mips/linux.h 2014-01-02 22:23:26.000000000 +0000
79 ++++ gcc-4.9.3/gcc/config/mips/linux.h 2015-10-02 19:12:32.584700214 +0000
80 +@@ -17,8 +17,12 @@
81 + along with GCC; see the file COPYING3. If not see
82 + <http://www.gnu.org/licenses/>. */
83 +
84 +-#define GLIBC_DYNAMIC_LINKER \
85 +- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
86 ++#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
87 ++#define GLIBC_DYNAMIC_LINKER_E "%{EB:;:el}"
88 ++#else
89 ++#define GLIBC_DYNAMIC_LINKER_E "%{EL:el}"
90 ++#endif
91 ++#define GLIBC_DYNAMIC_LINKER "/lib/ld-musl-mips" GLIBC_DYNAMIC_LINKER_E ".so.1"
92 +
93 + #undef UCLIBC_DYNAMIC_LINKER
94 + #define UCLIBC_DYNAMIC_LINKER \
95 +diff -Naur gcc-4.9.3.orig/gcc/config/rs6000/linux64.h gcc-4.9.3/gcc/config/rs6000/linux64.h
96 +--- gcc-4.9.3.orig/gcc/config/rs6000/linux64.h 2015-03-09 23:19:19.000000000 +0000
97 ++++ gcc-4.9.3/gcc/config/rs6000/linux64.h 2015-10-02 19:12:32.584700214 +0000
98 +@@ -363,12 +363,8 @@
99 + #undef LINK_OS_DEFAULT_SPEC
100 + #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
101 +
102 +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
103 +-#ifdef LINUX64_DEFAULT_ABI_ELFv2
104 +-#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}"
105 +-#else
106 +-#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}"
107 +-#endif
108 ++#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1"
109 ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1"
110 + #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
111 + #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
112 + #if DEFAULT_LIBC == LIBC_UCLIBC
113 +diff -Naur gcc-4.9.3.orig/gcc/config/rs6000/sysv4.h gcc-4.9.3/gcc/config/rs6000/sysv4.h
114 +--- gcc-4.9.3.orig/gcc/config/rs6000/sysv4.h 2014-07-24 17:25:19.000000000 +0000
115 ++++ gcc-4.9.3/gcc/config/rs6000/sysv4.h 2015-10-02 19:12:32.584700214 +0000
116 +@@ -761,7 +761,7 @@
117 +
118 + #define LINK_START_LINUX_SPEC ""
119 +
120 +-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
121 ++#define GLIBC_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1"
122 + #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
123 + #if DEFAULT_LIBC == LIBC_UCLIBC
124 + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
125
126 diff --git a/sys-devel/gcc/files/gcc-4.9.3-musl-res_state.patch b/sys-devel/gcc/files/gcc-4.9.3-musl-res_state.patch
127 new file mode 100644
128 index 0000000..363020d
129 --- /dev/null
130 +++ b/sys-devel/gcc/files/gcc-4.9.3-musl-res_state.patch
131 @@ -0,0 +1,12 @@
132 +diff -Naur gcc-4.9.3.orig/libsanitizer/tsan/tsan_platform_linux.cc gcc-4.9.3/libsanitizer/tsan/tsan_platform_linux.cc
133 +--- gcc-4.9.3.orig/libsanitizer/tsan/tsan_platform_linux.cc 2013-12-05 09:18:38.000000000 +0000
134 ++++ gcc-4.9.3/libsanitizer/tsan/tsan_platform_linux.cc 2015-10-02 19:19:15.765680892 +0000
135 +@@ -351,7 +351,7 @@
136 + // closes within glibc. The code is a pure hack.
137 + int ExtractResolvFDs(void *state, int *fds, int nfd) {
138 + int cnt = 0;
139 +- __res_state *statp = (__res_state*)state;
140 ++ res_state statp = (res_state)state;
141 + for (int i = 0; i < MAXNS && cnt < nfd; i++) {
142 + if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
143 + fds[cnt++] = statp->_u._ext.nssocks[i];
144
145 diff --git a/sys-devel/gcc/files/gcc-4.9.3-secure-plt.patch b/sys-devel/gcc/files/gcc-4.9.3-secure-plt.patch
146 new file mode 100644
147 index 0000000..e69de29
148
149 diff --git a/sys-devel/gcc/gcc-4.9.3-r99.ebuild b/sys-devel/gcc/gcc-4.9.3-r99.ebuild
150 new file mode 100644
151 index 0000000..46aabd9
152 --- /dev/null
153 +++ b/sys-devel/gcc/gcc-4.9.3-r99.ebuild
154 @@ -0,0 +1,65 @@
155 +# Copyright 1999-2015 Gentoo Foundation
156 +# Distributed under the terms of the GNU General Public License v2
157 +# $Id$
158 +
159 +EAPI="4"
160 +
161 +PATCH_VER="1.2"
162 +UCLIBC_VER="1.0"
163 +
164 +# Hardened gcc 4 stuff
165 +PIE_VER="0.6.3"
166 +SPECS_VER="0.2.0"
167 +SPECS_GCC_VER="4.4.3"
168 +# arch/libc configurations known to be stable with {PIE,SSP}-by-default
169 +PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
170 +PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
171 +SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
172 +# uclibc need tls and nptl support for SSP support
173 +# uclibc need to be >= 0.9.33
174 +SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
175 +PIE_MUSL_STABLE="amd64 arm ppc mips x86"
176 +SSP_MUSL_STABLE="amd64 arm ppc mips"
177 +#end Hardened stuff
178 +
179 +inherit eutils toolchain
180 +
181 +KEYWORDS="amd64 ~arm ~mips ~ppc ~x86"
182 +
183 +RDEPEND=""
184 +DEPEND="${RDEPEND}
185 + elibc_glibc? ( >=sys-libs/glibc-2.8 )
186 + >=${CATEGORY}/binutils-2.20"
187 +
188 +if [[ ${CATEGORY} != cross-* ]] ; then
189 + PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
190 +fi
191 +
192 +src_prepare() {
193 + if has_version '<sys-libs/glibc-2.12' ; then
194 + ewarn "Your host glibc is too old; disabling automatic fortify."
195 + ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
196 + EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
197 + fi
198 +
199 + toolchain_src_prepare
200 +
201 + if use elibc_musl; then
202 + cd "${S}"
203 + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
204 + mv libstdc\+\+-v3/config/os/gnu-linux libstdc\+\+-v3/config/os/gnu-linux.org
205 + cp -r libstdc\+\+-v3/config/os/generic libstdc\+\+-v3/config/os/gnu-linux
206 + cp libstdc++-v3/config/os/gnu-linux.org/arm-eabi-extra.ver libstdc++-v3/config/os/gnu-linux/
207 + mv libitm/config/linux/x86 libitm/config/linux/x86_glibc
208 + cp -r libitm/config/generic libitm/config/linux/x86
209 + epatch "${FILESDIR}"/${PN}-4.9.3-musl-linker-path.patch
210 + epatch "${FILESDIR}"/${PN}-4.9.3-secure-plt.patch
211 + epatch "${FILESDIR}"/${PN}-4.9.3-musl-res_state.patch
212 + epatch "${FILESDIR}"/${PN}-4.8.3-musl-fix-libc5-assumption.patch
213 + epatch "${FILESDIR}"/${PN}-4.8.5-posix_memalign.patch
214 + fi
215 +
216 + use vanilla && return 0
217 + #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
218 + [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
219 +}