summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-08-05 13:40:46 +0000
committerMike Frysinger <vapier@gentoo.org>2015-08-05 13:40:46 +0000
commitcf11c5014c169745fa50926258dccba3cb4e3614 (patch)
treeae9f3d35999fcf0f4b9c1a314a2d5e53ba0a478e /sys-libs
parentMake dbus optional #556668 by Kirill A. Shutemov. (diff)
downloadhistorical-cf11c5014c169745fa50926258dccba3cb4e3614.tar.gz
historical-cf11c5014c169745fa50926258dccba3cb4e3614.tar.bz2
historical-cf11c5014c169745fa50926258dccba3cb4e3614.zip
Version bump.
Package-Manager: portage-2.2.20/cvs/Linux x86_64 Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/ChangeLog7
-rw-r--r--sys-libs/glibc/Manifest31
-rw-r--r--sys-libs/glibc/glibc-2.22.ebuild196
3 files changed, 219 insertions, 15 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog
index a88b1fdb58ba..5a34400e5db4 100644
--- a/sys-libs/glibc/ChangeLog
+++ b/sys-libs/glibc/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-libs/glibc
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.1063 2015/07/28 09:07:27 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.1064 2015/08/05 13:40:44 vapier Exp $
+
+*glibc-2.22 (05 Aug 2015)
+
+ 05 Aug 2015; Mike Frysinger <vapier@gentoo.org> +glibc-2.22.ebuild:
+ Version bump.
28 Jul 2015; Mike Frysinger <vapier@gentoo.org> glibc-2.21-r1.ebuild:
Fix from upstream for ia64 atomics/semaphores.
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 6c45d9154d3f..cc99a3360b35 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -52,6 +52,8 @@ DIST glibc-2.20-patches-5.tar.bz2 55986 SHA256 3d3eec9ac9b5d0530f9e05614f4646d64
DIST glibc-2.20.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa
DIST glibc-2.21-patches-4.tar.bz2 32021 SHA256 2a77ab05ff0df464a0f2deb642d9ac9dc7b42d94b333e1db033ef2a33ba0a8e1 SHA512 39e128a550617d9b692e9ec12e77466767907e5066f78141af3089d06241282f06cf333fc9f7c932c5d5ecdd5020fdd79bfb33827332cce765cad2bcc06758cc WHIRLPOOL 98cc3324127c91c97e59f705a05b46abcd499c345eab873605d9fc3e456ec103ccb52f97b2aeaf59b4bfa5f47ed81cce32899aed3d7d46d201f3b6657c00c1dc
DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d WHIRLPOOL d07fec32bd92eade065a3b6170932b8bd41d07df4aa69dd5a860ebb9678c22bd1e20bf88b1fc05c3ecc18e709c0a63118e12525dc668e0399d7ef7fe4454702d
+DIST glibc-2.22-patches-1.tar.bz2 28069 SHA256 71d5ad9b1ab30e62353d303ce618480ff16bf027d3eb69fcd6ec12fbbbf5421b SHA512 43f1bbae69dc9397a702ac7e288ee9f079de47116dde6de9377716b0e65fc32f11c96cb69e3e87d749ff4180421202178689ddfc13fed7b4eef6070d65c79034 WHIRLPOOL 3c171ec5bcfcbd882724ab5f3f045491f2ac99e3d4119bcfbc2c3bb5a0df0eafeda0080fe63b4290bac0f2f29cc5c16c58a5428daa5952d2f097be34b3f39e67
+DIST glibc-2.22.tar.xz 12969072 SHA256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b WHIRLPOOL f7e707b3776fc197a2e7bf5633721925507237b154bbc1f94b9fc303c87e6fc039ff0758da6ee55b4c1a0daaa87c6e594a6c96e7b00a7ba8ae98ee29918709a7
DIST glibc-ports-2.13.tar.bz2 625945 SHA256 b11c4501ae929883447f409c31d65e82822b1c5693075a825a3d54612876ee5a SHA512 39ed578db363dab05e54d5272d3a8a0600493b91985c65a4d043b5a88d617ff46cca2d66d99ae69e92282d8f8a2357e79dcd5b0ae45b505497417d5137866ad6 WHIRLPOOL 766309e315f2f7edbe0b431691ea16f9917dd2f1c8d54b707e819b695f26dedac2d60c3a58499ee1b51a218b982e9930e49f79db096e166576c215a6ccac21e5
DIST glibc-ports-2.14.1.tar.bz2 630641 SHA256 1c830afb6d4aa166edaa09ec539580377ecbb16ba655d0aad6f5cb5a9a269aa9 SHA512 4ed18be51e2dec4395bf89701b32e443ba02e4e6b26ee1a72684a1f84ef302d58ed8b58f99e4e0ba3f539da0ade668de5881bb2b86fcd065d741448d9c129bae WHIRLPOOL 463aac8660f7f8d9d6e4ee5728aef2948892a54dc250d0543ffb3c2fb636a816384d5984631ab4420b98a51254d62b4b0ad8381a8006ceb1f632de135155939d
DIST glibc-ports-2.15.tar.xz 421820 SHA256 fcc271fcc3a808bf0f3aa1d144bc39b8d0d5f730aed6e206b883961515f0d1b9 SHA512 fc3c80a9a7ede0f35054e5be043fff4b967e6ef6678f42e617dd1dd498920edb4e4c785cf8e3cd97fc2914a35a892e0fd7e1aab24f0c3c8d207765a131bf3744 WHIRLPOOL a8a617eacb326615265832f86a7ef39678364b5b65d5c16d58680ec0debfbca6780018b7da9c1a86bdfffcde58aa1258b96ea4bd50b114901b522e62d48ae4a5
@@ -68,24 +70,25 @@ EBUILD glibc-2.20-r1.ebuild 6222 SHA256 8727c37f0777c5e5415622766c0770e2344cac05
EBUILD glibc-2.20-r2.ebuild 6467 SHA256 b79992af6f6dce82ebefd62e759d4c8d6cd8d657aa700eb4ab1457c87650104d SHA512 977449e7916c5cd56eb0b250d46e03606c79e31b654b2af85c4646432dcdeb6a9fd3e6cbaab4cbbad2954fa451d645afdd39fc19f8cdad1a4a64021c4ae32b09 WHIRLPOOL 60a1561f3e870c8a70f193a7657aa51a2d962c422e0857f73a6e8de8a94f32a1917b4453fe661e5d61468fd2184cd255c5fc221932d7bbc6c09d7b1c6a86e048
EBUILD glibc-2.20.ebuild 6168 SHA256 28bb3f0631787df2ff60a97ca9d7c40cdc31c8f411db86d977aab4592cfa1921 SHA512 8c046b30aa0ac2512bc4ec67684857e05bcfa3d4675734682fa79339c9c8255ee02f89bec797481a32e2d63b95547c9754b318232b205d69e65c52b49d5b2cc4 WHIRLPOOL 96838132b77387beb50ab2e02772e7f98a7713717fd010ac77a3979757a15537785b13ef58b5669d13658161174d37d37f3555720821dc83b241b7d647c611f6
EBUILD glibc-2.21-r1.ebuild 6453 SHA256 e11bdb5681e892c55d2bfe3ee4cfb00a651de983b2e5538b098e9b39a3fbfec1 SHA512 b47d66022b269995a980c996aaee90cdddfad6f6336b79cba540952c8a44eebd945563cf02ba7eebed2129c117542bd7fab49411353af566156cc51dae7560c1 WHIRLPOOL f8214b98ff398482e6a2dd756a66686b21b86784c6a42947b3109fc9223bec1563a802835028f24026026dd5620e788c68d8ce56350b8a3db10f45039b605199
+EBUILD glibc-2.22.ebuild 6451 SHA256 c3c5c4757f522f609aeff9f84b74b54fe0aeef53572e6bac24fc5fd6955b6555 SHA512 7a58ce804109f2b277c8b88dfd4a01293591f76164615341a409cc9bc1216b16e19dceb9f61420046c31b9ee89fe176e8ccaa9f2c2d4be3de2eeb5979457448b WHIRLPOOL d6614f673f20512a8687b10b2a2291ec3e77b6922f11e9f187d778fd8988661e24b4593c1d22570040f4f931b405352dd583d86480b18b08b11aa982847aafd7
EBUILD glibc-9999.ebuild 6196 SHA256 f3a4708bdc99c597105fa17d769c04c8d770718f0e905c5050e678c97a896398 SHA512 8edafd12ee20e4130cc61fc0b70dd8f790745a85c0719e5eeac5bbe1d3be4d5f0ec79382431cfd3c9d1d8914523e1a43beb6412ba2849107347959f3c0ee45a4 WHIRLPOOL ceca61c66c3e1df52098590053e67122d882a1a9a38b1d5671a731f262a7e971b7b9783554ccb61a91ea2e01afc76c5b9edb83ff895162d9ba57839e5c12fbba
-MISC ChangeLog 77686 SHA256 125c1bef3183185accbeef04ca148ce11d9c4423318c3819ebe856905dda79e7 SHA512 41ee63e4f0f0341680150c334eb6a080f98d7865c536b5c7d0fde33a34da4131b08d6af32ea4ea16b6b76d8f59925a37184eed1726f40f7a6b08dfa5c3830401 WHIRLPOOL 5a94ed915572b84d446e0f2c3134c510865861d3a6108f992e1db21e13d3956e123671bc910e82da620d0419a55e038d9c2cef626c0107ad9667b233785f5f4d
+MISC ChangeLog 77800 SHA256 8c28e107e024bd1f35bfb085fe6c7279e57aa2363a1fcfa24261b52e0d6bf64f SHA512 7a71c0fc45fe568090f0942b98959f2b99b722ef7e6157f9aa090019f9f19b1030cb0f233131a88c50538db98ec479838a61053801adacce9f72b3b00e41baed WHIRLPOOL e2c4e9445aa1a55fad5ef684c183d67d236181d65700a0af981aad53f7fcea1d0e2b55d9dd7bd5273ec4114d2c1c25590ac57807cf916726e116bcbd4808f5eb
MISC ChangeLog-2007 108548 SHA256 d622be202eb0d61a363b0ae4065012cd1d494fefaa0c03d4aa7986177cdde6d0 SHA512 fdb3f311a3be4b97a6acfceb1763af5ea69e74d8195522c5d03307f75e15a9382991e9e29dbfdec79e74f1c36328f82648768749bc929e5050ff64b628c7ca98 WHIRLPOOL e550f354394569069e000a7e70ec69c94388a0f415c19b427203f0dcbcbeeec0f5e379ee2af7886cd2d68559e749fab8122e7e077985729d7e0e728ae9096d7a
MISC metadata.xml 724 SHA256 b9d8df62b36ae314b29a3177c534495036ef97a819c152247383e907004fe4dc SHA512 8c215338bbf47de95f40f9f24c50d107ec0bbe4a47282d3cbc253d4003db85a88c542aee33756dd9d2d2ec4c70992009261d821a8c145c24c24d2ad448595b77 WHIRLPOOL 954f5d080c7219ffe85e128eddd05c74a32a457219d423441bb58d54a7de1786da6a2efb541861b3bfc93a9acf2ae6f79168d1ccc37385f84af0eb439fff2954
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQIcBAEBCAAGBQJVt0ZTAAoJEPGu1DbS6WIACFwP/RYmMTdMvl4HE9yNrNuy67xp
-3qBRP+0XmUDA95p+0uIExDYMd5x+rY5Kt8HKFga8/o7CuItvxo4ncpQJXMUC9tEb
-pCs9M2wSmGD0raH1xu0K8doRlbs+PhfO9eAD9isdC0pnahtpxDU5BdLyv8Paw4Qc
-k+Qqc3fj7X+8o2TiGutrrzGqEpiOVGcC1OgIHFX5VhBbI70U6dtoE1MNn2oDcyAh
-oE6+0RAX/ln1lnewNbPYwhfrQw5gowSbGR1QI4CB41+j0RyrSX/AlLNRvP5JDKNe
-TP6uROV5Ech3ol/0OUNhF3gP1Tsc42HqyWn+bFMQ6Yg1gzOilagDGmUbY8PEtaN/
-aKc9WswL66XDMuEE2DBAg1OatH1e7/dypNfmRKOqxtt0JNjSvwg+2JQ7FqJv/w5+
-E7rXDW+p3QUK0erYwv3/3KUDpD+ogXlgdvbxTgbGdW3uHU1fd13YNXC1Dv/dino8
-omS9jQh/CM5lHGot+rVpOKCLHnChzdi7G+8XyqpfpEHPjmLZ9F+U0DCl4clGXYvg
-2NOEgiZbZyEomCnkpmKD9PmBeOlTMa8vQLifYG9uS7ifX1s+ipUzqj1vU6J+2Hcz
-tKE6xMcHToElvyGY9StVr83PvBgup4H0xb/QA765rCnRkxTHncZD5lKD9T7VtkhE
-14FT0lvnFzQu8u8c/10P
-=EvkK
+iQIcBAEBCAAGBQJVwhJnAAoJEPGu1DbS6WIAsrcP/jJ0bydgMOCGjH70arnOKt/7
+065WqhzgrwEX0z8dwtKbYRcZetpkrHGqJppGVQh+8yJzC1CT/+CBwlZQoOHv3KfJ
+Brp74i0UJ58fAVyg2B1f4QakMjJp0dg2uxUHE9aVyV/UvUONi++YX2DrvTU6H7fE
+zXi2Hp6L3a+bKxnEGlIH/nMFRaRSy3X7ImmxOPSWP2B5eTeEorJTh3uZQYouzvpg
+JcbAKYLQIt04oQOQpuR71qmheIR9YL77FUNd/JBeZC6mKR5uqGwzuE63vFyq23iK
+RXKvcpxq/Cm/dgL0AUK5xJSP2W3Lk+qRpVLemA/14f0Q8wPqQ98WoeSXDUirDHux
+lWk5c3NcsLfob492rQCFpWrqKChA+CElqgFum0d6x4TXytR7g2L4xzsfKIbBVu4W
+rqZKZXbp0bTEjR9yI+T0g2v1r8X65cl4otyBRFlKjOZvuNSpfKK9aEoc+Azow+A0
+xKxrLzXUrvIpk52vjpamB2bs1MHrOgL3PCkGTG/9t5HsoXwRMQ7FeeDjmtaVVICk
+PAnRKin71MlEwevgMWWoRd62cviA6h3Y3fAUpO2lDTlqMrSVHJCwWexfZx8NEBbf
+Gt5wb+jUFvzQ2Sy8PtTNgzX4ysI3fNC6o2PmdvTj0YyUDP1EjZ5LHi8rHim0TDoI
+cGeBajA42y2suio1qiPk
+=kIwf
-----END PGP SIGNATURE-----
diff --git a/sys-libs/glibc/glibc-2.22.ebuild b/sys-libs/glibc/glibc-2.22.ebuild
new file mode 100644
index 000000000000..515ec7ddd906
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.22.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.22.ebuild,v 1.1 2015/08/05 13:40:44 vapier Exp $
+
+EAPI="4"
+
+inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing
+
+DESCRIPTION="GNU libc6 (also called glibc2) C library"
+HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
+
+LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+RESTRICT="strip" # strip ourself #46186
+EMULTILIB_PKG="true"
+
+# Configuration variables
+RELEASE_VER=""
+case ${PV} in
+9999*)
+ EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
+ EGIT_SOURCEDIRS="${S}"
+ inherit git-2
+ ;;
+*)
+ RELEASE_VER=${PV}
+ ;;
+esac
+GCC_BOOTSTRAP_VER="4.7.3-r1"
+PATCH_VER="1" # Gentoo patchset
+: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
+
+IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
+
+# Here's how the cross-compile logic breaks down ...
+# CTARGET - machine that will target the binaries
+# CHOST - machine that will host the binaries
+# CBUILD - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+# CBUILD = CHOST = CTARGET - native build/install
+# CBUILD != (CHOST = CTARGET) - cross-compile a native build
+# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
+# For install paths:
+# CHOST = CTARGET - install into /
+# CHOST != CTARGET - install into /usr/CTARGET/
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+# Why SLOT 2.2 you ask yourself while sippin your tea ?
+# Everyone knows 2.2 > 0, duh.
+SLOT="2.2"
+
+# General: We need a new-enough binutils/gcc to match upstream baseline.
+# arch: we need to make sure our binutils/gcc supports TLS.
+DEPEND=">=app-misc/pax-utils-0.1.10
+ !<sys-apps/sandbox-1.6
+ !<sys-apps/portage-2.1.2
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="!sys-kernel/ps3-sources
+ sys-apps/gentoo-functions
+ selinux? ( sys-libs/libselinux )
+ !sys-libs/nss-db"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+ DEPEND+=" !crosscompile_opts_headers-only? (
+ >=${CATEGORY}/binutils-2.24
+ >=${CATEGORY}/gcc-4.6
+ )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+ DEPEND+="
+ >=sys-devel/binutils-2.24
+ >=sys-devel/gcc-4.6
+ virtual/os-headers"
+ RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
+ PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
+fi
+
+upstream_uris() {
+ echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
+}
+gentoo_uris() {
+ local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
+ devspace=${devspace//HTTP/http://dev.gentoo.org/}
+ echo mirror://gentoo/$1 ${devspace//URI/$1}
+}
+SRC_URI=$(
+ [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
+ [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
+)
+SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
+
+# eblit-include [--skip] <function> [version]
+eblit-include() {
+ local skipable=false
+ [[ $1 == "--skip" ]] && skipable=true && shift
+ [[ $1 == pkg_* ]] && skipable=true
+
+ local e v func=$1 ver=$2
+ [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
+ for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+ e="${FILESDIR}/eblits/${func}${v}.eblit"
+ if [[ -e ${e} ]] ; then
+ source "${e}"
+ return 0
+ fi
+ done
+ ${skipable} && return 0
+ die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe <function>
+# run the specified function if it is defined
+eblit-run-maybe() {
+ [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run <function> [version]
+# aka: src_unpack() { eblit-run src_unpack ; }
+eblit-run() {
+ eblit-include --skip common "${*:2}"
+ eblit-include "$@"
+ eblit-run-maybe eblit-$1-pre
+ eblit-${PN}-$1
+ eblit-run-maybe eblit-$1-post
+}
+
+src_unpack() { eblit-run src_unpack ; }
+src_prepare() { eblit-run src_prepare ; }
+src_configure() { eblit-run src_configure ; }
+src_compile() { eblit-run src_compile ; }
+src_test() { eblit-run src_test ; }
+src_install() { eblit-run src_install ; }
+
+# FILESDIR might not be available during binpkg install
+for x in pretend setup {pre,post}inst ; do
+ e="${FILESDIR}/eblits/pkg_${x}.eblit"
+ if [[ -e ${e} ]] ; then
+ . "${e}"
+ eval "pkg_${x}() { eblit-run pkg_${x} ; }"
+ fi
+done
+
+eblit-src_unpack-pre() {
+ [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
+}
+
+eblit-src_prepare-post() {
+ cd "${S}"
+
+ if use hardened ; then
+ einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
+ gcc-specs-pie && epatch "${FILESDIR}"/2.17/glibc-2.17-hardened-pie.patch
+ epatch "${FILESDIR}"/2.20/glibc-2.20-hardened-inittls-nosysenter.patch
+
+ # We don't enable these for non-hardened as the output is very terse --
+ # it only states that a crash happened. The default upstream behavior
+ # includes backtraces and symbols.
+ einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
+ cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
+ cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die
+
+ if use debug ; then
+ # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
+ sed -i \
+ -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
+ -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
+ debug/Makefile || die
+ fi
+
+ # Build various bits with ssp-all
+ sed -i \
+ -e 's:-fstack-protector$:-fstack-protector-all:' \
+ */Makefile || die
+ fi
+
+ case $(gcc-fullversion) in
+ 4.8.[0-3]|4.9.0)
+ eerror "You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile"
+ eerror "glibc. See https://bugs.gentoo.org/547420 for details."
+ die "need to switch compilers #547420"
+ ;;
+ esac
+}