old-cross-binutils/ld/testsuite/ld-aarch64/tls-large-desc.d
Renlin Li 0484b4549e [LD][AARCH64]Add TLSDESC support for large memory model.
bfd/

2015-10-02  Renlin Li <renlin.li@arm.com>

	* elfnn-aarch64.c (aarch64_tls_transition_without_check):  Add
	relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC,
	TLSDESC_OFF_G1.
	(aarch64_tls_transition_without_check): Add relaxation support.
	(aarch64_reloc_got_type): Add support.
	(elfNN_aarch64_final_link_relocate): Likewise.
	(elfNN_aarch64_tls_relax): Likewise.
	(elfNN_aarch64_relocate_section): Likewise.
	(elfNN_aarch64_gc_sweep_hook): Likewise.
	(elfNN_aarch64_check_relocs): Likewise.
	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
	(_bfd_aarch64_elf_resolve_relocation): Likewise.

ld/testsuite/

2015-10-02  Renlin Li <renlin.li@arm.com>

	* ld-aarch64/aarch64-elf.exp: Run new test.
	* ld-aarch64/tls-large-desc.d: New.
	* ld-aarch64/tls-large-desc.s: New.
	* ld-aarch64/tls-relax-large-desc-ie.d: New.
	* ld-aarch64/tls-relax-large-desc-ie.s: New.
	* ld-aarch64/tls-relax-large-desc-le.d: New.
	* ld-aarch64/tls-relax-large-desc-le.s: New.
2015-10-02 17:56:09 +01:00

38 lines
1.2 KiB
Makefile

#source: tls-large-desc.s
#ld: -shared -T relocs.ld -e0
#objdump: -dr
#...
Disassembly of section .text:
0000000000010000 \<test\>:
+10000: 58000101 ldr x1, 10020 \<test\+0x20\>
+10004: 100000e2 adr x2, 10020 \<test\+0x20\>
+10008: 8b020032 add x18, x1, x2
+1000c: d2a00000 movz x0, #0x0, lsl #16
+10010: f2800500 movk x0, #0x28
+10014: f8606a41 ldr x1, \[x18,x0\]
+10018: 8b000240 add x0, x18, x0
+1001c: d63f0020 blr x1
+10020: 0000ffe0 .word 0x0000ffe0
+10024: 00000000 .word 0x00000000
Disassembly of section .plt:
0000000000010028 <.plt>:
+10028: a9bf7bf0 stp x16, x30, \[sp,#-16\]!
+1002c: 90000090 adrp x16, 20000 \<_GLOBAL_OFFSET_TABLE_\>
+10030: f9401211 ldr x17, \[x16,#32\]
+10034: 91008210 add x16, x16, #0x20
+10038: d61f0220 br x17
+1003c: d503201f nop
+10040: d503201f nop
+10044: d503201f nop
+10048: a9bf0fe2 stp x2, x3, \[sp,#-16\]!
+1004c: 90000082 adrp x2, 20000 \<_GLOBAL_OFFSET_TABLE_\>
+10050: 90000083 adrp x3, 20000 \<_GLOBAL_OFFSET_TABLE_\>
+10054: f9400442 ldr x2, \[x2,#8\]
+10058: 91004063 add x3, x3, #0x10
+1005c: d61f0040 br x2
+10060: d503201f nop
+10064: d503201f nop