summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2007-02-02 19:39:46 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2007-02-02 19:39:46 +0000
commita9dca5cc3332fa90f6253d4b63c5847b7983d7db (patch)
tree82b562e6680414c50237545985c979dc87910e76
parentAllow tst-tls2 to build and run on arches that don't support textrels. (diff)
downloadkevquinn-a9dca5cc3332fa90f6253d4b63c5847b7983d7db.tar.gz
kevquinn-a9dca5cc3332fa90f6253d4b63c5847b7983d7db.tar.bz2
kevquinn-a9dca5cc3332fa90f6253d4b63c5847b7983d7db.zip
Eliminate local-exec also on linuxthreads tls tests, when PIC.
svn path=/; revision=166
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest8
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch60
2 files changed, 62 insertions, 6 deletions
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest b/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
index 40d7617..1a6b713 100644
--- a/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
+++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/Manifest
@@ -22,10 +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 2.5/glibc-2.5-hardened-tests.patch 2243 RMD160 36bac06e12c05a5e283226fd34177eaf2503cdcb SHA1 697778db00fdb41ff8316a0dd006492e99402292 SHA256 69c9b226b6243f78c04bfb99472daa7619d2032ec2294276e7a60dc93ae2b12f
+MD5 dde50e1050e71f8bb51a7843b6b5008d files/2.5/glibc-2.5-hardened-tests.patch 2243
+RMD160 36bac06e12c05a5e283226fd34177eaf2503cdcb files/2.5/glibc-2.5-hardened-tests.patch 2243
+SHA256 69c9b226b6243f78c04bfb99472daa7619d2032ec2294276e7a60dc93ae2b12f files/2.5/glibc-2.5-hardened-tests.patch 2243
AUX nscd 1468 RMD160 4358dc846a186c9db730693f9485b4d4358f3967 SHA1 f340187d998effff8b84250394a608c7305539bf SHA256 12b5d0732e646b3a456646b943930cc5c21cc82635e42ccefe8f197e61d570fe
MD5 1314d7f9022322cd0d1198dcddf1214d files/nscd 1468
RMD160 4358dc846a186c9db730693f9485b4d4358f3967 files/nscd 1468
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
index 8620a80..ae4da18 100644
--- 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
@@ -2,8 +2,9 @@
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.
+ Forcing these tests to use initial-exec when built PIC allows it to build
+ and allows testing to continue normally (obviously, they no longer test
+ local-exec!).
Kevin F. Quinn <kevquinn@gentoo.org> 2 Feb 2007
--- nptl/tst-tls2.c.orig 2007-02-02 18:49:05.000000000 +0100
@@ -21,3 +22,58 @@
static sem_t s;
+--- elf/tst-tls1.c.orig 2007-02-02 20:35:27.000000000 +0100
++++ elf/tst-tls1.c 2007-02-02 20:36:41.000000000 +0100
+@@ -22,9 +22,15 @@
+ int *ap, *bp;
+
+
++#ifdef __PIC__
++ /* Set the variable using the initial exec model; local exec isn't good on PIC. */
++ puts ("set bar to 1 (IE)");
++ ap = TLS_IE (foo);
++#else
+ /* Set the variable using the local exec model. */
+ puts ("set bar to 1 (LE)");
+ ap = TLS_LE (bar);
++#endif
+ *ap = 1;
+
+
+--- elf/tst-tls2.c.orig 2007-02-02 20:35:29.000000000 +0100
++++ elf/tst-tls2.c 2007-02-02 20:37:13.000000000 +0100
+@@ -22,9 +22,15 @@
+ int *ap, *bp;
+
+
++#ifdef __PIC__
++ /* Set the variable using the initial exec model; local exec isn't good on PIC. */
++ puts ("set bar to 1 (IE)");
++ ap = TLS_IE (foo);
++#else
+ /* Set the variable using the local exec model. */
+ puts ("set bar to 1 (LE)");
+ ap = TLS_LE (bar);
++#endif
+ *ap = 1;
+
+
+--- elf/tst-tls3.c.orig 2007-02-02 20:35:32.000000000 +0100
++++ elf/tst-tls3.c 2007-02-02 20:37:39.000000000 +0100
+@@ -26,9 +26,16 @@
+ int *ap, *bp, *cp;
+
+
++
++#ifdef __PIC__
++ /* Set the variable using the initial exec model; local exec isn't good on PIC. */
++ puts ("set baz to 3 (IE)");
++ ap = TLS_IE (baz);
++#else
+ /* Set the variable using the local exec model. */
+ puts ("set baz to 3 (LE)");
+ ap = TLS_LE (baz);
++#endif
+ *ap = 3;
+
+