From 60d1b0d6a43b984b88da499f6bbc13cf729f0447 Mon Sep 17 00:00:00 2001 From: Marcus Shawcroft Date: Thu, 19 Feb 2015 09:52:24 +0000 Subject: [PATCH] [AArch64] Add tiny DESC test cases. --- ld/testsuite/ChangeLog | 11 ++++++++ ld/testsuite/ld-aarch64/aarch64-elf.exp | 3 +++ ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d | 11 ++++++++ ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s | 15 +++++++++++ ld/testsuite/ld-aarch64/tls-tiny-desc-le.d | 11 ++++++++ ld/testsuite/ld-aarch64/tls-tiny-desc-le.s | 13 +++++++++ ld/testsuite/ld-aarch64/tls-tiny-desc.d | 31 ++++++++++++++++++++++ ld/testsuite/ld-aarch64/tls-tiny-desc.s | 8 ++++++ 8 files changed, 103 insertions(+) create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-le.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-le.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 651c0f79568..196bfa5d3cc 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2015-02-26 Marcus Shawcroft + + * 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 * ld-aarch64/aarch64-elf.exp (tls-tiny-gd, tls-tiny-gd-ie) diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp index 40d9f6184f6..37fc70abffe 100644 --- a/ld/testsuite/ld-aarch64/aarch64-elf.exp +++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp @@ -127,6 +127,9 @@ run_dump_test "tls-relax-ie-le-3" 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" diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d b/ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d new file mode 100644 index 00000000000..0088539d6bf --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d @@ -0,0 +1,11 @@ +#source: tls-tiny-desc-ie.s +#ld: -T relocs.ld -e0 +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + +10000: 58080040 ldr x0, 20008 \<_GLOBAL_OFFSET_TABLE_\+0x8\> + +10004: d503201f nop + +10008: d503201f nop diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s b/ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s new file mode 100644 index 00000000000..520cd4e85b2 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s @@ -0,0 +1,15 @@ + .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 diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc-le.d b/ld/testsuite/ld-aarch64/tls-tiny-desc-le.d new file mode 100644 index 00000000000..50eefb010a0 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-tiny-desc-le.d @@ -0,0 +1,11 @@ +#source: tls-tiny-desc-le.s +#ld: -T relocs.ld -e0 +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + +10000: d2a00000 movz x0, #0x0, lsl #16 + +10004: f2800200 movk x0, #0x10 + +10008: d503201f nop diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc-le.s b/ld/testsuite/ld-aarch64/tls-tiny-desc-le.s new file mode 100644 index 00000000000..f6e58541720 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-tiny-desc-le.s @@ -0,0 +1,13 @@ + .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 diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc.d b/ld/testsuite/ld-aarch64/tls-tiny-desc.d new file mode 100644 index 00000000000..fc75eee2ddf --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-tiny-desc.d @@ -0,0 +1,31 @@ +#source: tls-tiny-desc.s +#ld: -shared -T relocs.ld -e0 +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + +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 diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc.s b/ld/testsuite/ld-aarch64/tls-tiny-desc.s new file mode 100644 index 00000000000..edf59416a83 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-tiny-desc.s @@ -0,0 +1,8 @@ + .global var + + .text +test: + ldr x1, :tlsdesc:var + adr x0, :tlsdesc:var + .tlsdesccall var + blr x1 -- 2.30.2