commit: 54b01724ac24fd743f7fa38552dd9f94672c8c45
Author: stefson <herrtimson <AT> yahoo <DOT> de>
AuthorDate: Thu Sep 22 06:28:47 2016 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Sep 22 06:47:18 2016 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=54b01724
sys-devel/gcc: bump to gcc-4.9.4-r100, fixes bug #583266
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
sys-devel/gcc/Manifest | 2 +
sys-devel/gcc/files/gcc-4.9.3-pr68470.patch | 58 +++++++++++++++++++++++++
sys-devel/gcc/gcc-4.9.4-r100.ebuild | 67 +++++++++++++++++++++++++++++
3 files changed, 127 insertions(+)
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index c733638..8ab3bd7 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -13,6 +13,7 @@ AUX gcc-4.8.3-secure-plt.patch 1866 SHA256
65c60adf4a4fcf4707e8acc51e4062124b742
AUX gcc-4.8.5-posix_memalign.patch 1114 SHA256
87370f7854063bcf5f57bff931684c228370668ccf5ecd8e36ea9cf7c7455b16 SHA512
27e1a29e039dcc4c5190416702d1d95d48fbaeaac6440d81584989fe71a12f7bf5a484241ced9aa82b9f050eb3be8786d9584ba5299d304e7ed30506755880bc
WHIRLPOOL
e5bfe16163580f1fba8d80fa80f1aed6c3d4f22e32e3eaf0234181c214b7885c40f20d9e794d76225ca2449c6c138f051ed14fdeaa7132f05c6ba6c786ada7e9
AUX gcc-4.9.3-musl-linker-path.patch 3556 SHA256
22228421551806b81a1d3aff438eecf4202f64844141863fb8e665ef3b5eb5fb SHA512
cf58b49311c1a7a4cbb04a2ffeccdaa278872512e67b72ebe292fa155f419dc6025d158b67d58265de67edbd18c6af67f28c6f6806b581a8fdb9015ad2ee0aa3
WHIRLPOOL
c3d5e9c7fc64cd8a8bacca714da5881ee8d94585e0064f5e3965b20bfe23c48bbe8b0bc886cf291d616e51786e80d032c19bdce59a15fdb310546b61a0ab0886
AUX gcc-4.9.3-musl-res_state.patch 699 SHA256
822990f5075b65dc2d1c03722daa5a215301f9ec2c4323c10e80fff2fbd04e71 SHA512
93f59d16e026672051b5a65110f78ace0c91a4f1365b861e22741fbc42b92c4490e55068ae845bbcbb5af9221fb874e0b855a763189528a646e757b133117e28
WHIRLPOOL
98438e82aa8d387b5a96bc58d3a137766661cc53d7396165338448394c14996687626f46e9c93bcb6b2a2e422b97445f5097489616a0aff619cca01c8243a56a
+AUX gcc-4.9.3-pr68470.patch 2053 SHA256
9ca76f063735fb87ee01aa9321f714a04db2dd394381c5a659f7081eec9b45e3 SHA512
5950b4782034add9ded16ab4b6d7b2d5e2bbda1a3ae7f465d50c6a95469359d287126c1a57ac9d8c6ea2c61d7b18ff880b2ac2b25eec48f038452f87f0e24393
WHIRLPOOL
f216b046bfe55003af384b573ca0be977d310064f31fb9d8cc15badd6e4b4922b761004c02b44fe04460ece1f82d55eb5c35f09c006015b97cb7968347877dcf
AUX gcc-4.9.3-secure-plt.patch 1478 SHA256
b9435e19c3193e872bfdce8f635755655cf6e88889c57d21c7afa118d7068e95 SHA512
95f04716bad41fe3f290d44d21d1dad35548b801b56de331acac8bdf56019583a04681418a805a0b4dbfe19e9b51cecceff984cea257be58d3e7780c6cfc58a5
WHIRLPOOL
8af1f0cfaf0e8197754d841d1cd2b25615968cc503344574cd9ec6b644804e029687a4ded18f6e1efd584c8c99277eceb6f1012c6519a2747bddc400d8909c1e
AUX gcc-4.9.3-tree-vect-data-refs-correctness.patch 315 SHA256
904ae5ce2ecd5a2f7786c54d148a7562d0bb6f51fe60761038c2f57b8cf70356 SHA512
88d93c061ef72035522270ab60c8c2ec04e2fa2d69763f45b9eab0c37b19c23920484358d7556ad885775071ac04cf94684a2cd8ed93418d5f0c54ac3a045c9d
WHIRLPOOL
2b9c281401abc111d53467c51b6238c6f4c430a73d8833f161766f973138ffe3b4fa1ffe5cc5813b5e2f8a81dee2cdcaaff2b9a8f8e13089f993f3ab3d69ccbd
AUX gcc-6.1.0-musl-cpu.patch 1277 SHA256
6c7a28ccc5edc226fc6f3f6b9b0562fb873a9c88dfb25b608b5acd827f239c08 SHA512
b11c5933c02dda63b40273f6cee394d52c68265931817cfeea3645e971b9c822cc841242a7c74fcd07729171bc0723c2af0db21743bf92dd3dba3430ee6627a1
WHIRLPOOL
e0f6068a8028052f88cef840026baa459ae77a43d9144258fe7739a80b5dade852a2aa640feb5bce51dd54d6d35e0c8df99a8c9bdc140f9ae473f16ffb2e9af7
@@ -63,6 +64,7 @@ EBUILD gcc-4.8.5-r99.ebuild 2139 SHA256
0b762e2fb8c2bf92488b598c01977b07a3786afe
EBUILD gcc-4.8.5-r999.ebuild 2185 SHA256
7b8b261c0d3ea2e34a2f099b4f0a23a5bfd61e814dead44aeb4e45071be2c3f1 SHA512
e8f6e8bba4fd7818c30a555adcf25acbe818919c98204f91e27be04566aa267b9394547045e05e5486437853ceb1b75229d86089f69409a626a9e81e363c12db
WHIRLPOOL
872e4f0e40e2b9a0a51002c64e682eca1990c2b968c8917b9a1a7c309075a048ceffd7925bf7f67cb3f304badbf29ee5e94772f5a86503e1e5e42fa7682fb87e
EBUILD gcc-4.9.3-r99.ebuild 2195 SHA256
3f5be66ffc6fb064e14a24cb9005d1835685573f245ed1aa5143c5f5e7ba1a90 SHA512
c49043c69947bc37ab31142f51060ebc8d922bb13d4aae17957c60bb45e2494cba4724e8af3ac2f0d4f09ca4b3676645657a08b4893ca01175917bc07ce827d9
WHIRLPOOL
9b1bec2a6fe2ae003a94ba73bcf4b207db0f5a2988288820581508de7649d3e46a163852514755f49051be00fc43846844cd24cd1a8fe2462315ddeb53faf0a6
EBUILD gcc-4.9.3-r999.ebuild 1794 SHA256
514b9f6cddb5e6a43c53f866aa501812319bfccf7fb7713316563d55cb139aff SHA512
c7f4aad21658d6acb99f14b3b51707a74387206b9fc3629d962c755a7eb8a963b3df844ba60172305fc2e753fc7178d4723f02a487aeae643c85ff00062b4bd3
WHIRLPOOL
c6372f1014c5b8d22023f04b7223db4ae5d898f450f3d5cf286ccd82553f916978fba8d0910dc72fd5cdd1d92ecce9749597b09e252a58ff898d3616221af685
+EBUILD gcc-4.9.4-r100.ebuild 2320 SHA256
62a7b580317230c294b8103b2acbfb5ca49afdaf1fd6f2fedbb778a02be65d13 SHA512
fcbc99e45c09a77a4869328df5136c9530297ea810baad10d28faaaab5ec15dcde2b105fe3b30a5190b86740b7bd962a302d9b4c8e65551f226fb2fd00eb4c2e
WHIRLPOOL
6b73fa54aa7edc1e44a2b1bbb76f13e8135a21301a7203343e226b2112437749e12f5503a71f3cacc221ebda2d99c8db45b882d1cd014b8731acf3433f5c7c7b
EBUILD gcc-4.9.4-r99.ebuild 2268 SHA256
fdb60343669f5a03820920f9ee06d54e42def02475613f3c0221e4234f7cfcc6 SHA512
3b8df38d0600b5e006293e69265f3e9603dab01e40ba5391fc8e517d185388c3fcbcff571a7babb729e19a86ea37fca5b45f800fbf856c4d2c01d3506c5c32b5
WHIRLPOOL
2ae8860e5106d4e4b3680a7a885bdb80e5c5381e9cd608a6f55f6fcb69c9407b675ea2d18a2e8960be4408dea35228c5bc80f14d27a68e1d53f2e4fbfefed0fd
EBUILD gcc-6.1.0.ebuild 1076 SHA256
6d5acd2030e949af48922a3da83541c0720037212c71c1867e5de8373e8bc0b0 SHA512
7f4c657c930a7cb0cfdd34ff8fa811eb2e62834ed0ec094db6bbc5123ea8c86b72df1cf32d6660c0ef2dc3863276081665b95af0a1c47a1ba14802a5559e776d
WHIRLPOOL
73f9a4277585013050291df58b6d0c7db7fa65baed51c0a1b9462c212281de9d98d50c63be9d703fd45efb61e596fb74861aa41e17f4ac1917adb4f44961c18a
MISC metadata.xml 2039 SHA256
b200834baf1ac8adf966540ee7e50dbf1397248f08eeff35a8bde6bb16dbcc50 SHA512
b8fe281c88017b4d5d2ac05ea4e074d740b3943bc0d4cd361ec4f161f2549fb6401a2fa7881c06a4eae33ffd9755b6ebc4fa608654ec04838bff49ff22ee74a8
WHIRLPOOL
e063f7657a00a1e675a57000fed2fac1c05e986488f3a705c95909ac7a2e74ca8f97c6fb8bfffdb81388a967228a78adbcfa93b166d4095aade5875aaf350fa0
diff --git a/sys-devel/gcc/files/gcc-4.9.3-pr68470.patch
b/sys-devel/gcc/files/gcc-4.9.3-pr68470.patch
new file mode 100644
index 0000000..f1a7464
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-4.9.3-pr68470.patch
@@ -0,0 +1,58 @@
+diff --git a/gcc-4.9.3.orig/gcc/ipa-split.c b/gcc-4.9.3/gcc/ipa-split.c
+index 0d1495d..688c954 100644
+--- a/gcc-4.9.3.orig/gcc/ipa-split.c
++++ b/gcc-4.9.3/gcc/ipa-split.c
+@@ -1122,7 +1122,6 @@ split_function (struct split_point *split_point)
+ edge e;
+ edge_iterator ei;
+ tree retval = NULL, real_retval = NULL;
+- bool split_part_return_p = false;
+ gimple last_stmt = NULL;
+ unsigned int i;
+ tree arg, ddef;
+@@ -1162,12 +1161,28 @@ split_function (struct split_point *split_point)
+ args_to_pass.safe_push (arg);
+ }
+
+- /* See if the split function will return. */
++ /* See if the split function or the main part will return. */
++ bool main_part_return_p = false;
++ bool split_part_return_p = false;
+ FOR_EACH_EDGE (e, ei, return_bb->preds)
+- if (bitmap_bit_p (split_point->split_bbs, e->src->index))
+- break;
+- if (e)
+- split_part_return_p = true;
++ {
++ if (bitmap_bit_p (split_point->split_bbs, e->src->index))
++ split_part_return_p = true;
++ else
++ main_part_return_p = true;
++ }
++ /* The main part also returns if we we split on a fallthru edge
++ and the split part returns. */
++ if (split_part_return_p)
++ FOR_EACH_EDGE (e, ei, split_point->entry_bb->preds)
++ {
++ if (! bitmap_bit_p (split_point->split_bbs, e->src->index)
++ && single_succ_p (e->src))
++ {
++ main_part_return_p = true;
++ break;
++ }
++ }
+
+ /* Add return block to what will become the split function.
+ We do not return; no return block is needed. */
+@@ -1212,6 +1227,11 @@ split_function (struct split_point *split_point)
+ else
+ bitmap_set_bit (split_point->split_bbs, return_bb->index);
+
++ /* If the main part doesn't return pretend the return block wasn't
++ found for all of the following. */
++ if (! main_part_return_p)
++ return_bb = EXIT_BLOCK_PTR_FOR_FN (cfun);
++
+ /* If RETURN_BB has virtual operand PHIs, they must be removed and the
+ virtual operand marked for renaming as we change the CFG in a way that
+ tree-inline is not able to compensate for.
diff --git a/sys-devel/gcc/gcc-4.9.4-r100.ebuild
b/sys-devel/gcc/gcc-4.9.4-r100.ebuild
new file mode 100644
index 0000000..902eceb
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.9.4-r100.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PATCH_VER="1.0"
+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"
+PIE_MUSL_STABLE="amd64 arm ppc mips x86"
+SSP_MUSL_STABLE="amd64 arm ppc mips"
+#end Hardened stuff
+
+inherit eutils toolchain
+
+KEYWORDS="~amd64 ~arm ~mips ~x86"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} 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
+
+ toolchain_src_prepare
+
+ if use elibc_musl || [[ ${CATEGORY} = cross-*-musl ]]; then
+ cd "${S}"
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ mv libstdc\+\+-v3/config/os/gnu-linux
libstdc\+\+-v3/config/os/gnu-linux.org
+ cp -r libstdc\+\+-v3/config/os/generic
libstdc\+\+-v3/config/os/gnu-linux
+ cp libstdc++-v3/config/os/gnu-linux.org/arm-eabi-extra.ver
libstdc++-v3/config/os/gnu-linux/
+ mv libitm/config/linux/x86 libitm/config/linux/x86_glibc
+ cp -r libitm/config/generic libitm/config/linux/x86
+ epatch "${FILESDIR}"/${PN}-4.9.3-musl-linker-path.patch
+ epatch "${FILESDIR}"/${PN}-4.9.3-secure-plt.patch
+ epatch "${FILESDIR}"/${PN}-4.9.3-musl-res_state.patch
+ epatch "${FILESDIR}"/${PN}-4.8.3-musl-fix-libc5-assumption.patch
+ epatch "${FILESDIR}"/${PN}-4.8.5-posix_memalign.patch
+ epatch
"${FILESDIR}"/${PN}-4.9.3-tree-vect-data-refs-correctness.patch
+ epatch "${FILESDIR}"/${PN}-4.9.3-pr68470.patch
+ fi
+
+ use vanilla && return 0
+ #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the
hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && epatch
"${FILESDIR}"/gcc-spec-env-r1.patch
+}