From a9dca5cc3332fa90f6253d4b63c5847b7983d7db Mon Sep 17 00:00:00 2001 From: "Kevin F. Quinn" Date: Fri, 2 Feb 2007 19:39:46 +0000 Subject: Eliminate local-exec also on linuxthreads tls tests, when PIC. svn path=/; revision=166 --- .../branches/pieworld/sys-libs/glibc/Manifest | 8 +-- .../glibc/files/2.5/glibc-2.5-hardened-tests.patch | 60 +++++++++++++++++++++- 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 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; + + -- cgit v1.2.3-65-gdbad