diff options
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.patch | 60 |
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; + + |