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.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa
+DIST glibc-2.21-patches-1.tar.bz2 28559 SHA256 7fd52a63be036f35e251d3ec7bbd396ecb72b838ae272be78cbfc1077ad7f4be SHA512 0194574c178aa4ebfc5062e39bb64610c47c2badba63e03743c71b36bc679d214d8941558e8ba3759588656f17e57e516c38e28d86b3e073f554ed352cb04dab WHIRLPOOL 8c74b7d9f87ae79e0fe004c5bed71c1e4c7eb124b4554924b1f8d1e6ab29c83b5918056ea8dfc73fa87bcfea8dc89f7f2bedbf2b5ae5a5df9e4701102a7a3f7c
+DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d WHIRLPOOL d07fec32bd92eade065a3b6170932b8bd41d07df4aa69dd5a860ebb9678c22bd1e20bf88b1fc05c3ecc18e709c0a63118e12525dc668e0399d7ef7fe4454702d
DIST glibc-2.9-20081201.tar.bz2 16430489 SHA256 6f8e515775e20ed48610860d10315adda418a3649b3465f36ee5cd467364a8f6 SHA512 bdd3f5b61f741f09da21020ceef95e8e4f22574d11f8f2341f573ab2225baaf68698446ec26cbc4a63a21a8a400eaf5820fce4bd89c3e1dcf52172a62df561f4 WHIRLPOOL 37e4875e450e8a4067f657b4d71be184844cd45c0d7dbd9242e8f998aab4e15c732fc64ba148c5782078873182d4b132c911da9242b0513eea96a2338aa04722
DIST glibc-2.9-patches-8.tar.bz2 106638 SHA256 5f1f8b569ac02c2f538bebd64d137bccb442ddfcb28b3ef17b86134edd8e3f6c SHA512 f5070bf45c28bcf455f53bee85414e6efa1da3cdbc51425a1bc67fb92ff793d1416d5743a48e69080e636d80e41463c5897d437190d496c0b34f7dcf158e8d9c WHIRLPOOL f15b98a7bd6a8cbfaa9c6e1ad7204de875876bf1640c2a008532537cf65b811b42c45446dba846f6e572e9d763cb6afbe878920a51f772c7367cc7a6f615f4b7
DIST glibc-2.9-ports-20081201.tar.bz2 487663 SHA256 19bb6e89855171d7ae01aef92054dfe4524521fbc13c67bfaa3ee81944210744 SHA512 8bc400fe1f8213908c96fa8c1060a360c4ed83fdb21ba6ffb7b6dc0232216ea23217d0c165336603a8969cca89e8b3edc7d32a38516f2c27114368682d06e6b6 WHIRLPOOL 917d6b77a3d999cb7eca7c9b8bb8d6838a109c609ef8bd3aabb3afa04755c142e4dde352c5c62561a8b39581295eb48b23192b52d1d9f1916454c4cf39db702d
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.ebuild 6159 SHA256 60cd13aa057dedf49026f440b2d0f46ae36374689d2085a7209dfb991939e0e5 SHA512 f9f64226f1d42c7db42b0c221e53e58cf22df6768f3a4e64367d8537ed232cf3566848c6210dd77a287edca05e2d952a5953ec750dc97a3c878847f06c5c0f56 WHIRLPOOL dadc71db6048b4ba75bf63e1e825f5f8ebc45f64947d9463e2a867ec5323a6c8e6d34d269c4632aa54d31cf743e63ecd6484eaa00271128c44da19dc1b809310
+EBUILD glibc-2.21.ebuild 6187 SHA256 024458d4896b93af2b66e98b8b2895642cd991aeca3e30a2c4506ccb5c36e49b SHA512 ad2d9d8fdba7fe6bb85859de3c9bb470e21fd8f3b99ad809d13de4e2212c99850cba7992c1a115c4022832d455e0e095cda921d5f0607a3b0777306f1fa58163 WHIRLPOOL e052bac0736f37e171dd9077aa8fcb74c9f53bf3de57fb67e730b123ec8532167950af3be06dcf2bc56d43236e101957909724c1971d97cffbdf843b7e2e2734
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 73194 SHA256 48fdcb2bb81db16b41fee37058b09db13d9d86dfb8b0eb4ebdef96176ad7ac4e SHA512 08fc8fceea0041289b1081193355f9c0630d6c1a3a583b34b50e498be981d0fec483f69c399794aecc0fd06fd4d68f600796c59d6fbdc2ae9d122c3334d09b33 WHIRLPOOL ed4a91765e95a72b7852276551f9e3627465ebd9971fb52b23aefe5f8065d362882bd2d3d723fd1c075548c9b938eed1cf4a46a8c04ae0e92af1152e0fe738c0
+MISC ChangeLog 73308 SHA256 c76cf0a8bf9759d38f33b5729a20d771bd184e19e7536131f54631e9eeb91b81 SHA512 b07c54c0d46110396d0777ce4a6672b6a7439340d94065535e18963ab9659ed524cfd2ff8508c471c50ce72abbbe28e8ca23f345cd8334281066ab2667953d65 WHIRLPOOL c87baac83b34d3d4187d87e6cd5ba9287b20daa16b72377a0bf57ff659f93b1fa27c02e321ba790af531ab881e923f7bc9d6e120dc50d1e421582868e3d6db86
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
-iQIcBAEBCAAGBQJU2NTGAAoJEPGu1DbS6WIAuLEP/09M0K1N3ODWMinl4N6DERmz
-refqZ+0NLrBYNcLqlyT6EZlVbrjDd0aWpTXJ8MuBLyz7/ona1sU7AF2ayMvvIlqv
-lFKYfU2C6bulLXmvnnLyIEXo1SKK2g2cZd003Tf+7y0NEX71PCCqGjR9VxKmVqVj
-KlVmQQ6I8F4oUQXv3s5qgryqFCXuByAAawR/VkevoEgIIc1nqujZBlCmm7O/PWjg
-6JDF+MOoC8p0TDodYtdwIo+j4xIN/DuDx9w4YxpeosxUaBwFhF0XwGC/zSakm683
-dxdMCE4AczyPUfZJNROyvgN6cx/Itmvr5BuEWVHlIG+v4CSKCRZxmhF7+Cq+HaGf
-Ml49fJ5OcFB31PaBmn6Qkw3Oi1h4EuwccSIauo8s0FIghSk9SSINN88Fy0nyZusQ
-Q1ZaZhKwXElq2KLgPezbm6VbYrDSo+cKbX7WjH+UEBwhyNXXY5rC0nVxg4axYv1Z
-4Ro08DRsXanQLS6TWcW7A/66IePgdOVr1gYA4xyAUEB64rhkn/pkxXAkduKj+Bzh
-jldBhk0Fe0YxDgvaycAlKXG7xuBHdGxV4DDqK9iQNIzodzZ1mVA43OjdXhE24OQe
-SVOtYTtHzFn++7NjAT5+DTJ8+cfcuWPOhyvUAP9Npv49+2ddJnYIGSu+HTLoOHJ/
-9Ij8z0uMUku4UBhAVyAJ
-=4T0Q
+iQIcBAEBCAAGBQJU2NVXAAoJEPGu1DbS6WIAGIYP/1/Ir9jaSkTcQwbDj8RA/xgD
+FIyJNW9vRQJafw+OytWlf0YENHt60XBNDqgBbVouyj6lfQ1rsakOOc2mwodEn7fj
+Ax4Etd06wBTIGTzsnVcQg/aTvobdI7GrXwAT0qP+ZufmSje+VNn9+zOx1qvilaSK
+zyyVaAnKCTSZ3gRg2Lh7n7dIm22sUw5pshsiH8e1s292qRTgDmmTZHR2B7QBu4E5
+MC2GEdliHlu9sEV5EL10R8oo0evNzx2SY7lbUSjF1IkopWNVjQ+c41t38tBYbbER
+KyAjopy/zxDZ7ElOKAStPrA/7cXYPA48l/F1aJla9y9EjtC8S5H23wL9OJfuM2s3
+eocuxJGdPOmSLvRuOrq7hvDPSU5L9uhog3ZiFje/w7f+ZBKGcnF4eNEJSqsX5z0Y
+9m503rkkSR0HXo5XVFTpmm7fxuAPeAZEb2MaX8/RQpKu8AUxuLxOJMhG6/r/3qpp
+0EXfnQv2X1ap7yJ8HDjIqyKwa2gmRev9J9DpEyxIfLedFE5qoldnKsp/g+p3aIgV
+nyo7+LHSNbPq31wUMzhql8gOkaJkXTgh/x0EX8x4WNgeDS4rZkD/YSHqXIPtQgkO
+w1tHo2c+7vbZKVmdQdxKbCRf82ZifGND1+7WDY1trxeNwEqD2Fbv2fFUnMIwrWYG
+QCbiutUmdzQyAIYafRr+
+=rYo0
-----END PGP SIGNATURE-----
--- /dev/null
+# 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.21.ebuild,v 1.1 2015/02/09 15:42: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="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.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"
+ 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
+}