# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="4" PATCH_VER="1.5" 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" #end Hardened stuff inherit eutils toolchain KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd" 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 '=glibc-2.12 #362315" EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch" fi toolchain_src_prepare 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 if [[ "${CHOST}" =~ "muslx32" ]] ; then epatch "${FILESDIR}"/musl/4.9.3/aarch64.patch epatch "${FILESDIR}"/musl/4.9.3/arm.patch epatch "${FILESDIR}"/musl/4.9.3/gcc-autoconf-musl.patch epatch "${FILESDIR}"/musl/4.9.3/gcc-config-musl.patch epatch "${FILESDIR}"/musl/4.9.3/gcc-ssp.patch epatch "${FILESDIR}"/musl/4.9.3/gomp-posix.patch epatch "${FILESDIR}"/musl/4.9.3/gthread.patch epatch "${FILESDIR}"/musl/4.9.3/kill-fixincludes.patch epatch "${FILESDIR}"/musl/4.9.3/libstdc++-generic.patch epatch "${FILESDIR}"/musl/4.9.3/microblaze-size_t.patch epatch "${FILESDIR}"/musl/4.9.3/microblaze.patch epatch "${FILESDIR}"/musl/4.9.3/mips.patch epatch "${FILESDIR}"/musl/4.9.3/powerpc.patch epatch "${FILESDIR}"/musl/4.9.3/sh.patch epatch "${FILESDIR}"/musl/4.9.3/unwind-dliterate.patch #epatch "${FILESDIR}"/musl/4.9.3/vis_hide.diff epatch "${FILESDIR}"/musl/4.9.3/x86.patch epatch "${FILESDIR}"/musl/4.9.3/x86-Fix-posix_memalign-declaration-in-mm_malloc.h.patch #for dev-cpp/libcmis epatch "${FILESDIR}"/${PN}-4.9.3-musl-res_state.patch epatch "${FILESDIR}"/${PN}-4.9.3-x32-ms_abi.patch #for wine / testing fi }