summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2007-02-03 21:24:06 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2007-02-03 21:24:06 +0000
commit8e4f3a2d14978be3156e7824fe52257a5d33a3e7 (patch)
treef9a787b4196d12de4c9c6066989acd162fd1251b
parentEliminate local-exec also on linuxthreads tls tests, when PIC. (diff)
downloadkevquinn-8e4f3a2d14978be3156e7824fe52257a5d33a3e7.tar.gz
kevquinn-8e4f3a2d14978be3156e7824fe52257a5d33a3e7.tar.bz2
kevquinn-8e4f3a2d14978be3156e7824fe52257a5d33a3e7.zip
Update in line with CVS 2007-02-03; add some TODO notes to pieworld.README
svn path=/; revision=167
-rw-r--r--hardened/toolchain/branches/pieworld/eclass/toolchain.eclass108
-rw-r--r--hardened/toolchain/branches/pieworld/pieworld.README116
-rw-r--r--hardened/toolchain/branches/pieworld/sys-devel/gcc/Manifest20
-rw-r--r--hardened/toolchain/branches/pieworld/sys-devel/gcc/files/digest-gcc-4.1.1-r36
-rw-r--r--hardened/toolchain/branches/pieworld/sys-devel/gcc/gcc-4.1.1-r3.ebuild4
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest20
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/files/digest-glibc-2.56
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild16
8 files changed, 202 insertions, 94 deletions
diff --git a/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass b/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass
index 402682a..bb302e3 100644
--- a/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass
+++ b/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass
@@ -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/eclass/toolchain.eclass,v 1.321 2007/01/06 11:31:26 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.322 2007/02/01 23:42:42 flameeyes Exp $
HOMEPAGE="http://gcc.gnu.org/"
LICENSE="GPL-2 LGPL-2.1"
@@ -137,9 +137,9 @@ else
if [[ ${PN} != "kgcc64" ]] ; then
IUSE="${IUSE} altivec build fortran nls nocxx"
- [[ -n ${PIE_VER} ]] && IUSE="${IUSE} nopie"
- [[ -n ${PP_VER} ]] && IUSE="${IUSE} nossp"
- [[ -n ${HTB_VER} ]] && IUSE="${IUSE} boundschecking"
+ [[ -n ${PIE_VER} ]] && IUSE="${IUSE} nopie"
+ [[ -n ${PP_VER} ]] && IUSE="${IUSE} nossp"
+ [[ -n ${HTB_VER} ]] && IUSE="${IUSE} boundschecking"
if version_is_at_least 3 ; then
IUSE="${IUSE} bootstrap doc gcj gtk hardened multilib objc vanilla"
@@ -509,13 +509,13 @@ libc_has_ssp() {
[[ -z ${libc_file} ]] && die "Unable to find a libc !?"
# Check for gcc-4.x style ssp support
- if [[ -n $(readelf -s "${libc_file}" 2>/dev/null | \
+ if [[ -n $(readelf -s "${libc_file}" 2>/dev/null | \
grep 'FUNC.*GLOBAL.*__stack_chk_fail') ]]
then
return 0
else
# Check for gcc-3.x style ssp support
- if [[ -n $(readelf -s "${libc_file}" 2>/dev/null | \
+ if [[ -n $(readelf -s "${libc_file}" 2>/dev/null | \
grep 'OBJECT.*GLOBAL.*__guard') ]] && \
[[ -n $(readelf -s "${libc_file}" 2>/dev/null | \
grep 'FUNC.*GLOBAL.*__stack_smash_handler') ]]
@@ -605,10 +605,10 @@ _create_specs_file() {
fi
eend $([[ -s ${WORKDIR}/build/${name}.specs ]] ; echo $?)
}
-create_vanilla_specs_file() { _create_specs_file hardened vanilla ; }
-create_hardened_specs_file() { _create_specs_file !hardened hardened ${gcc_common_hard} -DEFAULT_PIE_SSP ; }
-create_hardenednossp_specs_file() { _create_specs_file "" hardenednossp ${gcc_common_hard} -DEFAULT_PIE ; }
-create_hardenednopie_specs_file() { _create_specs_file "" hardenednopie ${gcc_common_hard} -DEFAULT_SSP ; }
+create_vanilla_specs_file() { _create_specs_file hardened vanilla ; }
+create_hardened_specs_file() { _create_specs_file !hardened hardened ${gcc_common_hard} -DEFAULT_PIE_SSP ; }
+create_hardenednossp_specs_file() { _create_specs_file "" hardenednossp ${gcc_common_hard} -DEFAULT_PIE ; }
+create_hardenednopie_specs_file() { _create_specs_file "" hardenednopie ${gcc_common_hard} -DEFAULT_SSP ; }
create_hardenednopiessp_specs_file() { _create_specs_file "" hardenednopiessp ${gcc_common_hard} ; }
split_out_specs_files() {
@@ -846,9 +846,9 @@ gcc_pkg_setup() {
if [[ ( $(tc-arch) == "amd64" || $(tc-arch) == "ppc64" ) && ( ${LD_PRELOAD} == "/lib/libsandbox.so" || ${LD_PRELOAD} == "/usr/lib/libsandbox.so" ) ]] && is_multilib ; then
eerror "Sandbox in your installed portage does not support compilation."
- eerror "of a multilib gcc. Please set FEATURES=-sandbox and try again."
+ eerror "of a multilib gcc. Please set FEATURES=-sandbox and try again."
eerror "After you have a multilib gcc, re-emerge portage to have a working sandbox."
- die "No 32bit sandbox. Retry with FEATURES=-sandbox."
+ die "No 32bit sandbox. Retry with FEATURES=-sandbox."
fi
if [[ ${ETYPE} == "gcc-compiler" ]] ; then
@@ -913,16 +913,16 @@ gcc-compiler_pkg_postinst() {
# tell our users that gcc-config will yell at them, but it's all good.
if ! has_version '>=sys-devel/gcc-config-1.3.10-r1' && [[ ${GCC_CONFIG_VER/-/} != ${GCC_CONFIG_VER} ]] ; then
ewarn "Your version of gcc-config will issue about having an invalid profile"
- ewarn "when switching to this profile. It is safe to ignore this warning,"
+ ewarn "when switching to this profile. It is safe to ignore this warning,"
ewarn "and this problem has been corrected in >=sys-devel/gcc-config-1.3.10-r1."
fi
if ! is_crosscompile && ! use multislot && [[ ${GCCMAJOR}.${GCCMINOR} == 3.4 ]] ; then
echo
ewarn "You should make sure to rebuild all your C++ packages when"
- ewarn "upgrading between different versions of gcc. For example,"
+ ewarn "upgrading between different versions of gcc. For example,"
ewarn "when moving to gcc-3.4 from gcc-3.3, emerge gentoolkit and run:"
- ewarn " # revdep-rebuild --library libstdc++.so.5"
+ ewarn " # revdep-rebuild --library libstdc++.so.5"
echo
ewarn "For more information on the steps to take when upgrading "
ewarn "from gcc-3.3 please refer to: "
@@ -939,6 +939,8 @@ gcc-compiler_pkg_postinst() {
cp "${ROOT}/${DATAPATH}"/fixlafiles.awk "${ROOT}"/lib/rcscripts/awk/ || die "installing fixlafiles.awk"
cp "${ROOT}/${DATAPATH}"/fix_libtool_files.sh "${ROOT}"/sbin/ || die "installing fix_libtool_files.sh"
+ [[ ! -d ${ROOT}/usr/bin ]] \
+ && mkdir -p "${ROOT}"/usr/bin
# Since these aren't critical files and portage sucks with
# handling of binpkgs, don't require these to be found
for x in "${ROOT}/${DATAPATH}"/c{89,99} ; do
@@ -1022,7 +1024,7 @@ guess_patch_type_in_dir() {
}
do_gcc_rename_java_bins() {
# bug #139918 - conflict between gcc and java-config-2 for ownership of
- # /usr/bin/rmi{c,registry}. Done with mv & sed rather than a patch
+ # /usr/bin/rmi{c,registry}. Done with mv & sed rather than a patch
# because patches would be large (thanks to the rename of man files),
# and it's clear from the sed invocations that all that changes is the
# rmi{c,registry} names to grmi{c,registry} names.
@@ -1042,8 +1044,8 @@ do_gcc_rename_java_bins() {
die "Failed to fixup file ${jfile} for rename to grmic"
done
# 3) Fixup Makefiles to build the changed executable names
- # These are present in all 3.x versions, and are the important bit
- # to get gcc to build with the new names.
+ # These are present in all 3.x versions, and are the important bit
+ # to get gcc to build with the new names.
for jfile in libjava/Makefile.am libjava/Makefile.in gcc/java/Make-lang.in; do
sed -i -e 's:rmiregistry:grmiregistry:g' ${S}/${jfile} ||
die "Failed to fixup file ${jfile} for rename to grmiregistry"
@@ -1161,7 +1163,7 @@ gcc_src_unpack() {
einfo "Touching generated files"
./contrib/gcc_update --touch | \
while read f ; do
- einfo " ${f%%...}"
+ einfo " ${f%%...}"
done
fi
@@ -1196,7 +1198,7 @@ gcc-compiler-configure() {
# GTK+ is preferred over xlib in 3.4.x (xlib is unmaintained
# right now). Much thanks to <csm@gnu.org> for the heads up.
- # Travis Tilley <lv@gentoo.org> (11 Jul 2004)
+ # Travis Tilley <lv@gentoo.org> (11 Jul 2004)
if ! is_gcj ; then
confgcc="${confgcc} --disable-libgcj"
elif use gtk ; then
@@ -1314,14 +1316,14 @@ gcc_do_configure() {
# disable a bunch of features or gcc goes boom
local needed_libc=""
case ${CTARGET} in
- *-linux) needed_libc=no-fucking-clue;;
+ *-linux) needed_libc=no-fucking-clue;;
*-dietlibc) needed_libc=dietlibc;;
*-freebsd*) needed_libc=freebsd-lib;;
- *-gnu*) needed_libc=glibc;;
- *-klibc) needed_libc=klibc;;
- *-uclibc*) needed_libc=uclibc;;
- mingw*) needed_libc=mingw-runtime;;
- avr) confgcc="${confgcc} --enable-shared --disable-threads";;
+ *-gnu*) needed_libc=glibc;;
+ *-klibc) needed_libc=klibc;;
+ *-uclibc*) needed_libc=uclibc;;
+ mingw*) needed_libc=mingw-runtime;;
+ avr) confgcc="${confgcc} --enable-shared --disable-threads";;
esac
if [[ -n ${needed_libc} ]] ; then
if ! has_version ${CATEGORY}/${needed_libc} ; then
@@ -1363,11 +1365,11 @@ gcc_do_configure() {
# Nothing wrong with a good dose of verbosity
echo
- einfo "PREFIX: ${PREFIX}"
- einfo "BINPATH: ${BINPATH}"
- einfo "LIBPATH: ${LIBPATH}"
- einfo "DATAPATH: ${DATAPATH}"
- einfo "STDCXX_INCDIR: ${STDCXX_INCDIR}"
+ einfo "PREFIX: ${PREFIX}"
+ einfo "BINPATH: ${BINPATH}"
+ einfo "LIBPATH: ${LIBPATH}"
+ einfo "DATAPATH: ${DATAPATH}"
+ einfo "STDCXX_INCDIR: ${STDCXX_INCDIR}"
echo
einfo "Configuring GCC with: ${confgcc//--/\n\t--} ${@} ${EXTRA_ECONF}"
echo
@@ -1425,7 +1427,7 @@ gcc_do_make() {
# resulting binaries natively ^^;
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
elif [[ $(tc-arch) == "x86" || $(tc-arch) == "amd64" || $(tc-arch) == "ppc64" ]] \
- && [[ ${GCCMAJOR}.${GCCMINOR} > 3.3 ]]
+ && [[ ${GCCMAJOR}.${GCCMINOR} > 3.3 ]]
then
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap}
else
@@ -1529,7 +1531,7 @@ gcc_do_filter_flags() {
case $(tc-arch) in
x86) filter-flags '-mtune=*';;
amd64) filter-flags '-mtune=*'
- replace-cpu-flags k8 athlon64 opteron i686;;
+ replace-cpu-flags k8 athlon64 opteron i686;;
esac
;;
3.4|4.*)
@@ -1544,21 +1546,21 @@ gcc_do_filter_flags() {
# CFLAGS logic (verified with 3.4.3):
# CFLAGS:
- # This conflicts when creating a crosscompiler, so set to a sane
- # default in this case:
- # used in ./configure and elsewhere for the native compiler
- # used by gcc when creating libiberty.a
- # used by xgcc when creating libstdc++ (and probably others)!
- # this behavior should be removed...
+ # This conflicts when creating a crosscompiler, so set to a sane
+ # default in this case:
+ # used in ./configure and elsewhere for the native compiler
+ # used by gcc when creating libiberty.a
+ # used by xgcc when creating libstdc++ (and probably others)!
+ # this behavior should be removed...
#
# CXXFLAGS:
- # used by xgcc when creating libstdc++
+ # used by xgcc when creating libstdc++
#
# STAGE1_CFLAGS (not used in creating a crosscompile gcc):
- # used by ${CHOST}-gcc for building stage1 compiler
+ # used by ${CHOST}-gcc for building stage1 compiler
#
# BOOT_CFLAGS (not used in creating a crosscompile gcc):
- # used by xgcc for building stage2/3 compiler
+ # used by xgcc for building stage2/3 compiler
if is_crosscompile ; then
# Set this to something sane for both native and target
@@ -1782,11 +1784,11 @@ gcc-compiler_src_install() {
done
# I do not know if this will break gcj stuff, so I'll only do it for
- # objc for now; basically "ffi.h" is the correct file to include,
- # but it gets installed in .../GCCVER/include and yet it does
- # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
- # is installed in .../GCCVER/include/libffi; the following fixes
- # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
+ # objc for now; basically "ffi.h" is the correct file to include,
+ # but it gets installed in .../GCCVER/include and yet it does
+ # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
+ # is installed in .../GCCVER/include/libffi; the following fixes
+ # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
if is_objc && ! is_gcj ; then
#dosed "s:<ffitarget.h>:<libffi/ffitarget.h>:g" /${LIBPATH}/include/ffi.h
mv "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include
@@ -1900,9 +1902,9 @@ gcc_movelibs() {
done
# We remove directories separately to avoid this case:
- # mv SRC/lib/../lib/*.o DEST
- # rmdir SRC/lib/../lib/
- # mv SRC/lib/../lib32/*.o DEST # Bork
+ # mv SRC/lib/../lib/*.o DEST
+ # rmdir SRC/lib/../lib/
+ # mv SRC/lib/../lib32/*.o DEST # Bork
for FROMDIR in ${removedirs} ; do
rmdir "${D}"${FROMDIR} >& /dev/null
done
@@ -2215,7 +2217,7 @@ should_we_gcc_config() {
# the middle of an emerge operation (like an 'emerge -e world'
# which could install multiple gcc versions).
einfo "The current gcc config appears valid, so it will not be"
- einfo "automatically switched for you. If you would like to"
+ einfo "automatically switched for you. If you would like to"
einfo "switch to the newly installed gcc version, do the"
einfo "following:"
echo
@@ -2293,7 +2295,7 @@ should_we_eselect_compiler() {
# the middle of an emerge operation (like an 'emerge -e world'
# which could install multiple gcc versions).
einfo "The current gcc config appears valid, so it will not be"
- einfo "automatically switched for you. If you would like to"
+ einfo "automatically switched for you. If you would like to"
einfo "switch to the newly installed gcc version, do the"
einfo "following:"
echo
@@ -2344,7 +2346,7 @@ do_eselect_compiler() {
if [[ ${isset} == 0 ]] ; then
eerror "We were not able to automatically set the current compiler for ${ctarget}"
- eerror "to your newly emerged gcc. Please use 'eselect compiler set'"
+ eerror "to your newly emerged gcc. Please use 'eselect compiler set'"
eerror "to select your compiler."
fi
fi
diff --git a/hardened/toolchain/branches/pieworld/pieworld.README b/hardened/toolchain/branches/pieworld/pieworld.README
index 93cbb6c..7811ba4 100644
--- a/hardened/toolchain/branches/pieworld/pieworld.README
+++ b/hardened/toolchain/branches/pieworld/pieworld.README
@@ -8,16 +8,19 @@ gcc:
1) Built with PIE-default, SSP-default, RELRO and BIND_NOW
2) Non-PIC crtstuff built -fno-PIE (crtbegin.o, crtend.o)
3) Specs permit -static && -fPIE (but not -pie)
+4) New startfile crtbeginTS.o combining crtbeginS.o and crtbeginT.o, for "static PIE"s
glibc:
------
1) Built with PIE-default, SSP off, RELRO and BIND_NOW
+ SSP-default messes up the dependencies, in different ways on different arches; changes
+ to glibc would be too invasive for easy maintenance.
2) Non-PIC crtstuff built -fno-PIE (crt1.o - note; crtn.o, crti.o, Scrt1.o all built -fPIC)
3) Make pic-default configure check ignore -fPIE.
4) Link all apps PIE, adjust TLS initialisation to avoid using the TLS before it's ready.
The results are:
-crt*S.o, crtn.o, crti.o & Scrt1.o are -fPIC, all other crtfiles are -fno-PIE.
+crt*S*.o, crtn.o, crti.o & Scrt1.o are -fPIC, all other crtfiles are -fno-PIE.
Code archives lib*.a are -fPIE
Note that since lib*.a are not available -fno-PIE, building static binaries actually creates
@@ -27,16 +30,29 @@ Upgrade path
------------
From hardened gcc-3/glibc-2.3:
-1) Switch to vanilla compiler
-2) USE="-hardened" emerge --oneshot =sys-libs/glibc-2.5
-3) USE="-hardened" emerge --oneshot =sys-devel/gcc-4.1.1-r3
-4) switch to hardened compiler
-5) emerge --oneshot =sys-libs/glibc-2.5
-6) emerge --oneshot =sys-devel/gcc-4.1.1-r3
+1) Switch to vanilla compiler (gcc-config)
+2) emerge --oneshot =sys-devel/binutils-2.17
+3) USE="-hardened" emerge --oneshot =sys-libs/glibc-2.5
+4) USE="-hardened" emerge --oneshot =sys-devel/gcc-4.1.1-r3
+5) switch to hardened compiler
+6) emerge --oneshot =sys-libs/glibc-2.5
+7) emerge --oneshot =sys-devel/gcc-4.1.1-r3
+8) emerge -e world :)
-TODO
-----
+Things that can trip up in pieworld
+-----------------------------------
+
+* non-PIC assembler. Common in x86 media applications; occurs also in x86 media libraries
+ although the latter should really be PIC.
+
+* local-exec thread-local storage (TLS). On x86, causes textrels - most arches don't allow
+ textrels so don't permit local-exec at all in PIC (including PIE).
+
+
+
+Investigations
+--------------
1) Check all archive lib*.a that don't have a .so - should they be -fPIC rather than -fPIE?
Done:
All those that don't have a .so are best off -fPIC, which is ok for being linked into
@@ -77,3 +93,85 @@ TODO
libnsl.a .so equivalent exists
So looks like it's all ok, both in gcc and glibc.
+
+2) glibc-2.5 failures:
+
+For reference, on vanilla x86 the following fail:
+ linuxthreads/linuxthreads/tst-clock1
+ linuxthreads/rt/tst-aio9
+ linuxthreads/rt/tst-aio10
+so are ignored for the purposes of analysing failures on hardened.
+
+Some of these may be down to being run in a chroot.
+
+Note also - ppc64 and sparc64 can't have linuxthreads as it doesn't
+compile (some changes that are in for nptl have not been back-ported).
+
+
+x86 (non-hardened kernel):
+
+amd64 (non-hardened kernel):
+ linuxthreads/libio/tst-wmemstream1
+ linuxthreads/libio/tst-wmemstream2
+ linuxthreads/libio/bug-wmemstream1
+ linuxthreads/dlfcn/default
+ linuxthreads/linuxthreads/tststatic
+ linuxthreads/linuxthreads/tst-cancel-static
+ linuxthreads/linuxthreads/tst-stackguard1-static
+ linuxthreads/elf/tst-tls1
+ linuxthreads/elf/tst-tls2
+ linuxthreads/elf/tst-tls1-static
+ linuxthreads/elf/tst-tls2-static
+ linuxthreads/elf/resolvfail
+ linuxthreads/elf/constload1
+ nptl/libio/tst-wmemstream1
+ nptl/libio/tst-wmemstream2
+ nptl/libio/bug-wmemstream1
+ nptl/dlfcn/default
+ nptl/nptl/tst-cancel1
+ nptl/elf/tst-tls1
+ nptl/elf/tst-tls2
+ nptl/elf/tst-tls1-static
+ nptl/elf/tst-tls2-static
+ nptl/elf/resolvfail
+ nptl/elf/constload1
+
+ppc (luna, hardened):
+ linuxthreads/dlfcn/default
+ linuxthreads/linuxthreads/tst-context
+ linuxthreads/rt/tst-mqueue6
+ linuxthreads/rt/tst-mqueue8
+ linuxthreads/elf/tst-tls1
+ linuxthreads/elf/tst-tls2
+ linuxthreads/elf/resolvfail
+ linuxthreads/elf/constload1
+ nptl/dlfcn/default
+ nptl/nptl/tst-tls2
+PaX nptl/nptl/tst-execstack
+ nptl/rt/tst-cputimer1
+ nptl/elf/tst-tls1
+ nptl/elf/tst-tls2
+ nptl/elf/resolvfail
+ nptl/elf/constload1
+
+ppc64 (cottonwoord, non-hardened):
+ nptl/dlfcn/default
+ nptl/misc/tst-pselect
+ nptl/nptl/tst-robust7
+ nptl/nptl/tst-tls2
+ nptl/elf/tst-tls1
+ nptl/elf/tst-tls2
+ nptl/elf/resolvfail
+ nptl/elf/constload1
+
+sparc64 (bender, non-hardened - linuxthreads not available):
+ nptl/math/test-fenv
+ nptl/dlfcn/default
+ nptl/nptl/tst-eintr1
+ nptl/nptl/tst-cancel20
+ nptl/nptl/tst-cancelx20
+ nptl/elf/tst-tls1
+ nptl/elf/tst-tls2
+ nptl/elf/resolvfail
+ nptl/elf/constload1
+
diff --git a/hardened/toolchain/branches/pieworld/sys-devel/gcc/Manifest b/hardened/toolchain/branches/pieworld/sys-devel/gcc/Manifest
index 7393862..3d85667 100644
--- a/hardened/toolchain/branches/pieworld/sys-devel/gcc/Manifest
+++ b/hardened/toolchain/branches/pieworld/sys-devel/gcc/Manifest
@@ -148,7 +148,7 @@ DIST gcc-3.4.6-patches-1.4.tar.bz2 55772 RMD160 bdc96bf39b806a30d566d18dfe1f0b4b
DIST gcc-3.4.6-piepatches-v9.0.5.tar.bz2 6723 RMD160 eada7d8d45d9cc1e4547fe16e481c3ca41c8e600 SHA1 9c5dabec7c7b6c3bd58820ed187d22f56307dc85 SHA256 9298df21e95e5c97aa812be4c8d9dd14704cc4578b9d59e25146ab8c9095599e
DIST gcc-3.4.6-ssp-1.0.tar.bz2 34468 RMD160 0f668e3ffc08297b5ebe3d5cbb9575426008e096 SHA1 d5c6634632b340657e416ecd2ab5b43048c75c23 SHA256 27ff25099ca8617fe2a76cf8ea06acaab39cff9eb91ef64c84971ba324a664e9
DIST gcc-3.4.6.tar.bz2 28193401 RMD160 b15003368cedc7964f6ceaee0c39ddc43a46c442 SHA1 97b290fdc572c8e490b3b39f243e69bacad23c2b SHA256 7791a601878b765669022b8b3409fba33cc72f9e39340fec8af6d0e6f72dec39
-DIST gcc-4.1.1-patches-1.9.tar.bz2 51152 RMD160 4e9c774c23e5fe96be60de897fee7c3a5a51d942 SHA1 13326fc922d983c4496a0e23d780d04258169863 SHA256 b7d84e319b8cceaa087fa2095f6dbfba34109c7d422ae588d43e2fff41324591
+DIST gcc-4.1.1-patches-1.10.tar.bz2 51907 RMD160 af965233182530ead33d20e12d65ca57487bff14 SHA1 218efc1d5ead3f211e87d16530215ffa3fad85ca SHA256 a95a174b00e9479967ed00d403852c4458ec4214e6990ffaca777dae3f5faa90
DIST gcc-4.1.1-piepatches-v9.0.7.tar.bz2 5114 RMD160 af21263fabcc2428d58d93f0d28799cb39cc60e0 SHA1 7f78a84180895902dc6077ceb00492d880bb063b SHA256 52dc20f0eaee1117616defd4f0a0cb12778d2e7b88f394ecbfc257a7437288e4
DIST gcc-4.1.1-uclibc-patches-1.1.tar.bz2 20981 RMD160 ca12459f3ec8ee8a9dc5c260bea4bb20d6a80a65 SHA1 c004fbace98a1159115a81f0b733a4a248b2d096 SHA256 f97cf0f9fe52a529b41a78bb5d0d57899805fae00c3e7b2dff87c8192195b6f3
DIST gcc-4.1.1.tar.bz2 39172003 RMD160 0edeac242d900b075a7e36796380492b5b3c8564 SHA1 a398b95d38b6e35f4c4e02c34c0a3bff79811f8f SHA256 985cbb23a486570a8783395a42a8689218f5218a0ccdd6bec590eef341367bb7
@@ -156,13 +156,17 @@ EBUILD gcc-3.4.6-r3.ebuild 5025 RMD160 2058cb7bcf3a63d0676584cae76081161d03ea2e
MD5 e7e1819986cf0ecdffbb5f1f59ba6b16 gcc-3.4.6-r3.ebuild 5025
RMD160 2058cb7bcf3a63d0676584cae76081161d03ea2e gcc-3.4.6-r3.ebuild 5025
SHA256 51a5e8aa4e23fea87d17508638016a7651961d4bffd0cd15335f1ce493c206e3 gcc-3.4.6-r3.ebuild 5025
-EBUILD gcc-4.1.1-r3.ebuild 3238 RMD160 f1f0d9a8b8cf66067fff3cb1fcd617923916d8d2 SHA1 ac837101c1ccac4cc6fa7025cf9e6ea5c9e30282 SHA256 a5ba773961619a639767f8f695c21885a96b1b828924891c8711e8b504eee668
-MD5 d43698f73587e2c7e27c8772efc5f6b1 gcc-4.1.1-r3.ebuild 3238
-RMD160 f1f0d9a8b8cf66067fff3cb1fcd617923916d8d2 gcc-4.1.1-r3.ebuild 3238
-SHA256 a5ba773961619a639767f8f695c21885a96b1b828924891c8711e8b504eee668 gcc-4.1.1-r3.ebuild 3238
+EBUILD gcc-4.1.1-r3.ebuild 3240 RMD160 d1d508b81b57f31a4e3b4e5e121347fba664fdd5 SHA1 3214ed339c180b6ca0369000c28cbf3bede48db6 SHA256 60cb092602bd71e98f35ce5adcf3ae3de9c6146513dc4946550da0cebd43b513
+MD5 f7c3b04e407eaba0b68184e67dc39df6 gcc-4.1.1-r3.ebuild 3240
+RMD160 d1d508b81b57f31a4e3b4e5e121347fba664fdd5 gcc-4.1.1-r3.ebuild 3240
+SHA256 60cb092602bd71e98f35ce5adcf3ae3de9c6146513dc4946550da0cebd43b513 gcc-4.1.1-r3.ebuild 3240
+MISC gcc-4.1.1-r3.ebuild.orig 3238 RMD160 f1f0d9a8b8cf66067fff3cb1fcd617923916d8d2 SHA1 ac837101c1ccac4cc6fa7025cf9e6ea5c9e30282 SHA256 a5ba773961619a639767f8f695c21885a96b1b828924891c8711e8b504eee668
+MD5 d43698f73587e2c7e27c8772efc5f6b1 gcc-4.1.1-r3.ebuild.orig 3238
+RMD160 f1f0d9a8b8cf66067fff3cb1fcd617923916d8d2 gcc-4.1.1-r3.ebuild.orig 3238
+SHA256 a5ba773961619a639767f8f695c21885a96b1b828924891c8711e8b504eee668 gcc-4.1.1-r3.ebuild.orig 3238
MD5 f2ae42150d118fee847851b13498c67d files/digest-gcc-3.4.6-r3 1623
RMD160 61cd90be115485be70bc0c6511848949fd86e3ff files/digest-gcc-3.4.6-r3 1623
SHA256 fb9bc05b7f310a0ce63c7538d07315a3432bced82fc26c656e9ec0d843df2468 files/digest-gcc-3.4.6-r3 1623
-MD5 257c237915e5d541ddb4722c25b12ea6 files/digest-gcc-4.1.1-r3 1069
-RMD160 1e976a63989d6b6281faf73777dd85a8b1ea87f5 files/digest-gcc-4.1.1-r3 1069
-SHA256 616aa3a5f75b48c37f231f9636031746df90cef656298a1888af961211955c3c files/digest-gcc-4.1.1-r3 1069
+MD5 3279035e9f313a53c1ba32e561f3a1df files/digest-gcc-4.1.1-r3 1072
+RMD160 91219e23ecedf352e4fa56a0a112c4c549ae133c files/digest-gcc-4.1.1-r3 1072
+SHA256 b95ab9fdf4c17f090e474ffdfd9f4be7632849c428000e8161e851d061e46757 files/digest-gcc-4.1.1-r3 1072
diff --git a/hardened/toolchain/branches/pieworld/sys-devel/gcc/files/digest-gcc-4.1.1-r3 b/hardened/toolchain/branches/pieworld/sys-devel/gcc/files/digest-gcc-4.1.1-r3
index 464173b..4c9b14b 100644
--- a/hardened/toolchain/branches/pieworld/sys-devel/gcc/files/digest-gcc-4.1.1-r3
+++ b/hardened/toolchain/branches/pieworld/sys-devel/gcc/files/digest-gcc-4.1.1-r3
@@ -1,6 +1,6 @@
-MD5 122acf10f2e33f415d467e25f145ac5b gcc-4.1.1-patches-1.9.tar.bz2 51152
-RMD160 4e9c774c23e5fe96be60de897fee7c3a5a51d942 gcc-4.1.1-patches-1.9.tar.bz2 51152
-SHA256 b7d84e319b8cceaa087fa2095f6dbfba34109c7d422ae588d43e2fff41324591 gcc-4.1.1-patches-1.9.tar.bz2 51152
+MD5 004a9eb8a4df723871cf9ce513a285d6 gcc-4.1.1-patches-1.10.tar.bz2 51907
+RMD160 af965233182530ead33d20e12d65ca57487bff14 gcc-4.1.1-patches-1.10.tar.bz2 51907
+SHA256 a95a174b00e9479967ed00d403852c4458ec4214e6990ffaca777dae3f5faa90 gcc-4.1.1-patches-1.10.tar.bz2 51907
MD5 deb751842288a97adf3dbd6a0e240538 gcc-4.1.1-piepatches-v9.0.7.tar.bz2 5114
RMD160 af21263fabcc2428d58d93f0d28799cb39cc60e0 gcc-4.1.1-piepatches-v9.0.7.tar.bz2 5114
SHA256 52dc20f0eaee1117616defd4f0a0cb12778d2e7b88f394ecbfc257a7437288e4 gcc-4.1.1-piepatches-v9.0.7.tar.bz2 5114
diff --git a/hardened/toolchain/branches/pieworld/sys-devel/gcc/gcc-4.1.1-r3.ebuild b/hardened/toolchain/branches/pieworld/sys-devel/gcc/gcc-4.1.1-r3.ebuild
index e101f0c..1131005 100644
--- a/hardened/toolchain/branches/pieworld/sys-devel/gcc/gcc-4.1.1-r3.ebuild
+++ b/hardened/toolchain/branches/pieworld/sys-devel/gcc/gcc-4.1.1-r3.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.1.1-r3.ebuild,v 1.9 2007/01/18 05:13:02 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.1.1-r3.ebuild,v 1.10 2007/02/03 02:13:37 vapier Exp $
-PATCH_VER="1.9"
+PATCH_VER="1.10"
UCLIBC_VER="1.1"
PIE_VER="9.0.7"
PIE_GCC_VER="4.1.1"
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest b/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
index 1a6b713..938f800 100644
--- a/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
+++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
@@ -40,7 +40,7 @@ RMD160 f375f92f6b41029c93382c39cef896261b140cfc files/nsswitch.conf 503
SHA256 6c38b8642d5da884327ad678d0351d57be3621562253bd9711394bad87e45e2d files/nsswitch.conf 503
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-patches-1.3.1.tar.bz2 182061 RMD160 47de64e40452b42e43ab6d736ed9794668d38ad2 SHA1 87d2df7115141d04062a2f17c0df0caa2ed278bb SHA256 e0028abaa2b97cb4dbf4217ba66ebc110f74e04ae05703b5ddda0b3f53a28df0
DIST glibc-2.5.tar.bz2 15321839 RMD160 25a0a460c0db1e5b7c570e5087461696f2096fd2 SHA1 ec9a007c4875062099a4701ac9137fcdb5a71447 SHA256 9b2e12bb1eafb55ab2e5a868532b8e6ec39216c66c25b8998d7474bc4d4eb529
DIST glibc-libidn-2.4.tar.bz2 102305 RMD160 76b2e15e7613c4ac8db3bf90e90929c0e369ab04 SHA1 09981bb5f15812caa5824b3946b30cf030afc255 SHA256 2f29ec2b2b2f75f787a1eed8fdea20aff212dc3bad97651ca376914c49181977
DIST glibc-libidn-2.5.tar.bz2 102330 RMD160 e10e85e0ee7cdab2e5518a93978cb688ccabee88 SHA1 ee7e019e01aa338e28db1eeb34abb2cb09d2f30a SHA256 de77e49e0beee6061d4c6e480f322566ba25d4e5e018c456a18ea4a8da5c0ede
@@ -53,13 +53,17 @@ EBUILD glibc-2.4-r4.ebuild 40802 RMD160 1f4ea04c36389c2c48dfa2cb7182a1824bb01fff
MD5 c14e7d61ba54fd2835f7d6b6628279bc glibc-2.4-r4.ebuild 40802
RMD160 1f4ea04c36389c2c48dfa2cb7182a1824bb01fff glibc-2.4-r4.ebuild 40802
SHA256 a8c15fddeb4cd64075abe4e9038a40bebf4885020805de04f08e717d55290f59 glibc-2.4-r4.ebuild 40802
-EBUILD glibc-2.5.ebuild 39328 RMD160 50c888e94c8942d89c9cdab29ed1182d05f74cbd SHA1 2fb5322cf1317f74a1ba92f12612c80ffaac4754 SHA256 f532b46f2624fca66c46d1b26b45c300eafbd0ed32130470bf30837c44450e84
-MD5 3aa4e98328742f2d6fc3bd379e2f7d2e glibc-2.5.ebuild 39328
-RMD160 50c888e94c8942d89c9cdab29ed1182d05f74cbd glibc-2.5.ebuild 39328
-SHA256 f532b46f2624fca66c46d1b26b45c300eafbd0ed32130470bf30837c44450e84 glibc-2.5.ebuild 39328
+EBUILD glibc-2.5.ebuild 39341 RMD160 d712d2cc74900e6282fb96cd637e7d2ab8eab4f0 SHA1 95fcdb26137f582fbdd33a3f4ce0464bc5ae4899 SHA256 7153d5c58e96cb5bad1e9e957ba13332e5b2585e5e6989246e611bf487f05833
+MD5 ebc5122e945229296be33e12515bc4d0 glibc-2.5.ebuild 39341
+RMD160 d712d2cc74900e6282fb96cd637e7d2ab8eab4f0 glibc-2.5.ebuild 39341
+SHA256 7153d5c58e96cb5bad1e9e957ba13332e5b2585e5e6989246e611bf487f05833 glibc-2.5.ebuild 39341
+MISC glibc-2.5.ebuild.orig 39328 RMD160 50c888e94c8942d89c9cdab29ed1182d05f74cbd SHA1 2fb5322cf1317f74a1ba92f12612c80ffaac4754 SHA256 f532b46f2624fca66c46d1b26b45c300eafbd0ed32130470bf30837c44450e84
+MD5 3aa4e98328742f2d6fc3bd379e2f7d2e glibc-2.5.ebuild.orig 39328
+RMD160 50c888e94c8942d89c9cdab29ed1182d05f74cbd glibc-2.5.ebuild.orig 39328
+SHA256 f532b46f2624fca66c46d1b26b45c300eafbd0ed32130470bf30837c44450e84 glibc-2.5.ebuild.orig 39328
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
+MD5 932be0453d928552fa24d590453bc0cd files/digest-glibc-2.5 1286
+RMD160 ffa1a53d76e1ffb602701f2919ecb63db3e36275 files/digest-glibc-2.5 1286
+SHA256 834a359d2717ef8252d541b9440c91681efc3248bb7f75a2abec96798d862359 files/digest-glibc-2.5 1286
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/digest-glibc-2.5 b/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/digest-glibc-2.5
index 3ec7ab9..f97bb90 100644
--- a/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/digest-glibc-2.5
+++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/digest-glibc-2.5
@@ -1,6 +1,6 @@
-MD5 76c2c086f3c6a98ee3e6fe4cf03bf25a glibc-2.5-patches-1.3.tar.bz2 173857
-RMD160 3e4dc97f1ec57177084937ce85895efd225e859d glibc-2.5-patches-1.3.tar.bz2 173857
-SHA256 ab6deb5ed782551651931381334486feb829f19ae395374c1961f1e9be10130c glibc-2.5-patches-1.3.tar.bz2 173857
+MD5 82875d233db221666b1abf26e7cf6e98 glibc-2.5-patches-1.3.1.tar.bz2 182061
+RMD160 47de64e40452b42e43ab6d736ed9794668d38ad2 glibc-2.5-patches-1.3.1.tar.bz2 182061
+SHA256 e0028abaa2b97cb4dbf4217ba66ebc110f74e04ae05703b5ddda0b3f53a28df0 glibc-2.5-patches-1.3.1.tar.bz2 182061
MD5 1fb29764a6a650a4d5b409dda227ac9f glibc-2.5.tar.bz2 15321839
RMD160 25a0a460c0db1e5b7c570e5087461696f2096fd2 glibc-2.5.tar.bz2 15321839
SHA256 9b2e12bb1eafb55ab2e5a868532b8e6ec39216c66c25b8998d7474bc4d4eb529 glibc-2.5.tar.bz2 15321839
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild b/hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild
index 3e84431..be1cba8 100644
--- a/hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild
+++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 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.21 2007/01/20 11:06:23 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.5.ebuild,v 1.25 2007/02/03 02:02:57 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.3"
+PATCH_VER="1.3.1"
GENTOO_TOOLCHAIN_BASE_URI="mirror://gentoo"
GENTOO_TOOLCHAIN_DEV_URI="http://dev.gentoo.org/~azarah/glibc/XXX http://dev.gentoo.org/~vapier/dist/XXX"
@@ -489,7 +489,7 @@ toolchain-glibc_src_install() {
make \
-C "${GBUILDDIR}" \
- PARALLELMFLAGS="${MAKEOPTS} -j1" \
+ PARALLELMFLAGS="${MAKEOPTS}" \
install_root="${install_root}" \
info -i || die
fi
@@ -508,7 +508,7 @@ toolchain-glibc_src_install() {
doinitd "${WORKDIR}"/extra/etc/nscd || die
cd "${S}"
- dodoc BUGS ChangeLog* CONFORMANCE FAQ INTERFACE NEWS NOTES PROJECTS README*
+ dodoc BUGS ChangeLog* CONFORMANCE FAQ NEWS NOTES PROJECTS README*
# Prevent overwriting of the /etc/localtime symlink. We'll handle the
# creation of the "factory" symlink in pkg_postinst().
@@ -753,7 +753,7 @@ check_nptl_support() {
echo
ebegin "Checking gcc for __thread support"
- if ! eend $(want__thread) ; then
+ if ! eend $(want__thread ; echo $?) ; then
echo
eerror "Could not find a gcc that supports the __thread directive!"
eerror "Please update your binutils/gcc and try again."
@@ -763,7 +763,7 @@ check_nptl_support() {
if ! is_crosscompile && ! tc-is-cross-compiler ; then
# Building fails on an non-supporting kernel
ebegin "Checking kernel version (>=${NPTL_KERNEL_VERSION})"
- if ! eend $([[ $(get_KV) -ge ${min_kernel_version} ]]) ; then
+ if ! eend $([[ $(get_KV) -ge ${min_kernel_version} ]] ; echo $?) ; then
echo
eerror "You need a kernel of at least version ${NPTL_KERNEL_VERSION}"
eerror "for NPTL support!"
@@ -773,7 +773,7 @@ check_nptl_support() {
# Building fails with too low linux-headers
ebegin "Checking linux-headers version (>=${NPTL_KERNEL_VERSION})"
- if ! eend $(check_kheader_version "${min_kernel_version}") ; then
+ if ! eend $(check_kheader_version "${min_kernel_version}" ; echo $?) ; then
echo
eerror "You need linux-headers of at least version ${NPTL_KERNEL_VERSION}"
eerror "for NPTL support!"
@@ -789,7 +789,7 @@ want_nptl() {
# Only list the arches that cannot do NPTL
case $(tc-arch) in
- hppa|m68k) return 1;;
+ m68k) return 1;;
sparc)
# >= v9 is needed for nptl.
[[ ${PROFILE_ARCH} == "sparc" ]] && return 1