commit:     6f1eaca95ed8be265ed0915447e34371d354dd87
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  6 22:54:05 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Sep  6 22:54:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=6f1eaca9

sys-devel/gcc: add posix_memalign patch, bug #559516.

 sys-devel/gcc/Manifest                             |  2 +
 sys-devel/gcc/files/gcc-4.8.5-posix_memalign.patch | 30 ++++++++++
 sys-devel/gcc/gcc-4.8.5-r999.ebuild                | 65 ++++++++++++++++++++++
 3 files changed, 97 insertions(+)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 58d885b..ef727dd 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -10,6 +10,7 @@ AUX gcc-4.8.3-musl-fix-libc5-assumption.patch 529 SHA256 
74cdaebe0e376c05f64808f
 AUX gcc-4.8.3-musl-linker-path.patch 3425 SHA256 
d5415e1ae64dfb0e2b9e164806884441c62e5261e3d253437afd8e885529d2c5 SHA512 
c2d62fb4e7e636c95ed013910b84ea46b09e7af8dc03ca7b7018f9623ebfdb3aadf277a3248a9e01a913445cb03dc1a91e46152198d02c272f35c559ea6b825f
 WHIRLPOOL 
02666002615a49f45b3c977e90053de399d88664c6332c886e6aded8faa73abcdda7374e67f7848a40f05ed2a13bef0ef5725f237a1a9b971e467790176b0f35
 AUX gcc-4.8.3-musl-res_state.patch 668 SHA256 
ff5948712855a10f4b65750b9fa3fb188adf69ff5612161aeff5e6674cf292ba SHA512 
bf30a772b5858210ac8ed46c50146655df98809c1daeb755fad9de592e7339c2e25b0870efd6351067f12e93a2270774a0e7bfbf0dfe8e0301c145c0dd966b30
 WHIRLPOOL 
457a548a900536024d722a2ff27f757a167c2ac9f1c4b3f38b0bbd29836b80938ad977617a1dfb71d81e063b2dc7213e8332ef4f9ad2a36eb402b8f97727b427
 AUX gcc-4.8.3-secure-plt.patch 1866 SHA256 
65c60adf4a4fcf4707e8acc51e4062124b742601ed7f7ae049e69790cb051658 SHA512 
5a4ab263be1e10aa1d7685c0dcd2537e0ff1d50b3f9687064988ae04f18f995fc608e76644ba657a28bb1217c96dfef7b64da7e6fa3ed522001140a51a67a8a3
 WHIRLPOOL 
2a60dcea7de6e2706370ed66f3b7f99c250bce96021e1c7ee16cd9d3358bea4bcbbd1a893662e8027dc59a9e58f95c890c81ee2070e83170b9a83b6d5a9d8ac7
+AUX gcc-4.8.5-posix_memalign.patch 1114 SHA256 
87370f7854063bcf5f57bff931684c228370668ccf5ecd8e36ea9cf7c7455b16 SHA512 
27e1a29e039dcc4c5190416702d1d95d48fbaeaac6440d81584989fe71a12f7bf5a484241ced9aa82b9f050eb3be8786d9584ba5299d304e7ed30506755880bc
 WHIRLPOOL 
e5bfe16163580f1fba8d80fa80f1aed6c3d4f22e32e3eaf0234181c214b7885c40f20d9e794d76225ca2449c6c138f051ed14fdeaa7132f05c6ba6c786ada7e9
 AUX gcc-configure-LANG.patch 2052 SHA256 
63de6d2dcfe14f21d147abeb1390405b9220c03f8e968f482d4b4c1cf279c88b SHA512 
a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129
 WHIRLPOOL 
3cc1ec912fb192ff1058de5b93e49a994ba30d1501a932290dd5b3df1cd783875621cda56edeb41894cd5fa10c04917e693a40a60be8d742ddd7992bf5d8afeb
 AUX gcc-configure-texinfo.patch 337 SHA256 
74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98 SHA512 
a15fba8bf2ff02bdeca54d6f186bfa08c1079c6a8ba0a3beef154483ce5c1b8c497e7ffeec32371968f0037e0ff8384609eb0c367d0155a4e5a7eef8aad084d5
 WHIRLPOOL 
39d008aad06f7621e4e5db15f5e85a59e583b43f8d247029bd4944466bb60a9795bda157d185c45c329294078e282703a243aad5c468d90c77665dd6336870d4
 AUX gcc-spec-env-r1.patch 3148 SHA256 
da0a6442eb42bce58cbdc7858b110a2e65fc5bd5b4b780b9b491033de6e302fa SHA512 
ecae71577543772cfe1711f1b4a8815c0b5d706ebd01edacd1f07586637d4805e25771f970a6e6d1bb696d4b1b5ef3e0036088a96a9f6beff7ddaee704175d16
 WHIRLPOOL 
3535605998eabccdee71ba396ed5cefbb8b0a8cb073101f6444c7d01233f3b3904c1b29f4daf0a3417c68de8dbd62a0b7dc367cacfcbfa0c4ee1b69b7df8c6fb
@@ -32,4 +33,5 @@ DIST gcc-4.8.5.tar.bz2 86165587 SHA256 
22fb1e7e0f68a63cee631d85b20461d1ea6bda162
 EBUILD gcc-4.7.4-r99.ebuild 2135 SHA256 
5f115478d59916f65c893f1be7130c35d9102be68a479f5ab9278b00eebb35d9 SHA512 
071557fc2aa9ced6a763b6c28e67fc605de074840e076b28f5e3fa73c7e67db6b1117876e35ae4576263f5ae6ca42b010e464194c8c14f0f49f95ae8a7c699d0
 WHIRLPOOL 
12647a248a2369dda57bea3a255b7d3ef67f1647774b88500282b12c05b914848b2f4abd957353b96bbad0828a344d3505d7e338e742d6ff13c87148020b6314
 EBUILD gcc-4.8.4-r99.ebuild 2209 SHA256 
9d9ddf6395eaddb12b3cdc2ac33b7b06d58d7a3ccb52cd82897e582b52d69455 SHA512 
b1e9a3b86f11c52064e02f3c8d5e2fc75e77bb97ec508e771f1e14b5b3bc90e05cec22cac0e8fe5ff86f55b6f622d34e55651c3f439ea4e014cbf01cb62bcf27
 WHIRLPOOL 
a522b4b3ad3c3198ba0badd53129282c306864e750613a499cad66e674e8a9ffaa443f2919ad2d477113a15abd0a1840de8ae2ea9a6b1a53dabeca2ee59ff2ed
 EBUILD gcc-4.8.5-r99.ebuild 2207 SHA256 
674ff2cd658a56149a7288fc67df113d4684c295725bc0692fa4bf1f3051e2cc SHA512 
390611189dc9af6bfe8b1e5be50815733f63f665ab43f8a4546679efe6a346166f8a40085dd05b57ea5594ec2ad1ff9e2bc424efe6c72a45c5a9087f86a40188
 WHIRLPOOL 
d3cafac38f79806cfb874767db4b449ed17c09faafd233bda9952ea934a35f0a80c0e02c0dd6888c8610d13713e35ab2edfaf98f08c40d3822ed39da3e30deca
+EBUILD gcc-4.8.5-r999.ebuild 2263 SHA256 
52a839eda8e8b1a21a1c19dbd7f4ef7156dbb928be969bfc77d9722c2bcb215e SHA512 
c8f8646bfbbbdf84e67a2b0a79e4a862d44e817cc90782a03fb343b42dc9c6400b28c6d4f3c63dcb745f958b45269319f4e5ebaa6dd883ea72ab646d33e3ceb3
 WHIRLPOOL 
94713c83a30bc86160e8c09e30e22ef62bc7f1ea8c079f41eed28dc5a8eedae98136810b04b4085b9a2aea30790e4e458c223c7f9085b74e5f42fb56d24edffb
 MISC metadata.xml 1647 SHA256 
912a61ec01bb34d65df28f726b5fd31380c88b7b3dbf325860ae53de143e2d08 SHA512 
733378ac017f7557e700faa7a28a18bd175e870bd3fc7d5e496bee4219ff5cfa0ff9ab3e506c61ce23693b1e4fb45b78bc34ad1fa9b87fc6280b7d23c5256b03
 WHIRLPOOL 
0614b060408667ea3d9250e5c7a056d61979ac1e7acbf4a54907c42549ee1d02675c2dfe01a167ae3901a9becd8b1aeb3aba42bfec026b2c6012650821a1dcfe

diff --git a/sys-devel/gcc/files/gcc-4.8.5-posix_memalign.patch 
b/sys-devel/gcc/files/gcc-4.8.5-posix_memalign.patch
new file mode 100644
index 0000000..4a5df48
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-4.8.5-posix_memalign.patch
@@ -0,0 +1,30 @@
+diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
+index 901001b..321fcd3 100644
+--- a/gcc/config/i386/pmm_malloc.h
++++ b/gcc/config/i386/pmm_malloc.h
+@@ -27,12 +27,13 @@
+ #include <stdlib.h>
+ 
+ /* We can't depend on <stdlib.h> since the prototype of posix_memalign
+-   may not be visible.  */
++   may not be visible and we can't pollute the namespace either.  */
+ #ifndef __cplusplus
+-extern int posix_memalign (void **, size_t, size_t);
++extern int __gcc_posix_memalign (void **, size_t, size_t)
+ #else
+-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
++extern "C" int __gcc_posix_memalign (void **, size_t, size_t) throw ()
+ #endif
++__asm__("posix_memalign");
+ 
+ static __inline void *
+ _mm_malloc (size_t size, size_t alignment)
+@@ -42,7 +43,7 @@ _mm_malloc (size_t size, size_t alignment)
+     return malloc (size);
+   if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4))
+     alignment = sizeof (void *);
+-  if (posix_memalign (&ptr, alignment, size) == 0)
++  if (__gcc_posix_memalign (&ptr, alignment, size) == 0)
+     return ptr;
+   else
+     return NULL;

diff --git a/sys-devel/gcc/gcc-4.8.5-r999.ebuild 
b/sys-devel/gcc/gcc-4.8.5-r999.ebuild
new file mode 100644
index 0000000..b5e450f
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.8.5-r999.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.8.5.ebuild,v 1.1 
2015/06/24 13:42:48 blueness Exp $
+
+EAPI="4"
+
+PATCH_VER="1.2"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.1"
+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 ppc 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; 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.8.3-musl-linker-path.patch
+               epatch "${FILESDIR}"/${PN}-4.8.3-secure-plt.patch
+               epatch "${FILESDIR}"/${PN}-4.8.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
+       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