summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2007-01-26 08:06:50 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2007-01-26 08:06:50 +0000
commitb6bd0ca036ef5247cbb06944beeee5f01ec484de (patch)
tree9a7342724b20a6e30a4560a32449c6ff8c7149fc /hardened
parentCommit pending change, prior to move to branch (diff)
downloadkevquinn-b6bd0ca036ef5247cbb06944beeee5f01ec484de.tar.gz
kevquinn-b6bd0ca036ef5247cbb06944beeee5f01ec484de.tar.bz2
kevquinn-b6bd0ca036ef5247cbb06944beeee5f01ec484de.zip
Move trunk to branches/pie-abi
svn path=/; revision=159
Diffstat (limited to 'hardened')
-rw-r--r--hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/Manifest (renamed from hardened/toolchain/trunk/app-admin/eselect-compiler/Manifest)0
-rw-r--r--hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc2-r1.ebuild (renamed from hardened/toolchain/trunk/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc2-r1.ebuild)0
-rw-r--r--hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc2-r1 (renamed from hardened/toolchain/trunk/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc2-r1)0
-rw-r--r--hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/eselect-compiler-2.0.0_rc2-bug135688.patch (renamed from hardened/toolchain/trunk/app-admin/eselect-compiler/files/eselect-compiler-2.0.0_rc2-bug135688.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/eselect-compiler-integrate_specs_ccache_distcc.patch (renamed from hardened/toolchain/trunk/app-admin/eselect-compiler/files/eselect-compiler-integrate_specs_ccache_distcc.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/distfiles/gcc-4.1.1-piepatches-v9.0.6.tar.bz2 (renamed from hardened/toolchain/trunk/distfiles/gcc-4.1.1-piepatches-v9.0.6.tar.bz2)bin5120 -> 5120 bytes
-rw-r--r--hardened/toolchain/branches/pie-abi/eclass/flag-o-matic.eclass (renamed from hardened/toolchain/trunk/eclass/flag-o-matic.eclass)0
-rw-r--r--hardened/toolchain/branches/pie-abi/eclass/toolchain-funcs.eclass (renamed from hardened/toolchain/trunk/eclass/toolchain-funcs.eclass)0
-rw-r--r--hardened/toolchain/branches/pie-abi/eclass/toolchain.eclass (renamed from hardened/toolchain/trunk/eclass/toolchain.eclass)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/Manifest (renamed from hardened/toolchain/trunk/sys-devel/gcc/Manifest)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n32only.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n32only.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n64only.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n64only.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v4.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v4.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libssp.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libssp.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.4/gcc-3.4.4-softfloat.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/3.4.4/gcc-3.4.4-softfloat.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.0.2/gcc-4.0.2-cc1-no-stack-protector.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/4.0.2/gcc-4.0.2-cc1-no-stack-protector.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/awk/fixlafiles.awk (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/awk/fixlafiles.awk)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la)0
-rwxr-xr-xhardened/toolchain/branches/pie-abi/sys-devel/gcc/files/c89 (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/c89)0
-rwxr-xr-xhardened/toolchain/branches/pie-abi/sys-devel/gcc/files/c99 (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/c99)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/digest-gcc-3.4.6-r3 (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/digest-gcc-3.4.6-r3)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/digest-gcc-4.1.1-r3 (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/digest-gcc-4.1.1-r3)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/fix_libtool_files.sh (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/fix_libtool_files.sh)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/gcc-spec-env.patch (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/gcc-spec-env.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardened.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardened.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednopie.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednopie.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednopiessp.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednopiessp.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednossp.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednossp.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nopie.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/nopie.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nossp.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/nossp.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nosspall.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/nosspall.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/noznow.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/noznow.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nozrelro.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/nozrelro.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/pie.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/pie.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/ssp.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/ssp.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/sspall.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/sspall.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/vanilla.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/vanilla.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/znow.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/znow.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/zrelro.specs (renamed from hardened/toolchain/trunk/sys-devel/gcc/files/specs/zrelro.specs)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/gcc-3.4.6-r3.ebuild (renamed from hardened/toolchain/trunk/sys-devel/gcc/gcc-3.4.6-r3.ebuild)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-devel/gcc/gcc-4.1.1-r3.ebuild (renamed from hardened/toolchain/trunk/sys-devel/gcc/gcc-4.1.1-r3.ebuild)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/Manifest (renamed from hardened/toolchain/trunk/sys-libs/glibc/Manifest)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-gentoo-stack_chk_fail.c (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-gentoo-stack_chk_fail.c)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-hardened-pie.patch (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-hardened-pie.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-linuxssp.patch (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-linuxssp.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-testfailobvious.patch (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-testfailobvious.patch)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/digest-glibc-2.4-r4 (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/digest-glibc-2.4-r4)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/digest-glibc-2.5 (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/digest-glibc-2.5)0
-rwxr-xr-xhardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nscd (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/nscd)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nscd.conf (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/nscd.conf)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nsswitch.conf (renamed from hardened/toolchain/trunk/sys-libs/glibc/files/nsswitch.conf)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/glibc-2.4-r4.ebuild (renamed from hardened/toolchain/trunk/sys-libs/glibc/glibc-2.4-r4.ebuild)0
-rw-r--r--hardened/toolchain/branches/pie-abi/sys-libs/glibc/glibc-2.5.ebuild (renamed from hardened/toolchain/trunk/sys-libs/glibc/glibc-2.5.ebuild)0
-rw-r--r--hardened/toolchain/branches/pie-abi/toolchain.README (renamed from hardened/toolchain/trunk/toolchain.README)0
-rw-r--r--hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/nopie.specs3
-rw-r--r--hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/pie.specs3
-rw-r--r--hardened/toolchain/branches/pieworld/eclass/toolchain-funcs.eclass74
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild6
66 files changed, 85 insertions, 1 deletions
diff --git a/hardened/toolchain/trunk/app-admin/eselect-compiler/Manifest b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/Manifest
index 193299e..193299e 100644
--- a/hardened/toolchain/trunk/app-admin/eselect-compiler/Manifest
+++ b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/Manifest
diff --git a/hardened/toolchain/trunk/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc2-r1.ebuild b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc2-r1.ebuild
index c848ee6..c848ee6 100644
--- a/hardened/toolchain/trunk/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc2-r1.ebuild
+++ b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc2-r1.ebuild
diff --git a/hardened/toolchain/trunk/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc2-r1 b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc2-r1
index dbd6601..dbd6601 100644
--- a/hardened/toolchain/trunk/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc2-r1
+++ b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc2-r1
diff --git a/hardened/toolchain/trunk/app-admin/eselect-compiler/files/eselect-compiler-2.0.0_rc2-bug135688.patch b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/eselect-compiler-2.0.0_rc2-bug135688.patch
index 1b5c3e4..1b5c3e4 100644
--- a/hardened/toolchain/trunk/app-admin/eselect-compiler/files/eselect-compiler-2.0.0_rc2-bug135688.patch
+++ b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/eselect-compiler-2.0.0_rc2-bug135688.patch
diff --git a/hardened/toolchain/trunk/app-admin/eselect-compiler/files/eselect-compiler-integrate_specs_ccache_distcc.patch b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/eselect-compiler-integrate_specs_ccache_distcc.patch
index 01694a9..01694a9 100644
--- a/hardened/toolchain/trunk/app-admin/eselect-compiler/files/eselect-compiler-integrate_specs_ccache_distcc.patch
+++ b/hardened/toolchain/branches/pie-abi/app-admin/eselect-compiler/files/eselect-compiler-integrate_specs_ccache_distcc.patch
diff --git a/hardened/toolchain/trunk/distfiles/gcc-4.1.1-piepatches-v9.0.6.tar.bz2 b/hardened/toolchain/branches/pie-abi/distfiles/gcc-4.1.1-piepatches-v9.0.6.tar.bz2
index c73c0dd..c73c0dd 100644
--- a/hardened/toolchain/trunk/distfiles/gcc-4.1.1-piepatches-v9.0.6.tar.bz2
+++ b/hardened/toolchain/branches/pie-abi/distfiles/gcc-4.1.1-piepatches-v9.0.6.tar.bz2
Binary files differ
diff --git a/hardened/toolchain/trunk/eclass/flag-o-matic.eclass b/hardened/toolchain/branches/pie-abi/eclass/flag-o-matic.eclass
index 8fd86f7..8fd86f7 100644
--- a/hardened/toolchain/trunk/eclass/flag-o-matic.eclass
+++ b/hardened/toolchain/branches/pie-abi/eclass/flag-o-matic.eclass
diff --git a/hardened/toolchain/trunk/eclass/toolchain-funcs.eclass b/hardened/toolchain/branches/pie-abi/eclass/toolchain-funcs.eclass
index 676d97d..676d97d 100644
--- a/hardened/toolchain/trunk/eclass/toolchain-funcs.eclass
+++ b/hardened/toolchain/branches/pie-abi/eclass/toolchain-funcs.eclass
diff --git a/hardened/toolchain/trunk/eclass/toolchain.eclass b/hardened/toolchain/branches/pie-abi/eclass/toolchain.eclass
index 0d9463a..0d9463a 100644
--- a/hardened/toolchain/trunk/eclass/toolchain.eclass
+++ b/hardened/toolchain/branches/pie-abi/eclass/toolchain.eclass
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/Manifest b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/Manifest
index 5e4aaf1..5e4aaf1 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/Manifest
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/Manifest
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch
index 72bce28..72bce28 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n32only.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n32only.patch
index 6fba12b..6fba12b 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n32only.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n32only.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n64only.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n64only.patch
index 81baf62..81baf62 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n64only.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.1/gcc-3.4.1-mips-n64only.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v4.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v4.patch
index 02edc37..02edc37 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v4.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v4.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch
index d02a5e9..d02a5e9 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
index b5195e4..b5195e4 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
index b270a06..b270a06 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libssp.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libssp.patch
index 0f9608a..0f9608a 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.3/libssp.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.3/libssp.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
index 0389543..0389543 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.4/gcc-3.4.4-softfloat.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.4/gcc-3.4.4-softfloat.patch
index 9646bed..9646bed 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/3.4.4/gcc-3.4.4-softfloat.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/3.4.4/gcc-3.4.4-softfloat.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/4.0.2/gcc-4.0.2-cc1-no-stack-protector.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.0.2/gcc-4.0.2-cc1-no-stack-protector.patch
index 46c4879..46c4879 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/4.0.2/gcc-4.0.2-cc1-no-stack-protector.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.0.2/gcc-4.0.2-cc1-no-stack-protector.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch
index e49fea6..e49fea6 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
index 523caa4..523caa4 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
index 6090d66..6090d66 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/awk/fixlafiles.awk b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/awk/fixlafiles.awk
index c4798f2..c4798f2 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/awk/fixlafiles.awk
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/awk/fixlafiles.awk
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
index fb4778c..fb4778c 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/c89 b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/c89
index d0a3c1e..d0a3c1e 100755
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/c89
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/c89
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/c99 b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/c99
index 2edf5cd..2edf5cd 100755
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/c99
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/c99
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/digest-gcc-3.4.6-r3 b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/digest-gcc-3.4.6-r3
index e00b428..e00b428 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/digest-gcc-3.4.6-r3
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/digest-gcc-3.4.6-r3
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/digest-gcc-4.1.1-r3 b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/digest-gcc-4.1.1-r3
index 379a8b4..379a8b4 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/digest-gcc-4.1.1-r3
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/digest-gcc-4.1.1-r3
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/fix_libtool_files.sh b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/fix_libtool_files.sh
index c144be2..c144be2 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/fix_libtool_files.sh
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/fix_libtool_files.sh
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/gcc-spec-env.patch b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/gcc-spec-env.patch
index 9d5e666..9d5e666 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/gcc-spec-env.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/gcc-spec-env.patch
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardened.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardened.specs
index dc6143c..dc6143c 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardened.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardened.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednopie.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednopie.specs
index efc017d..efc017d 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednopie.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednopie.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednopiessp.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednopiessp.specs
index d1d59da..d1d59da 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednopiessp.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednopiessp.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednossp.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednossp.specs
index 30a6d8d..30a6d8d 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/hardenednossp.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/hardenednossp.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nopie.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nopie.specs
index f8e3e2e..f8e3e2e 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nopie.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nopie.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nossp.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nossp.specs
index c41dc60..c41dc60 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nossp.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nossp.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nosspall.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nosspall.specs
index 34748c9..34748c9 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nosspall.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nosspall.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/noznow.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/noznow.specs
index 0361995..0361995 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/noznow.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/noznow.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nozrelro.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nozrelro.specs
index 02eadcf..02eadcf 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/nozrelro.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/nozrelro.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/pie.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/pie.specs
index 915cd2c..915cd2c 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/pie.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/pie.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/ssp.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/ssp.specs
index 89e3429..89e3429 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/ssp.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/ssp.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/sspall.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/sspall.specs
index f6fc418..f6fc418 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/sspall.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/sspall.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/vanilla.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/vanilla.specs
index 38129cf..38129cf 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/vanilla.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/vanilla.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/znow.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/znow.specs
index 9262262..9262262 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/znow.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/znow.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/zrelro.specs b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/zrelro.specs
index e08f2ac..e08f2ac 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/files/specs/zrelro.specs
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/files/specs/zrelro.specs
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/gcc-3.4.6-r3.ebuild b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/gcc-3.4.6-r3.ebuild
index 31b9bc4..31b9bc4 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/gcc-3.4.6-r3.ebuild
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/gcc-3.4.6-r3.ebuild
diff --git a/hardened/toolchain/trunk/sys-devel/gcc/gcc-4.1.1-r3.ebuild b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/gcc-4.1.1-r3.ebuild
index d7009da..d7009da 100644
--- a/hardened/toolchain/trunk/sys-devel/gcc/gcc-4.1.1-r3.ebuild
+++ b/hardened/toolchain/branches/pie-abi/sys-devel/gcc/gcc-4.1.1-r3.ebuild
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/Manifest b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/Manifest
index ae051aa..ae051aa 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/Manifest
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/Manifest
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-gentoo-stack_chk_fail.c b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-gentoo-stack_chk_fail.c
index e304440..e304440 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-gentoo-stack_chk_fail.c
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-gentoo-stack_chk_fail.c
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-hardened-pie.patch b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-hardened-pie.patch
index a25ab55..a25ab55 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-hardened-pie.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-hardened-pie.patch
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-linuxssp.patch b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-linuxssp.patch
index 9be5201..9be5201 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-linuxssp.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-linuxssp.patch
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-testfailobvious.patch b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-testfailobvious.patch
index eeaa639..eeaa639 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/2.4/glibc-2.4-testfailobvious.patch
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/2.4/glibc-2.4-testfailobvious.patch
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/digest-glibc-2.4-r4 b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/digest-glibc-2.4-r4
index 924d433..924d433 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/digest-glibc-2.4-r4
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/digest-glibc-2.4-r4
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/digest-glibc-2.5 b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/digest-glibc-2.5
index 3ec7ab9..3ec7ab9 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/digest-glibc-2.5
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/digest-glibc-2.5
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/nscd b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nscd
index a683e8f..a683e8f 100755
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/nscd
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nscd
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/nscd.conf b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nscd.conf
index 226dda3..226dda3 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/nscd.conf
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nscd.conf
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/files/nsswitch.conf b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nsswitch.conf
index eb16961..eb16961 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/files/nsswitch.conf
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/files/nsswitch.conf
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/glibc-2.4-r4.ebuild b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/glibc-2.4-r4.ebuild
index b1651bf..b1651bf 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/glibc-2.4-r4.ebuild
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/glibc-2.4-r4.ebuild
diff --git a/hardened/toolchain/trunk/sys-libs/glibc/glibc-2.5.ebuild b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/glibc-2.5.ebuild
index e7e9fde..e7e9fde 100644
--- a/hardened/toolchain/trunk/sys-libs/glibc/glibc-2.5.ebuild
+++ b/hardened/toolchain/branches/pie-abi/sys-libs/glibc/glibc-2.5.ebuild
diff --git a/hardened/toolchain/trunk/toolchain.README b/hardened/toolchain/branches/pie-abi/toolchain.README
index 6e65198..6e65198 100644
--- a/hardened/toolchain/trunk/toolchain.README
+++ b/hardened/toolchain/branches/pie-abi/toolchain.README
diff --git a/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/nopie.specs b/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/nopie.specs
index f8e3e2e..935051d 100644
--- a/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/nopie.specs
+++ b/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/nopie.specs
@@ -13,6 +13,9 @@
*startfile_pie:
%{pie:crtbeginS.o%s;:crtbegin.o%s}
+*startfile_pie_t:
+%{static:crtbeginT.o%s;pie:crtbeginS.o%s;:crtbegin.o%s}
+
*link_pie:
%{pie:-pie}
diff --git a/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/pie.specs b/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/pie.specs
index 915cd2c..11a65ad 100644
--- a/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/pie.specs
+++ b/hardened/toolchain/branches/pieworld-gccnopie/sys-devel/gcc/files/specs/pie.specs
@@ -13,6 +13,9 @@
*startfile_pie:
%{fno-pie|fno-PIE|nostdlib|nopie:crtbegin.o%s;:crtbeginS.o%s}
+*startfile_pie_t:
+%{fno-pie|fno-PIE|nostdlib|nopie:crtbegin.o%s;:crtbeginS.o%s}
+
*link_pie:
%{pie:-pie} %{!pie: %{!A: %{!fno-pie:%{!fno-PIE: %{!static: %{!shared:%{!nostdlib:%{!nostartfiles: %{!nopie:-pie} }}} } }} } }
diff --git a/hardened/toolchain/branches/pieworld/eclass/toolchain-funcs.eclass b/hardened/toolchain/branches/pieworld/eclass/toolchain-funcs.eclass
index 087a32e..a5e6ca1 100644
--- a/hardened/toolchain/branches/pieworld/eclass/toolchain-funcs.eclass
+++ b/hardened/toolchain/branches/pieworld/eclass/toolchain-funcs.eclass
@@ -287,3 +287,77 @@ _tc_gen_usr_ldscript() {
done
}
gen_usr_ldscript() { _tc_gen_usr_ldscript "$@" ; }
+
+
+# Much assembly code is written conditional on preprocessor macro
+# PIC, which is a libtool convention and not something the toolchain
+# itself sets. GCC has set __PIC__ for the longest time when buildling
+# position-independent code (either -fPIC or -fPIE), so using __PIC__
+# is reliable. The hardened compiler switches on PIE by default, so
+# any code for applications that has position-independent versions
+# enabled via -DPIC don't get triggered when building -fPIE, even
+# though it would be necessary.
+# One easy option would be to have the compiler define PIC when
+# building -fPIE - however it would break code that contains PIC as
+# a word anywhere in it's source. A purer solution is to modify
+# preprocessor conditionals to accept __PIC__ in addition to PIC.
+# This function is provided to perform such modifications, to avoid
+# duplicating complex modifications throughout the tree.
+#
+# Syntax:
+# fixup_DPIC [-style edit|prepend] <directory> <filename match>
+#
+# Default is to try all files recursively from ${S}
+# With -edit, replaces:
+# #ifdef PIC -> #if defined PIC || defined __PIC__
+# #ifndef PIC -> #if !defined PIC && !defined __PIC__
+# #if ... defined PIC ... -> #if ... (defined PIC || defined __PIC__) ...
+# #if ... !defined PIC ... -> #if ... (!defined PIC && !defined __PIC__) ...
+#
+# With -prepend, it prepends the following:
+# #if (defined __PIC__ && !defined PIC)
+# # define PIC
+# #endif
+# to the top of any source file containing /#[[:space:]]*if.*PIC/
+#
+# -prepend is the default.
+fixup_DPIC() {
+ local style="prepend"
+ while [[ ${1:0:1} == "-" ]]; do
+ case ${1} in
+ "-style") shift; [[ -z $1 ]] && die "fixup_PIC syntax error"; style=${1} ;;
+ *) die "Unknown fixup_DPIC option ${1}"
+ esac
+ shift
+ done
+ local sourceroot="$1"
+ local findmatch="$2"
+ local findop="-name"
+ [[ -z ${sourceroot} ]] && sourceroot="${S}"
+ [[ -z ${findmatch} ]] && findop=""
+
+ case ${style} in
+ "edit")
+ find "${sourceroot}" ${findop} "${findmatch}" | \
+ xargs grep -l '^[[:space:]]*#[[:space:]]*if.*\bPIC\b' | \
+ xargs sed -s -i -n \
+ -e 's/\(#[[:space:]]\+\)ifdef[[:space:]]\+PIC\b/\1if (defined PIC || defined __PIC__)/' \
+ -e 's/\(#[[:space:]]\+\)ifndef[[:space:]]\+PIC\b/\1if (!defined PIC && !defined __PIC__)/' \
+ -e 's/\(#[[:space:]]\+if[[:space:]]\+\)defined[[:space:]]\+PIC\b\(.*$\)/\1(defined PIC || defined __PIC__)/' \
+ -e 's/\(#[[:space:]]\+if[[:space:]]\+\)![[:space:]]\+defined[[:space:]]\+PIC\b\(.*$\)/\1(!defined PIC && !defined __PIC__)/'
+ ;;
+ "prepend")
+ einfo "Prepending PIC fixup"
+ find "${sourceroot}" ${findop} "${findmatch}" | \
+ xargs grep -l '^[[:space:]]*#[[:space:]]*if.*\bPIC\b' | \
+ xargs sed -i -e '1i#if defined __PIC__ && !defined PIC\
+# define PIC\
+#endif\
+'
+ ;;
+ *)
+ die "Unknown DPIC fixup style ${style}"
+ ;;
+ esac
+}
+
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 bf201df..eef6df1 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
@@ -223,7 +223,7 @@ toolchain-glibc_src_unpack() {
if use hardened; then
einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
- # Tihs patch forces all links to use the PIC crtfiles, to build PIEs.
+ # This patch forces all links to use the PIC crtfiles, to build PIEs.
epatch ${FILESDIR}/2.5/glibc-2.5-hardened-pie.patch
# This patch fixes the PIC detector to ignore PIE
epatch ${FILESDIR}/2.4/glibc-2.4-hardened-configure-picdefault.patch
@@ -249,6 +249,10 @@ toolchain-glibc_src_unpack() {
# Build nscd with ssp-all
sed -i -e 's:-fstack-protector$:-fstack-protector-all:' ${S}/nscd/Makefile ||
die "Failed to ensure nscd builds with ssp-all"
+
+ # Fix all ifdef PIC to accept also __PIC__, in header and
+ # un-pre-processed assembler source files.
+ fixup_DPIC -style prepend ${S} "*.[h|S]"
fi
gnuconfig_update