summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch')
-rw-r--r--hardened/toolchain/branches/pieworld/sys-libs/glibc/files/2.5/glibc-2.5-hardened-tests.patch60
1 files changed, 58 insertions, 2 deletions
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;
+
+