aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-powerpc/tlsopt4.d
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-03-23 15:25:06 +0000
committerAlan Modra <amodra@gmail.com>2011-03-23 15:25:06 +0000
commit663a1470e1a7af58a3d0691f480bc5621bd0c54f (patch)
treeeb7a84aef9f6d307fdb4f8472b0e1759b04f6625 /ld/testsuite/ld-powerpc/tlsopt4.d
parent6f8a4444ff2b2239ccc23fb175f89d8c5fc4435f (diff)
downloadfsf-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.d48
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