old-cross-binutils/ld/testsuite/ld-powerpc/tlsopt5_32.d
Alan Modra 3bd43ebcb6 ld --gc-sections fail with __tls_get_addr_opt
When --gc-sections is active, __tls_get_addr_opt is marked as not
needed and forced local before ppc*_elf_tls_setup is run.

bfd/
	PR 20060
	* elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
	* elf32-ppc.c (ppc_elf_tls_setup): Likewise.
ld/
	PR 20060
	* testsuite/ld-powerpc/powerpc.exp: Run new tests.
	* testsuite/ld-powerpc/tlsdll.s: New.
	* testsuite/ld-powerpc/tlsdll.ver: New.
	* testsuite/ld-powerpc/tlsdll_32.s: New.
	* testsuite/ld-powerpc/tlsopt5.d: New.
	* testsuite/ld-powerpc/tlsopt5.s: New.
	* testsuite/ld-powerpc/tlsopt5_32.d: New.
	* testsuite/ld-powerpc/tlsopt5_32.s: New.
2016-05-11 22:40:09 +09:30

52 lines
1.7 KiB
Makefile

#source: tlsopt5_32.s
#as: -a32
#ld: --gc-sections --secure-plt tlsdll32.so
#objdump: -dr
#target: powerpc*-*-*
.*
Disassembly of section \.text:
01800230 <_start>:
.*: (f8 ff 6d 38|38 6d ff f8) addi r3,r13,-8
.*: (0d 00 00 48|48 00 00 0d) bl 1800240 <__tls_get_addr_opt@plt>
\.\.\.
01800240 <__tls_get_addr_opt@plt>:
.*: (00 00 63 81|81 63 00 00) lwz r11,0\(r3\)
.*: (04 00 83 81|81 83 00 04) lwz r12,4\(r3\)
.*: (78 1b 60 7c|7c 60 1b 78) mr r0,r3
.*: (00 00 0b 2c|2c 0b 00 00) cmpwi r11,0
.*: (14 12 6c 7c|7c 6c 12 14) add r3,r12,r2
.*: (20 00 82 4d|4d 82 00 20) beqlr
.*: (78 03 03 7c|7c 03 03 78) mr r3,r0
.*: (00 00 00 60|60 00 00 00) nop
.*: (81 01 60 3d|3d 60 01 81) lis r11,385
.*: (9c 03 6b 81|81 6b 03 9c) lwz r11,924\(r11\)
.*: (a6 03 69 7d|7d 69 03 a6) mtctr r11
.*: (20 04 80 4e|4e 80 04 20) bctr
01800270 <__glink>:
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
01800280 <__glink_PLTresolve>:
.*: (81 01 80 3d|3d 80 01 81) lis r12,385
.*: (80 fe 6b 3d|3d 6b fe 80) addis r11,r11,-384
.*: (94 03 0c 80|80 0c 03 94) lwz r0,916\(r12\)
.*: (90 fd 6b 39|39 6b fd 90) addi r11,r11,-624
.*: (a6 03 09 7c|7c 09 03 a6) mtctr r0
.*: (14 5a 0b 7c|7c 0b 5a 14) add r0,r11,r11
.*: (98 03 8c 81|81 8c 03 98) lwz r12,920\(r12\)
.*: (14 5a 60 7d|7d 60 5a 14) add r11,r0,r11
.*: (20 04 80 4e|4e 80 04 20) bctr
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop
.*: (00 00 00 60|60 00 00 00) nop