diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-02-17 08:13:15 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-02-17 08:13:15 +0000 |
commit | 456006319ab49f4d21df219161d9eae3e6a4aa1e (patch) | |
tree | da7becbb9c2702c910ab15d03c4d59580a3af82f /sys-libs/glibc | |
parent | Stable for ia64, wrt bug #536790 (diff) | |
download | historical-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/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 30 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.20-r2.ebuild | 188 |
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 +} |