+2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * ld-aarch64/aarch64-elf.exp (tls-tiny-desc, tls-tiny-desc-ie)
+ (tls-tiny-desc-le): Add.
+ * ld-aarch64/tls-tiny-desc.d: New.
+ * ld-aarch64/tls-tiny-desc.s: New.
+ * ld-aarch64/tls-tiny-desc-ie.d: New.
+ * ld-aarch64/tls-tiny-desc-ie.s: New.
+ * ld-aarch64/tls-tiny-desc-le.d: New.
+ * ld-aarch64/tls-tiny-desc-le.s: New.
+
2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
* ld-aarch64/aarch64-elf.exp (tls-tiny-gd, tls-tiny-gd-ie)
run_dump_test "tls-tiny-gd"
run_dump_test "tls-tiny-gd-ie"
run_dump_test "tls-tiny-gd-le"
+run_dump_test "tls-tiny-desc"
+run_dump_test "tls-tiny-desc-ie"
+run_dump_test "tls-tiny-desc-le"
run_dump_test "tls-tiny-ie"
run_dump_test "tlsle-symbol-offset"
run_dump_test "gc-got-relocs"
--- /dev/null
+#source: tls-tiny-desc-ie.s
+#ld: -T relocs.ld -e0
+#objdump: -dr
+#...
+
+Disassembly of section .text:
+
+0000000000010000 \<test\>:
+ +10000: 58080040 ldr x0, 20008 \<_GLOBAL_OFFSET_TABLE_\+0x8\>
+ +10004: d503201f nop
+ +10008: d503201f nop
--- /dev/null
+ .global var
+
+ .section .tbss,"awT",%nobits
+ .align 2
+ .type var, %object
+ .size var, 4
+var:
+ .zero 4
+
+ .text
+test:
+ ldr x1, :tlsdesc:var
+ adr x0, :tlsdesc:var
+ .tlsdesccall var
+ blr x1
--- /dev/null
+#source: tls-tiny-desc-le.s
+#ld: -T relocs.ld -e0
+#objdump: -dr
+#...
+
+Disassembly of section .text:
+
+0000000000010000 \<test\>:
+ +10000: d2a00000 movz x0, #0x0, lsl #16
+ +10004: f2800200 movk x0, #0x10
+ +10008: d503201f nop
--- /dev/null
+ .section .tbss,"awT",%nobits
+ .align 2
+ .type var, %object
+ .size var, 4
+var:
+ .zero 4
+
+ .text
+test:
+ ldr x1, :tlsdesc:var
+ adr x0, :tlsdesc:var
+ .tlsdesccall var
+ blr x1
--- /dev/null
+#source: tls-tiny-desc.s
+#ld: -shared -T relocs.ld -e0
+#objdump: -dr
+#...
+
+Disassembly of section .text:
+
+0000000000010000 \<test\>:
+ +10000: 58080141 ldr x1, 20028 \<_GLOBAL_OFFSET_TABLE_\+0x28\>
+ +10004: 10080120 adr x0, 20028 \<_GLOBAL_OFFSET_TABLE_\+0x28\>
+ +10008: d63f0020 blr x1
+
+Disassembly of section .plt:
+
+000000000001000c \<.plt\>:
+ +1000c: a9bf7bf0 stp x16, x30, \[sp,#-16\]!
+ +10010: 90000090 adrp x16, 20000 \<_GLOBAL_OFFSET_TABLE_\>
+ +10014: f9401211 ldr x17, \[x16,#32\]
+ +10018: 91008210 add x16, x16, #0x20
+ +1001c: d61f0220 br x17
+ +10020: d503201f nop
+ +10024: d503201f nop
+ +10028: d503201f nop
+ +1002c: a9bf0fe2 stp x2, x3, \[sp,#-16\]!
+ +10030: 90000082 adrp x2, 20000 \<_GLOBAL_OFFSET_TABLE_\>
+ +10034: 90000083 adrp x3, 20000 \<_GLOBAL_OFFSET_TABLE_\>
+ +10038: f9400442 ldr x2, \[x2,#8\]
+ +1003c: 91004063 add x3, x3, #0x10
+ +10040: d61f0040 br x2
+ +10044: d503201f nop
+ +10048: d503201f nop
--- /dev/null
+ .global var
+
+ .text
+test:
+ ldr x1, :tlsdesc:var
+ adr x0, :tlsdesc:var
+ .tlsdesccall var
+ blr x1