diff options
author | Kevin F. Quinn <kevquinn@gentoo.org> | 2007-02-03 21:24:06 +0000 |
---|---|---|
committer | Kevin F. Quinn <kevquinn@gentoo.org> | 2007-02-03 21:24:06 +0000 |
commit | 8e4f3a2d14978be3156e7824fe52257a5d33a3e7 (patch) | |
tree | f9a787b4196d12de4c9c6066989acd162fd1251b | |
parent | Eliminate local-exec also on linuxthreads tls tests, when PIC. (diff) | |
download | kevquinn-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
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 |