diff options
author | Alan Modra <amodra@gmail.com> | 2011-03-23 15:25:06 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-03-23 15:25:06 +0000 |
commit | 663a1470e1a7af58a3d0691f480bc5621bd0c54f (patch) | |
tree | eb7a84aef9f6d307fdb4f8472b0e1759b04f6625 /ld/testsuite/ld-powerpc/tlsopt4.d | |
parent | 6f8a4444ff2b2239ccc23fb175f89d8c5fc4435f (diff) | |
download | fsf-binutils-gdb-663a1470e1a7af58a3d0691f480bc5621bd0c54f.zip fsf-binutils-gdb-663a1470e1a7af58a3d0691f480bc5621bd0c54f.tar.gz fsf-binutils-gdb-663a1470e1a7af58a3d0691f480bc5621bd0c54f.tar.bz2 |
bfd/
* elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
old-style __tls_get_addr calls without marker relocs don't match
their arg setup insn one for one. If such mismatches are found
report the reloc and don't do any tls optimization.
* elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
ld/testsuite/
* ld-powerpc/tlsmark.s: Delete non-optimizable section.
* ld-powerpc/tlsmark32.s: Likewise.
* ld-powerpc/tlsmark.d: Adjust to suit.
* ld-powerpc/tlsmark32.d: Likewise.
* ld-powerpc/tlsopt1.d, * ld-powerpc/tlsopt1.s: New.
* ld-powerpc/tlsopt2.d, * ld-powerpc/tlsopt2.s: New.
* ld-powerpc/tlsopt3.d, * ld-powerpc/tlsopt3.s: New.
* ld-powerpc/tlsopt4.d, * ld-powerpc/tlsopt4.s: New.
* ld-powerpc/tlsopt1_32.d, * ld-powerpc/tlsopt1_32.s: New.
* ld-powerpc/tlsopt2_32.d, * ld-powerpc/tlsopt2_32.s: New.
* ld-powerpc/tlsopt3_32.d, * ld-powerpc/tlsopt3_32.s: New.
* ld-powerpc/tlsopt4_32.d, * ld-powerpc/tlsopt4_32.s: New.
* ld-powerpc/powerpc.exp: Run new tests.
Diffstat (limited to 'ld/testsuite/ld-powerpc/tlsopt4.d')
-rw-r--r-- | ld/testsuite/ld-powerpc/tlsopt4.d | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ld/testsuite/ld-powerpc/tlsopt4.d b/ld/testsuite/ld-powerpc/tlsopt4.d new file mode 100644 index 0000000..cb81abe --- /dev/null +++ b/ld/testsuite/ld-powerpc/tlsopt4.d @@ -0,0 +1,48 @@ +#source: tlsopt4.s +#source: tlslib.s +#as: -a64 +#ld: -melf64ppc +#objdump: -dr +#target: powerpc64*-*-* + +.*: +file format elf64-powerpc + +Disassembly of section \.text: + +0+100000e8 <\.__tls_get_addr>: + 100000e8: 4e 80 00 20 blr + +Disassembly of section \.opt1: + +0+100000ec <\.opt1>: + 100000ec: 3c 6d 00 00 addis r3,r13,0 + 100000f0: 2c 24 00 00 cmpdi r4,0 + 100000f4: 41 82 00 10 beq- .* + 100000f8: 60 00 00 00 nop + 100000fc: 38 63 90 10 addi r3,r3,-28656 + 10000100: 48 00 00 0c b .* + 10000104: 60 00 00 00 nop + 10000108: 38 63 90 10 addi r3,r3,-28656 + +Disassembly of section \.opt2: + +0+1000010c <\.opt2>: + 1000010c: 3c 6d 00 00 addis r3,r13,0 + 10000110: 2c 24 00 00 cmpdi r4,0 + 10000114: 41 82 00 08 beq- .* + 10000118: 3c 6d 00 00 addis r3,r13,0 + 1000011c: 60 00 00 00 nop + 10000120: 38 63 90 10 addi r3,r3,-28656 + +Disassembly of section \.opt3: + +0+10000124 <\.opt3>: + 10000124: 3c 6d 00 00 addis r3,r13,0 + 10000128: 48 00 00 0c b .* + 1000012c: 3c 6d 00 00 addis r3,r13,0 + 10000130: 48 00 00 10 b .* + 10000134: 60 00 00 00 nop + 10000138: 38 63 90 10 addi r3,r3,-28656 + 1000013c: 48 00 00 0c b .* + 10000140: 60 00 00 00 nop + 10000144: 38 63 90 08 addi r3,r3,-28664 |