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
+}

Reply via email to