summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2006-12-13 14:10:14 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2006-12-13 14:10:14 +0000
commit8a0620739a3447733f590917656e503c72696077 (patch)
tree7e4b1d962239396b118be5c5b91c81f907b26a21
parentFix syntax (diff)
downloadkevquinn-8a0620739a3447733f590917656e503c72696077.tar.gz
kevquinn-8a0620739a3447733f590917656e503c72696077.tar.bz2
kevquinn-8a0620739a3447733f590917656e503c72696077.zip
Update 2.5 with latest 2.4-r4 changes; align both with current CVS.
svn path=/; revision=95
-rw-r--r--hardened/toolchain/sys-libs/glibc/Manifest24
-rw-r--r--hardened/toolchain/sys-libs/glibc/files/digest-glibc-2.4-r46
-rw-r--r--hardened/toolchain/sys-libs/glibc/glibc-2.4-r4.ebuild12
-rw-r--r--hardened/toolchain/sys-libs/glibc/glibc-2.5.ebuild35
4 files changed, 45 insertions, 32 deletions
diff --git a/hardened/toolchain/sys-libs/glibc/Manifest b/hardened/toolchain/sys-libs/glibc/Manifest
index 1cae9e6..124dda6 100644
--- a/hardened/toolchain/sys-libs/glibc/Manifest
+++ b/hardened/toolchain/sys-libs/glibc/Manifest
@@ -26,7 +26,7 @@ AUX nsswitch.conf 503 RMD160 f375f92f6b41029c93382c39cef896261b140cfc SHA1 42f7f
MD5 8d58079469aedb014a800101ef60558f files/nsswitch.conf 503
RMD160 f375f92f6b41029c93382c39cef896261b140cfc files/nsswitch.conf 503
SHA256 6c38b8642d5da884327ad678d0351d57be3621562253bd9711394bad87e45e2d files/nsswitch.conf 503
-DIST glibc-2.4-patches-1.18.tar.bz2 182654 RMD160 e771863c12801003abfdca0db573f5cab5ed2120 SHA1 6ad56f8f624a20505484f5d296e4d2879797bd3c SHA256 66a442499adab51728ad5a72bb776c087b4a0257d03d4aad2febf57aed1f45fe
+DIST glibc-2.4-patches-1.19.tar.bz2 132880 RMD160 6df74db9b9e85220fba82658036ced5cdc16ae28 SHA1 b42dfd587fdf4df58c5f95853fc3dc4f8f51bee7 SHA256 9ec4cd3df3b8e7f294b3c93138d2f0fd7e8213b4981cfcc9cb58c25f934a23fa
DIST glibc-2.4.tar.bz2 15202445 RMD160 ee2712a0e6fab8e086958c1f23221f8d07af3de1 SHA1 35c636e4b474cda0f06e361d5e9caec092fd73d3 SHA256 27aaaaa78b4ab5da76bb29385dc9be087ba7b855a9102eaaa78ce3ec5e2e7fcd
DIST glibc-2.5-patches-1.3.tar.bz2 173857 RMD160 3e4dc97f1ec57177084937ce85895efd225e859d SHA1 046b7077544bc2a4155c7ecacfa7b93418ce45be SHA256 ab6deb5ed782551651931381334486feb829f19ae395374c1961f1e9be10130c
DIST glibc-2.5.tar.bz2 15321839 RMD160 25a0a460c0db1e5b7c570e5087461696f2096fd2 SHA1 ec9a007c4875062099a4701ac9137fcdb5a71447 SHA256 9b2e12bb1eafb55ab2e5a868532b8e6ec39216c66c25b8998d7474bc4d4eb529
@@ -37,17 +37,17 @@ DIST glibc-linuxthreads-20060605.tar.bz2 247200 RMD160 aaa0a150eec4d63787f86ae04
DIST glibc-ports-2.4.tar.bz2 381472 RMD160 72987098f9fbd5a1ad617bf2136081c0db80a429 SHA1 8b4d93bfbcd5b6a36e09ff08fe0c2a08adc1b886 SHA256 2fbbcaad8a9f8560485c398a9066959fe2713c8bc7e653ec476fb56fed21d19a
DIST glibc-ports-2.5.tar.bz2 409372 RMD160 e7e29df135a5f0f72760d10e5ad46de038e40725 SHA1 7da6257e641759ed29c4d316700fce6f604bc812 SHA256 80c38a005325e7539012bd665fb8e06af9ee9bfc74efb236ebff121265bfd463
DIST glibc-powerpc-cpu-addon-v0.01.tgz 22422 RMD160 3483c94ec55819b36aa66fc60462317f8d15e4df SHA1 fd30cde7c7cb42baa2c8fa1ac88eeeeb509cac29 SHA256 0ffa9a432fffb9bfed99c529b631a27534ba848c7ec1d707732338b73a4a8ce9
-EBUILD glibc-2.4-r4.ebuild 40629 RMD160 781afa8ddccb16687ebff1017bf06b2c66139e9b SHA1 16fcda58207f8a6c3d794102b2d32e254fb1ee96 SHA256 d221fbb5ee9a691dcad474666f1f4c3d844b7177597999a68d9425877b28741b
-MD5 4aa28812ac767b1dd6be1e449b580ff0 glibc-2.4-r4.ebuild 40629
-RMD160 781afa8ddccb16687ebff1017bf06b2c66139e9b glibc-2.4-r4.ebuild 40629
-SHA256 d221fbb5ee9a691dcad474666f1f4c3d844b7177597999a68d9425877b28741b glibc-2.4-r4.ebuild 40629
-EBUILD glibc-2.5.ebuild 38305 RMD160 662330fc55286b0d197d1db85343456a28491b6a SHA1 e25c19bf2563c608fcfb19fe105662c4c2205ff9 SHA256 44f82cca58bea74a7d98a9b1e0ebc1e036df055af2a9be1e5003f2fbba233169
-MD5 f9765c6a671b658b96e77bb2acb44bd8 glibc-2.5.ebuild 38305
-RMD160 662330fc55286b0d197d1db85343456a28491b6a glibc-2.5.ebuild 38305
-SHA256 44f82cca58bea74a7d98a9b1e0ebc1e036df055af2a9be1e5003f2fbba233169 glibc-2.5.ebuild 38305
-MD5 3b44421b94377c2d6b90dc7f94b2d7c3 files/digest-glibc-2.4-r4 1575
-RMD160 d08695833040cbf0ab8f4e758a58e6bbe732f448 files/digest-glibc-2.4-r4 1575
-SHA256 4b956bd1ea1b389aabbedbfb44ad40e73996025b7e484a4af575bbcdedbacf0f files/digest-glibc-2.4-r4 1575
+EBUILD glibc-2.4-r4.ebuild 40779 RMD160 1088ef4ed62533229df54716fd28a8f063c00121 SHA1 3d446b4d0298c921b2201db23cae3c1b8930d6d7 SHA256 def1ba9bc54cc91dc610766815e1e13c3066c9b5ed0aff59a3e3b763f625d578
+MD5 a2d85053c5c3597de1eb5ebac86db26b glibc-2.4-r4.ebuild 40779
+RMD160 1088ef4ed62533229df54716fd28a8f063c00121 glibc-2.4-r4.ebuild 40779
+SHA256 def1ba9bc54cc91dc610766815e1e13c3066c9b5ed0aff59a3e3b763f625d578 glibc-2.4-r4.ebuild 40779
+EBUILD glibc-2.5.ebuild 38943 RMD160 85a02bbceae516710abc2a75c69a9c138c8e91f8 SHA1 18142de982f69ff2c2b9d0d6eb7453ce55c9944e SHA256 085a9e0e25fe041ccb18fca6f9f151e4d54db02870fa2b8faa1b961ffa867c2b
+MD5 24d5b6ce8c83cc156cc7daf63cf27b96 glibc-2.5.ebuild 38943
+RMD160 85a02bbceae516710abc2a75c69a9c138c8e91f8 glibc-2.5.ebuild 38943
+SHA256 085a9e0e25fe041ccb18fca6f9f151e4d54db02870fa2b8faa1b961ffa867c2b glibc-2.5.ebuild 38943
+MD5 e6c60ddb8b06199242d294f97f01c574 files/digest-glibc-2.4-r4 1575
+RMD160 49ff56b0209067c5313646df281c408956cdaa92 files/digest-glibc-2.4-r4 1575
+SHA256 a49f96d87bda9dfbe73ac717c2a1dea7b4715c9c2e6031f404e3d7ee1209efea files/digest-glibc-2.4-r4 1575
MD5 0ef85c335e10127d3e21077ab8034f12 files/digest-glibc-2.5 1280
RMD160 34e5f2b01652b2ae928c40fefe948ff971bb7851 files/digest-glibc-2.5 1280
SHA256 f65c057f070beb912fdc31c87bdec28342093306c3387f73aa831178e3a8d875 files/digest-glibc-2.5 1280
diff --git a/hardened/toolchain/sys-libs/glibc/files/digest-glibc-2.4-r4 b/hardened/toolchain/sys-libs/glibc/files/digest-glibc-2.4-r4
index 06339b8..924d433 100644
--- a/hardened/toolchain/sys-libs/glibc/files/digest-glibc-2.4-r4
+++ b/hardened/toolchain/sys-libs/glibc/files/digest-glibc-2.4-r4
@@ -1,6 +1,6 @@
-MD5 52a83f1344380baf5c0215477ee784e2 glibc-2.4-patches-1.18.tar.bz2 182654
-RMD160 e771863c12801003abfdca0db573f5cab5ed2120 glibc-2.4-patches-1.18.tar.bz2 182654
-SHA256 66a442499adab51728ad5a72bb776c087b4a0257d03d4aad2febf57aed1f45fe glibc-2.4-patches-1.18.tar.bz2 182654
+MD5 a219615c811cb21a1a489d0d2bc94b3a glibc-2.4-patches-1.19.tar.bz2 132880
+RMD160 6df74db9b9e85220fba82658036ced5cdc16ae28 glibc-2.4-patches-1.19.tar.bz2 132880
+SHA256 9ec4cd3df3b8e7f294b3c93138d2f0fd7e8213b4981cfcc9cb58c25f934a23fa glibc-2.4-patches-1.19.tar.bz2 132880
MD5 7e9a88dcd41fbc53801dbe5bdacaf245 glibc-2.4.tar.bz2 15202445
RMD160 ee2712a0e6fab8e086958c1f23221f8d07af3de1 glibc-2.4.tar.bz2 15202445
SHA256 27aaaaa78b4ab5da76bb29385dc9be087ba7b855a9102eaaa78ce3ec5e2e7fcd glibc-2.4.tar.bz2 15202445
diff --git a/hardened/toolchain/sys-libs/glibc/glibc-2.4-r4.ebuild b/hardened/toolchain/sys-libs/glibc/glibc-2.4-r4.ebuild
index a601bb5..95e296b 100644
--- a/hardened/toolchain/sys-libs/glibc/glibc-2.4-r4.ebuild
+++ b/hardened/toolchain/sys-libs/glibc/glibc-2.4-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.4-r4.ebuild,v 1.14 2006/11/26 16:26:33 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.4-r4.ebuild,v 1.15 2006/12/03 06:45:05 vapier Exp $
# Here's how the cross-compile logic breaks down ...
# CTARGET - machine that will target the binaries
@@ -27,7 +27,7 @@ GLIBC_MANPAGE_VERSION="none"
GLIBC_INFOPAGE_VERSION="none"
# Gentoo patchset
-PATCH_VER="1.18"
+PATCH_VER="1.19"
# PPC cpu addon
# http://penguinppc.org/dev/glibc/glibc-powerpc-cpu-addon.html
@@ -244,6 +244,9 @@ toolchain-glibc_src_unpack() {
${S}/debug/stack_chk_fail.c
if use debug; then
+ # When using Hardened Gentoo stack handler, have smashes dump core for
+ # analysis - debug only, as core could be an information leak
+ # (paranoia).
sed -i -e '/^CFLAGS-backtrace.c/ iCFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
${S}/debug/Makefile ||
die "Failed to modify debug/Makefile for debug stack handler"
@@ -309,8 +312,9 @@ toolchain-glibc_headers_compile() {
toolchain-glibc_src_test() {
cd "${WORKDIR}"/build-${ABI}-${CTARGET}-$1 || die "cd build-${ABI}-${CTARGET}-$1"
- gcc-specs-now && append-flags "-nonow"
unset LD_ASSUME_KERNEL
+ # Don't force bind-now on test programs (some test that lazy binding works)
+ gcc-specs-now && append-ldflags "-nonow"
make check || ewarn "make check failed for ${ABI}-${CTARGET}-$1"
}
@@ -1151,8 +1155,6 @@ src_unpack() {
# fi
# fi
# cat "${T}"/.ssp.compat
- # When using Hardened Gentoo stack handler, have smashes dump core for
- # analysis.
# Glibc is stupid sometimes, and doesn't realize that with a
# static C-Only gcc, -lgcc_eh doesn't exist.
diff --git a/hardened/toolchain/sys-libs/glibc/glibc-2.5.ebuild b/hardened/toolchain/sys-libs/glibc/glibc-2.5.ebuild
index 8dbe353..43e1bb6 100644
--- a/hardened/toolchain/sys-libs/glibc/glibc-2.5.ebuild
+++ b/hardened/toolchain/sys-libs/glibc/glibc-2.5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.5.ebuild,v 1.16 2006/11/26 16:26:33 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.5.ebuild,v 1.17 2006/12/03 19:54:20 vapier Exp $
# Here's how the cross-compile logic breaks down ...
# CTARGET - machine that will target the binaries
@@ -16,7 +16,7 @@
# CHOST = CTARGET - install into /
# CHOST != CTARGET - install into /usr/CTARGET/
-KEYWORDS="-* ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+KEYWORDS="-* ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86"
BRANCH_UPDATE=""
@@ -39,7 +39,7 @@ DESCRIPTION="GNU libc6 (also called glibc2) C library"
HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
LICENSE="LGPL-2"
-IUSE="nls build nptl nptlonly hardened multilib selinux glibc-omitfp profile glibc-compat20"
+IUSE="nls build nptl nptlonly hardened multilib selinux glibc-omitfp profile glibc-compat20 debug"
export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
@@ -218,21 +218,32 @@ toolchain-glibc_src_unpack() {
echo "Gentoo patchset ${PATCH_VER}" > csu/Banner
fi
- einfo "Patching to make test failures clear"
+ einfo "Patching to make test failures clear, and to run all of them."
epatch ${FILESDIR}/2.4/glibc-2.4-testfailobvious.patch
if use hardened; then
- einfo "Installing Gentoo SSP handler"
+ einfo "Installing Hardened Gentoo SSP handler"
cp -f ${FILESDIR}/2.4/glibc-2.4-gentoo-stack_chk_fail.c \
${S}/debug/stack_chk_fail.c
+ if use debug; then
+ # When using Hardened Gentoo stack handler, have smashes dump core for
+ # analysis - debug only, as core could be an information leak
+ # (paranoia).
+ sed -i -e '/^CFLAGS-backtrace.c/ iCFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
+ ${S}/debug/Makefile ||
+ die "Failed to modify debug/Makefile for debug stack handler"
+ fi
+
# Build nscd with ssp-all
sed -e -i 's:-fstack-protector$:-fstack-protector-all:' ${S}/nscd/Makefile
# Modify static binaries (sln, ldconfig) to use the PIE startfiles.
- # If building with a non-PIE compiler, must to build glibc non-PIE,
- # regardless of USE=hardened, otherwise you get broken static
- # binaries.
+ # Requires a hardened-pie compiler. If USE=hardened is not set,
+ # we consider that the user does not really want PIE objects in
+ # libc.a; we filter PIE in setup_flags and apply this patch
+ # conditional on USE=hardened. An unconditional patch would be
+ # significantly more complex, so it's easier to maintain like this.
gcc-specs-pie &&
epatch ${FILESDIR}/2.4/glibc-2.4-hardened-pie.patch
fi
@@ -288,7 +299,7 @@ toolchain-glibc_headers_compile() {
toolchain-glibc_src_test() {
cd "${WORKDIR}"/build-${ABI}-${CTARGET}-$1 || die "cd build-${ABI}-${CTARGET}-$1"
unset LD_ASSUME_KERNEL
- # Don't force bind-now on test programs (some test that lazy binding workds)
+ # Don't force bind-now on test programs (some test that lazy binding works)
gcc-specs-now && append-ldflags "-nonow"
make check || ewarn "make check failed for ${ABI}-${CTARGET}-$1"
}
@@ -705,9 +716,6 @@ setup_flags() {
append-flags -finline-limit=2000
fi
-# # We dont want these flags for glibc
-# filter-ldflags -pie
-
# Lock glibc at -O2 -- linuxthreads needs it and we want to be
# conservative here. -fno-strict-aliasing is to work around #155906
filter-flags -O?
@@ -717,6 +725,9 @@ setup_flags() {
# due to __stack_chk_fail_local which would mean significant changes
# to the glibc build process. See bug #94325
filter-flags -fstack-protector
+
+ # Don't let the compiler automatically build PIEs unless USE=hardened.
+ use hardened || filter-flags -fPIE
}
check_kheader_version() {