From 959b0961c9c714aa735ebb59e925fdf6f5117d99 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 8 Apr 2011 16:14:49 +0000 Subject: Properly handle R_386_TLS_LDO_32 for PIE. bfd/ 2011-04-08 H.J. Lu PR ld/12654 * elf32-i386.c (elf_i386_relocate_section): Check !executable instead of shared for R_386_TLS_LDO_32. ld/testsuite/ 2011-04-08 H.J. Lu PR ld/12654 * ld-i386/i386.exp: Run tlspie2. * ld-i386/tlspie2.d: New. * ld-i386/tlspie2.s: Likewise. --- ld/testsuite/ChangeLog | 8 ++++++++ ld/testsuite/ld-i386/i386.exp | 1 + ld/testsuite/ld-i386/tlspie2.d | 13 +++++++++++++ ld/testsuite/ld-i386/tlspie2.s | 12 ++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 ld/testsuite/ld-i386/tlspie2.d create mode 100644 ld/testsuite/ld-i386/tlspie2.s (limited to 'ld') diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 7c81bcb..f6081e1 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2011-04-08 H.J. Lu + + PR ld/12654 + * ld-i386/i386.exp: Run tlspie2. + + * ld-i386/tlspie2.d: New. + * ld-i386/tlspie2.s: Likewise. + 2011-04-06 Joseph Myers * ld-selective/selective.exp (xscale-*-*): Don't handle. diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index ead0df1..cc82e15 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -190,6 +190,7 @@ run_dump_test "protected1" run_dump_test "protected2" run_dump_test "protected3" run_dump_test "tlspie1" +run_dump_test "tlspie2" run_dump_test "nogot1" run_dump_test "nogot2" run_dump_test "discarded1" diff --git a/ld/testsuite/ld-i386/tlspie2.d b/ld/testsuite/ld-i386/tlspie2.d new file mode 100644 index 0000000..16d6ae4 --- /dev/null +++ b/ld/testsuite/ld-i386/tlspie2.d @@ -0,0 +1,13 @@ +#name: TLS with PIE +#as: --32 +#ld: -melf_i386 -pie +#objdump: -dw + +.*: +file format .* + + +Disassembly of section .text: + +0+188 <_start>: +[ ]*[a-f0-9]+: 8d 05 fc ff ff ff lea 0xfffffffc,%eax +#pass diff --git a/ld/testsuite/ld-i386/tlspie2.s b/ld/testsuite/ld-i386/tlspie2.s new file mode 100644 index 0000000..a586430 --- /dev/null +++ b/ld/testsuite/ld-i386/tlspie2.s @@ -0,0 +1,12 @@ + .section .tbss,"awT",@nobits + .align 4 + .type a, @object + .size a, 4 +a: + .zero 4 + .text +.globl _start + .type _start, @function +_start: + leal a@dtpoff, %eax + .size _start, .-_start -- cgit v1.1