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