summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-02-17 08:13:15 +0000
committerMike Frysinger <vapier@gentoo.org>2015-02-17 08:13:15 +0000
commit456006319ab49f4d21df219161d9eae3e6a4aa1e (patch)
treeda7becbb9c2702c910ab15d03c4d59580a3af82f /sys-libs/glibc
parentStable for ia64, wrt bug #536790 (diff)
downloadhistorical-456006319ab49f4d21df219161d9eae3e6a4aa1e.tar.gz
historical-456006319ab49f4d21df219161d9eae3e6a4aa1e.tar.bz2
historical-456006319ab49f4d21df219161d9eae3e6a4aa1e.zip
Pull in various fixes from upstream (mostly security).
Package-Manager: portage-2.2.17/cvs/Linux x86_64 Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r--sys-libs/glibc/ChangeLog7
-rw-r--r--sys-libs/glibc/Manifest30
-rw-r--r--sys-libs/glibc/glibc-2.20-r2.ebuild188
3 files changed, 210 insertions, 15 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog
index 05e141b29dfc..b1a643a2c407 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.1039 2015/02/15 05:28:39 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.1040 2015/02/17 08:13:13 vapier Exp $
+
+*glibc-2.20-r2 (17 Feb 2015)
+
+ 17 Feb 2015; Mike Frysinger <vapier@gentoo.org> +glibc-2.20-r2.ebuild:
+ Pull in various fixes from upstream (mostly security).
15 Feb 2015; Mike Frysinger <vapier@gentoo.org> glibc-2.21.ebuild:
Add fix from upstream for memcpy on x86 systems #539820 by Matt Turner.
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 0ace576de724..ab0b836df5f6 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -70,6 +70,7 @@ DIST glibc-2.19-patches-3.tar.bz2 80664 SHA256 6fb03292e224199e0dd9ba7ee83aca723
DIST glibc-2.19.tar.xz 12083312 SHA256 2d3997f588401ea095a0b27227b1d50cdfdd416236f6567b564549d3b46ea2a2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d WHIRLPOOL 9581a3a23ebdd56bc559b56b95b7bcd21ca039546ec19c6c0e4e0738597542164fdb21ab1d1f36d5e73a205fb51f0974c7d497972615bce69ae002298f6475b6
DIST glibc-2.20-patches-1.tar.bz2 78477 SHA256 b3b1c4022503dc433cc4969534f27ee019ab695aed8b722e914d7fb864db5606 SHA512 56e954f11610fa4f9fffc68bdad98114bed7592f5a4f8bd81a0306ee99311db8cb4dd4469a6f2a5a60ff4a9e6d172e49971d389f1b2911df7a408571737c1ee1 WHIRLPOOL 02aeda854ca220ed3b4fe41510d918a8fc4fb9e95a3761a3884e2d2d3c0a515c82e835d7a74e41dc0a20c865de120b60ea4e561cd3f25534568981c8084dce00
DIST glibc-2.20-patches-3.tar.bz2 30916 SHA256 c10cc881a1ee587dcaaff234c8e05dcc6a6e4d4bbafcae21e6267616a20bb354 SHA512 cbbfccdf0ba0ad7fb740a557a246b647c020dd841aabd256c34bb8c5f4aac2ee0ed50e5f15ac28a161e294a9a3803560317bcf934cc938daa58111d7373b1b66 WHIRLPOOL 2889809da097e148bae7769316f7a744880fce0c1cd74ef16e45e343c5aa02f549ff6f9e13ac114cb061b914d3517151ab803af5683864ed09ebc72326561e64
+DIST glibc-2.20-patches-4.tar.bz2 55075 SHA256 f0d5d1d4a2e9ba11a96b79c089525122fbfdf13004f219ddfcf7046896696529 SHA512 36881a85f9e3f75b7e6bd688aedd7075adc832eb6e795a435eb9f74aab7f4160c95ea8be209a786b4bb4d0785a538a2ca41375c68ca0592bebfcb6b134cdbceb WHIRLPOOL b995733f82146bb5040e2f02afd33cf96c2e7c8efe7edec70d2bc724921aaf47b992e033b2fe0512e33420e1ca2af5b7203d618bf5aa2ebeab87d1350d850364
DIST glibc-2.20.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa
DIST glibc-2.21-patches-2.tar.bz2 29131 SHA256 6b53e15e82e15788e526ac002fd4c8d47732e169c91da2b65da6c6a536d6f5f5 SHA512 9d3c213142a4ddf809128f02645e367d2391e1c68597a1b8a7d0a27da39b89abe5585bfef6dc43863dadfa4578f49f0c1d0a98f20035aac274327ed712f6fcc6 WHIRLPOOL 76830a0438b6d6a827b2c4026c247f2a5561e0dd2cbf1bdce99a9e753213baf3e0ad9ac1c6523d1d883d390d4b62f17872b86b3f9b1b564f4d9f82cd077b74a3
DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d WHIRLPOOL d07fec32bd92eade065a3b6170932b8bd41d07df4aa69dd5a860ebb9678c22bd1e20bf88b1fc05c3ecc18e709c0a63118e12525dc668e0399d7ef7fe4454702d
@@ -103,27 +104,28 @@ EBUILD glibc-2.18-r1.ebuild 7021 SHA256 308a57802e31f6ec4a2ab6be491bcf679707a6a7
EBUILD glibc-2.19-r1.ebuild 6903 SHA256 95acb9caf384d01a5c89af7242c72f40c5c2a8c219683c4096f65dd59e34668f SHA512 14a33b61b20acb6993b07b4842c76f3602e9d0ae2f07a44e0501831080c3730373aa5f02c96f328c47fde89e60839ec85f4dd98c4f6b515eacf03d1ab0795df8 WHIRLPOOL 1b3883b5a2641687fd46df89e140e0e332da0933fc60426906c6afaa9d825d6fdc2fea0de1a95c7a74736e96adb346c660aaf5ef0597e2c5324e716cf86873b0
EBUILD glibc-2.19.ebuild 6912 SHA256 3a11e60bed77cc2dad678ad97ed7a959a59a91a94ca28fd4d7d8776a6217a00f SHA512 70c9b91f224c276783b96ae60f57ac48886861fda71be6e6e292840b4c8cc0fea798005c26c6c33f198c63fb2c38bf78e994821dfa010086ba7ece443257b851 WHIRLPOOL 98be39cc52c7d8431e46f24f9552db63980f4a38c8e12aaffd4b08c7c66f8931a16fd7deb99e43a5bb330a42e6c1e722a9a8f74d1fe97523d7b4bfe75c9accf5
EBUILD glibc-2.20-r1.ebuild 6213 SHA256 ffa484fac7185758cd114c91804460e26ae3da5148b98e106a04481c2d081d8e SHA512 f6899f6a946259e03e39ba12b7522a883f66bbd294029716ba3858340a4ed68be7dbbd506cde3e5a27fa1fe5ebc0215deb6f7059e95384ac869c77820e329962 WHIRLPOOL 66b1d94a2dbad951153ec17ac8510b7dd6939955af0467acae3721c44f2e2704d8f02508aafa25ad64f3cfe8971d46d674fd4c89bf1d76e7da31a6c1b2949308
+EBUILD glibc-2.20-r2.ebuild 6213 SHA256 c2d491ee2d86abe3927a81b486a311bc72483e8181c55e77e96ca6d4538aa3b6 SHA512 3814866be8cc92f61ad0dc0929a793afd7f0ed490d60bb2ab7d26e47d6ce2a4aa0a70b2308888a608d98b55cf81b45885f9d4688882c9d2a5339946bfeda703d WHIRLPOOL ef56803212fe940b34aeaeb417256483672b10e4912438df1c1a3350f091a669b0b3c133bf1abfe1fb1f96050fd7dab7d04eca54829e8d818f236cb464fe15d4
EBUILD glibc-2.20.ebuild 6159 SHA256 60cd13aa057dedf49026f440b2d0f46ae36374689d2085a7209dfb991939e0e5 SHA512 f9f64226f1d42c7db42b0c221e53e58cf22df6768f3a4e64367d8537ed232cf3566848c6210dd77a287edca05e2d952a5953ec750dc97a3c878847f06c5c0f56 WHIRLPOOL dadc71db6048b4ba75bf63e1e825f5f8ebc45f64947d9463e2a867ec5323a6c8e6d34d269c4632aa54d31cf743e63ecd6484eaa00271128c44da19dc1b809310
EBUILD glibc-2.21.ebuild 6187 SHA256 e5b14a7c4ed36ffbe700f90738c01626a556eb47a0ec53e87c99194656ff191d SHA512 eda58f7925d00c364e0c9b1a808c1f9e0ca257c8e16f502475876cec22058fdabf6875a112a197ee3e472ecef049145b0d0be1b76ff6c9f94760b429a1e8941d WHIRLPOOL 7841240c4ccee77a75cb226a04ac7d7dcbdf25a84b4e7634032e2a13940bf58204aae385038c539f4f3ac088f7c2e03ab17237e21d807449fa27748f37f76dfd
EBUILD glibc-2.9_p20081201-r3.ebuild 6787 SHA256 3d9ff2b86df088b8e8cc082c5ddef164b48cffcccfa2ea001306e79a6d52a52c SHA512 7070020105a777bbf6d846fab291b238d7861472c737031e8c52b6d5c2a0524e228b724751325448ce94a42ee39112088b91d0597cd2cdbcc68c51248d2d5a11 WHIRLPOOL aa0e2d11377c3a30478afbef0fa3daa12aa9711d68dc92ab08fca999e599c613648644da2e6f81c38dc98192ed26934c4a35418a97d3146650cd4c82e39a7fed
EBUILD glibc-9999.ebuild 6190 SHA256 5a3f6bf5cb702fd221f75224b8223b9c0250be7baa81ca891add96eda104fca5 SHA512 84120f37f2b9e899582ecdb1d1ffb7e23f383b95e5989398880dda90e276bb2025d338433323a4558a188cf61e499ba5842c06c8bbb8f09f0c4fc07651e7509b WHIRLPOOL 2cc9f0b237c6dd31c7fd9b601ce0e00fc305979a48e197919040a2750168dc00b89eeb69d3e18ace53613e086a3e6779d85adc45c293ba3dffa98d4c389f362d
-MISC ChangeLog 73618 SHA256 b2569e77ee0796a535f86bdd40788ba576b1afd7d6bc698c4d83ff1b1e8fb75c SHA512 0915dde9cd41f8bf036246646d26b1575556a7b588ce8825c32a14c00639e503bd36c95204f2de7422bbb3d53c806439fe538c56b5f8f8dad85baad1f7a73652 WHIRLPOOL be77b6d09ef2d6aa6c079d9a53e8bdab1f7b95cf179ac66e2e99264734ff2fffb1cad6c7800e3a22b09092bf99888c9e8d8f4c8c74a79f9355c1030c89dc50fa
+MISC ChangeLog 73779 SHA256 5a94e85aadb8235696109a54de9f9c3cb2311a197209a85b826df1fcba64d7e0 SHA512 b96d7be3c24999be4050f976336bff257ffde60f230a1401db5e9ead878e66da892707021460537b854505a649fea9bd176b19b2ea06a0a9ae2b5a37321234f8 WHIRLPOOL a345972bb5f519be01cda97bfe31d26f75523e1d9a8521dbb3a60ccd2e5caa4c8f822eb33ba4719f67a2a0b4382d46f4d322c028645230720899b5a9b5777f27
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
-iQIcBAEBCAAGBQJU4C6JAAoJEPGu1DbS6WIAmyUP/1DiWiQQrUdSFyQHoLhY5R96
-tv8WzUDSxYdpuuBzCbgqzqbjqCRKulxx0eR2CxG7ME/f0vCsl9wvmiW+z4Dy3QsM
-5NWeFoDgr++y8WebjJD5H94DdtMei1Ywxj0oMgNm/AK9nG1nG/oxuOQx6BeECjyt
-vU9VzDsAiHPEvRrYGTYlCkQVIcwn9qWCOcvNPTh8uUormWFFVkNtTLi4vawi5LU5
-ZtbOCsUlXhGfDnoEVhb0CRa+AlHMHf2/cNe40joCMEagvaX7VsGvEfNju675zh6o
-ZpMfvrQS2XK+SteezTj622KxAoGH/vkm031y4/KueaLq2PUCvt7fd6jDqcRYwEh7
-PvHTRvZgZSgLQf7BzDS4G30/hw03CS4gIBEJSbru85dFcWO0RxMQ1gE0oO5czZIv
-s8FoQKkIgZhzRXmIfijSl6Ylo+cb+rGLaf5hwUc5/2fJpW8LGvAzRTkJ6OdmcWoc
-gapYk1l0Y7m2OtI3iPflKbb2x1JkDuXlhCOr2NrYTCv1rPhkbW8WPDx5GGMAvFOf
-uGyEgIfBfJVAAUlLQZ2NAzulJGcJY5jmujh5bL5BCRvf8pKPBFTOCL582PjR896L
-2sBuVvo364CX6Wpu3746oyNFi9d5Wy/w9tR+72g9wHyLnMRLLJGSo4nrEYEeFcOg
-pmNeMVU1wtm0o5s4PA02
-=0Gm7
+iQIcBAEBCAAGBQJU4vgaAAoJEPGu1DbS6WIAAHcP/RAfctXaN83NjswSCbhyw/pe
+J43u/oHqdD9H5hJuMCHMZ/5MDQod3fpEcQIvfBAkohLPGV4IcV5dQUWZMYonx6f+
+Un4DpQ0NTNPpuq4CWazdK0koRtAAHy8Po5abih+kuOW6tMMJydbVlcr06z+z2u3r
+Tjxm3Ji6dzoHbXU2MbJSpK0tgz0aPUDHogZLKj6duSBTFp9gbfNiPtkUpx/NKGMJ
+Q1TnWp7iLiCe/NY4WehnWZT2/PClOUcHfNmFOVyzRThC323g4lQHazql4PXGX0rS
+zbhHkCvOVJ7otr0WkNKn2p2E0LO2Wca9ve+ShfTJOqZSKDtkAsNxTAnwHNmNoHu7
+hcmAuIlX+V99BKAUvRmlHjROu8Jocdg4xwWEWmO8RTgK9rjqSamqqwathSbOuyMw
+3BGrAQhFL5OdJjCnPjBW1SpEt1i6YBNOpk7fatbMgV9vZITq+L+NNeqhSXehcs0c
+eCMqoUH1K/PhqdlYPgEbgumKBNWCMci75i3MhHvynsfgumxlMCrpqOh3pE7F3Vi+
+oIMTcJMSSti2vweSg8GutnI0yOYIcPq+N1sjSRMJTbfn/+BtYTe3l1sxWCJjB03w
+TYV+7JK2s13kkZju8Fq+LO+M+E2w1gfeRGFMnfO6QNiJgeIk9LK4pMGafKixt6fJ
+82tukBGiw8ZnfZL2j9al
+=CCtc
-----END PGP SIGNATURE-----
diff --git a/sys-libs/glibc/glibc-2.20-r2.ebuild b/sys-libs/glibc/glibc-2.20-r2.ebuild
new file mode 100644
index 000000000000..edf925986e4a
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.20-r2.ebuild
@@ -0,0 +1,188 @@
+# 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.20-r2.ebuild,v 1.1 2015/02/17 08:13:13 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="4" # 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.4
+ )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+ DEPEND+="
+ >=sys-devel/binutils-2.24
+ >=sys-devel/gcc-4.4
+ 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 HTTP~blueness/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 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
+}