summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hardened/toolchain/branches/pieworld/eclass/flag-o-matic.eclass6
-rw-r--r--hardened/toolchain/branches/pieworld/eclass/toolchain.eclass18
-rw-r--r--hardened/toolchain/branches/pieworld/pieworld.README4
3 files changed, 12 insertions, 16 deletions
diff --git a/hardened/toolchain/branches/pieworld/eclass/flag-o-matic.eclass b/hardened/toolchain/branches/pieworld/eclass/flag-o-matic.eclass
index a5f0103..6986692 100644
--- a/hardened/toolchain/branches/pieworld/eclass/flag-o-matic.eclass
+++ b/hardened/toolchain/branches/pieworld/eclass/flag-o-matic.eclass
@@ -94,15 +94,15 @@ inherit eutils toolchain-funcs multilib
# C[XX]FLAGS that we allow in strip-flags
# Note: shell globs and character lists are allowed
setup-allowed-flags() {
- if [[ -z ${ALLOWED_FLAGS} ]] ; then
- export ALLOWED_FLAGS="-pipe"
+ #if [[ -z ${ALLOWED_FLAGS} ]] ; then
+ export ALLOWED_FLAGS="${ALLOWED_FLAGS} -pipe"
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -O -O0 -O1 -O2 -mcpu -march -mtune"
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fstack-protector -fstack-protector-all"
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fbounds-checking -fno-bounds-checking"
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-PIE -fno-pie -fno-unit-at-a-time"
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -g -g[0-9] -ggdb -ggdb[0-9] -gstabs -gstabs+"
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-ident"
- fi
+ #fi
# allow a bunch of flags that negate features / control ABI
ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all"
ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs \
diff --git a/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass b/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass
index 2285241..75f3271 100644
--- a/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass
+++ b/hardened/toolchain/branches/pieworld/eclass/toolchain.eclass
@@ -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/eclass/toolchain.eclass,v 1.332 2007/03/24 06:46:33 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.333 2007/05/03 04:51:07 vapier Exp $
#
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -648,8 +648,10 @@ create_gcc_env_entry() {
gcc_specs_file="${LIBPATH}/$1.specs"
fi
+ # phase PATH/ROOTPATH out ...
echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file}
echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file}
+ echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file}
if use multilib && ! has_multilib_profile; then
LDPATH="${LIBPATH}"
@@ -2208,9 +2210,6 @@ do_gcc_PIE_patches() {
}
should_we_gcc_config() {
- # we only want to switch compilers if installing to / or /tmp/stage1root
- [[ ${ROOT} == "/" || ${ROOT} == "/tmp/stage1root" ]] || return 1
-
# we always want to run gcc-config if we're bootstrapping, otherwise
# we might get stuck with the c-only stage1 compiler
use bootstrap && return 0
@@ -2219,12 +2218,12 @@ should_we_gcc_config() {
# if the current config is invalid, we definitely want a new one
# Note: due to bash quirkiness, the following must not be 1 line
local curr_config
- curr_config=$(env -i gcc-config -c ${CTARGET} 2>&1) || return 0
+ curr_config=$(env -i ROOT="${ROOT}" gcc-config -c ${CTARGET} 2>&1) || return 0
# if the previously selected config has the same major.minor (branch) as
# the version we are installing, then it will probably be uninstalled
# for being in the same SLOT, make sure we run gcc-config.
- local curr_config_ver=$(env -i gcc-config -S ${curr_config} | awk '{print $2}')
+ local curr_config_ver=$(env -i ROOT="${ROOT}" gcc-config -S ${curr_config} | awk '{print $2}')
local curr_branch_ver=$(get_version_component_range 1-2 ${curr_config_ver})
@@ -2256,14 +2255,14 @@ should_we_gcc_config() {
do_gcc_config() {
if ! should_we_gcc_config ; then
- env -i gcc-config --use-old --force
+ env -i ROOT="${ROOT}" gcc-config --use-old --force
return 0
fi
local current_gcc_config="" current_specs="" use_specs=""
# We grep out any possible errors
- current_gcc_config=$(env -i gcc-config -c ${CTARGET} | grep -v '^ ')
+ current_gcc_config=$(env -i ROOT="${ROOT}" gcc-config -c ${CTARGET} | grep -v '^ ')
if [[ -n ${current_gcc_config} ]] ; then
# figure out which specs-specific config is active
current_specs=$(gcc-config -S ${current_gcc_config} | awk '{print $3}')
@@ -2286,9 +2285,6 @@ do_gcc_config() {
}
should_we_eselect_compiler() {
- # we only want to switch compilers if installing to / or /tmp/stage1root
- [[ ${ROOT} == "/" || ${ROOT} == "/tmp/stage1root" ]] || return 1
-
# we always want to run gcc-config if we're bootstrapping, otherwise
# we might get stuck with the c-only stage1 compiler
use bootstrap && return 0
diff --git a/hardened/toolchain/branches/pieworld/pieworld.README b/hardened/toolchain/branches/pieworld/pieworld.README
index 30efac6..973e062 100644
--- a/hardened/toolchain/branches/pieworld/pieworld.README
+++ b/hardened/toolchain/branches/pieworld/pieworld.README
@@ -32,10 +32,10 @@ Upgrade path
1) emerge --oneshot =sys-devel/binutils-2.17
2) Switch to 2.17 binutils (binutils-config)
3) Switch to vanilla compiler (gcc-config)
-4) USE="-hardened" emerge --oneshot =sys-libs/glibc-2.5-r1
+4) USE="-hardened" emerge --oneshot =sys-libs/glibc-2.5-r2
5) USE="-hardened" emerge --oneshot =sys-devel/gcc-4.1.2-r1
6) switch to hardened compiler
-7) emerge --oneshot =sys-libs/glibc-2.5-r1
+7) emerge --oneshot =sys-libs/glibc-2.5-r2
8) emerge --oneshot =sys-devel/gcc-4.1.2-r1
9) emerge -e world :)