summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2006-12-16 12:09:40 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2006-12-16 12:09:40 +0000
commit94f0ccb2dfed2256283a39b7592086da50fc9193 (patch)
treeee4f4e5c58830181949095a4bcc9709743261223
parentmove xorg-xserver to xorg-server (diff)
downloadkevquinn-94f0ccb2dfed2256283a39b7592086da50fc9193.tar.gz
kevquinn-94f0ccb2dfed2256283a39b7592086da50fc9193.tar.bz2
kevquinn-94f0ccb2dfed2256283a39b7592086da50fc9193.zip
Updated upgrade instructions
svn path=/; revision=110
-rw-r--r--hardened/toolchain.README49
1 files changed, 37 insertions, 12 deletions
diff --git a/hardened/toolchain.README b/hardened/toolchain.README
index 5250a36..681ba61 100644
--- a/hardened/toolchain.README
+++ b/hardened/toolchain.README
@@ -4,39 +4,64 @@ Upgrade path for Hardened Gentoo users from glibc-2.3*/gcc-3* to glibc-2.4+/gcc-
Note; references to "hardened", "non-hardened" etc refer to the toolchain, not the
kernel.
+
Generic upgrade instructions
----------------------------
-1) going from non-hardened stage3 2006.1:
+There are separate instructions depending on where you start. Instruction set (2)
+should work in all cases, provided a vanilla compiler is set via gcc-config first.
+However the most common case will be (1) - which is why it's listed first :)
+
+
+1) HARDENED SYSTEMS with hardened gcc-3 and glibc-2.3
+ Going from an existing hardened system (gcc-3.4.6 & glibc-2.3.6 hardened)
+
+ .1) emerge --oneshot sys-libs/glibc
+ build the hardened version of glibc-2.4 (with the gcc-3 hardened compiler)
+
+ .2) emerge --oneshot sys-devel/gcc
+ build the hardened gcc-4.1.1 with the hardened gcc-3.4.6
+
+ .3) emerge --oneshot sys-libs/glibc
+ rebuild the hardened version of glibc-2.4 (with the gcc-4 hardened compiler)
+
+
+2) NON-HARDENED SYSTEMS with gcc-4.1.1 and glibc-2.4 (no -hardened compiler available)
+ Going from non-hardened stage3 2006.1:
This starts from non-hardened gcc-4.1.1 and glibc-2.4
.1) Switch profile to the hardened profile
+ This means remaking the softlink /etc/make.conf to a hardened profile.
+ Do not confuse this with selecting a hardened compiler with gcc-config (which
+ you can't do anyway from the standard 2006.1 stage3).
.2) emerge --oneshot sys-libs/glibc
- Build glibc with support for both gcc-3 and gcc-4 stack protection
+ Build glibc with support for both gcc-3 and gcc-4 stack protectiona.
.3) USE="-hardened" emerge --oneshot sys-devel/gcc
Build gcc-4 non-hardened, but including split-specs so it can build
- hardened later.
+ hardened objects later.
- .4) gcc-config to the (now available) hardened variant of the compiler
+ .4) gcc-config to the (now available) hardened variant of the compiler.
.5) emerge --oneshot sys-libs/glibc
- build the hardened version of glibc-2.4 (with the gcc-4 hardened compiler)
+ Build the hardened version of glibc-2.4 (with the gcc-4 hardened compiler)
.6) emerge --oneshot sys-devel/gcc
This will build gcc itself hardened (in particular, building the static libraries PIE)
-2) going from an existing hardened system (gcc-3.4.6 & glibc-2.3.6 hardened)
+3) NON-HARDENED SYSTEMS with a -hardened gcc available
- .1) emerge --oneshot sys-libs/glibc
- build the hardened version of glibc-2.4 (with the gcc-3 hardened compiler)
+ .1) gcc-config to the -hardened gcc
- .2) emerge --oneshot sys-devel/gcc
- build the hardened gcc-4.1.1 with the hardened gcc-3.4.6
-
- .3) emerge --oneshot sys-libs/glibc
+ .2) emerge --oneshot sys-libs/glibc
+ Build glibc with support for both gcc-3 and gcc-4 stack protectiona.
+
+ .3) emerge --oneshot sys-devel/gcc
+ build the hardened gcc-4.1.1 with a hardened gcc
+
+ .4) emerge --oneshot sys-libs/glibc
rebuild the hardened version of glibc-2.4 (with the gcc-4 hardened compiler)