diff options
author | Kevin F. Quinn <kevquinn@gentoo.org> | 2007-02-02 17:54:08 +0000 |
---|---|---|
committer | Kevin F. Quinn <kevquinn@gentoo.org> | 2007-02-02 17:54:08 +0000 |
commit | 5014037c5dcd5679225be19d84afbc5a0762e2b9 (patch) | |
tree | 522c59a29752ae5d8fbe97b50bafe71a3825127b | |
parent | Fix spec error (diff) | |
download | kevquinn-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
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 \ |