summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2007-02-02 17:54:08 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2007-02-02 17:54:08 +0000
commit5014037c5dcd5679225be19d84afbc5a0762e2b9 (patch)
tree522c59a29752ae5d8fbe97b50bafe71a3825127b
parentFix spec error (diff)
downloadkevquinn-5014037c5dcd5679225be19d84afbc5a0762e2b9.tar.gz
kevquinn-5014037c5dcd5679225be19d84afbc5a0762e2b9.tar.bz2
kevquinn-5014037c5dcd5679225be19d84afbc5a0762e2b9.zip
Allow tst-tls2 to build and run on arches that don't support textrels.
svn path=/; revision=165
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest12
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch23
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/glibc-2.5.ebuild3
3 files changed, 34 insertions, 4 deletions
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest b/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
index b52a47e..40d7617 100644
--- a/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
+++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
@@ -22,6 +22,10 @@ AUX 2.5/glibc-2.5-hardened-pie.patch 1522 RMD160 cd6d0fa46973a7f7b4575946998478d
MD5 f58815648658826e79ea33722d6c0742 files/2.5/glibc-2.5-hardened-pie.patch 1522
RMD160 cd6d0fa46973a7f7b4575946998478d148268a50 files/2.5/glibc-2.5-hardened-pie.patch 1522
SHA256 25fc868ba67ba6b6e3476c5786dd493039bb06c70459a5f0c2b12602d294eec3 files/2.5/glibc-2.5-hardened-pie.patch 1522
+AUX 2.5/glibc-2.5-hardened-tests.patch 838 RMD160 6ce8e57d815a2518146116eca518716a9f070312 SHA1 842c433cbda9eadb87d1977d7b3c229565d17dd4 SHA256 853f2ca1fc93c0c1e509bf3ecb07fb8cd1862cd43687829616d16c2494481469
+MD5 b0d2e64c2c7c3e0b61f9545735d970bf files/2.5/glibc-2.5-hardened-tests.patch 838
+RMD160 6ce8e57d815a2518146116eca518716a9f070312 files/2.5/glibc-2.5-hardened-tests.patch 838
+SHA256 853f2ca1fc93c0c1e509bf3ecb07fb8cd1862cd43687829616d16c2494481469 files/2.5/glibc-2.5-hardened-tests.patch 838
AUX nscd 1468 RMD160 4358dc846a186c9db730693f9485b4d4358f3967 SHA1 f340187d998effff8b84250394a608c7305539bf SHA256 12b5d0732e646b3a456646b943930cc5c21cc82635e42ccefe8f197e61d570fe
MD5 1314d7f9022322cd0d1198dcddf1214d files/nscd 1468
RMD160 4358dc846a186c9db730693f9485b4d4358f3967 files/nscd 1468
@@ -49,10 +53,10 @@ 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 39173 RMD160 ac90fd1906ddf7a39567c767c69fa57a21112cdd SHA1 490164416dad48c16732e2f67f4108536a5584c9 SHA256 f9bbdbd3f1764737ac60c4d7e8d6529a2de30586d77eed9744d57d967b6e262f
-MD5 473da1e93ee874ed5347e7b84c719c7d glibc-2.5.ebuild 39173
-RMD160 ac90fd1906ddf7a39567c767c69fa57a21112cdd glibc-2.5.ebuild 39173
-SHA256 f9bbdbd3f1764737ac60c4d7e8d6529a2de30586d77eed9744d57d967b6e262f glibc-2.5.ebuild 39173
+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
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
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch b/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch
new file mode 100644
index 0000000..8620a80
--- /dev/null
+++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch
@@ -0,0 +1,23 @@
+ TLS local-exec model is not intended for PIC code (PIE, shared libraries
+ etc); in PIC code it would require relocations in the text segment, which
+ most arches don't support, and on Hardened Gentoo they're not supported
+ on x86, either.
+ Forcing this test to use initial-exec when built PIC allows it to build
+ and allows testing to continue normally.
+ Kevin F. Quinn <kevquinn@gentoo.org> 2 Feb 2007
+
+--- nptl/tst-tls2.c.orig 2007-02-02 18:49:05.000000000 +0100
++++ nptl/tst-tls2.c 2007-02-02 18:50:07.000000000 +0100
+@@ -57,7 +57,12 @@
+ };
+
+
++#ifdef __PIC__
++/* local-exec requires text relocations on PIC code; avoid it's use if so */
++static __thread void (*fp) (void) __attribute__ ((tls_model ("initial-exec")));
++#else
+ static __thread void (*fp) (void) __attribute__ ((tls_model ("local-exec")));
++#endif
+
+
+ static sem_t s;
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 eef6df1..3e84431 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
@@ -232,6 +232,9 @@ toolchain-glibc_src_unpack() {
# it is used, and that the TLS initialisation uses non-sysenter
# variants of syscalls.
epatch ${FILESDIR}/2.4/glibc-2.4-hardened-inittls-nosysenter.patch
+ # This patch modifies tests that would fail to run at all, due to
+ # the PIE building of tests.
+ epatch ${FILESDIR}/2.5/glibc-2.5-hardened-tests.patch
einfo "Installing Hardened Gentoo SSP handler"
cp -f ${FILESDIR}/2.4/glibc-2.4-gentoo-stack_chk_fail.c \