[AArch64] Add tiny DESC test cases.
authorMarcus Shawcroft <marcus.shawcroft@arm.com>
Thu, 19 Feb 2015 09:52:24 +0000 (09:52 +0000)
committerMarcus Shawcroft <marcus.shawcroft@arm.com>
Thu, 26 Feb 2015 22:59:27 +0000 (22:59 +0000)
ld/testsuite/ChangeLog
ld/testsuite/ld-aarch64/aarch64-elf.exp
ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s [new file with mode: 0644]
ld/testsuite/ld-aarch64/tls-tiny-desc-le.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/tls-tiny-desc-le.s [new file with mode: 0644]
ld/testsuite/ld-aarch64/tls-tiny-desc.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/tls-tiny-desc.s [new file with mode: 0644]

index 651c0f79568a90a3c3c0b5e456951a87da9d5e34..196bfa5d3ccfee055b816a0bd7b1953beb07d175 100644 (file)
@@ -1,3 +1,14 @@
+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)
index 40d9f6184f60fe1347d645471687cbdde1c35d29..37fc70abffeb710a532fc4741a843280c0dc1989 100644 (file)
@@ -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 (file)
index 0000000..0088539
--- /dev/null
@@ -0,0 +1,11 @@
+#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
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 (file)
index 0000000..520cd4e
--- /dev/null
@@ -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 (file)
index 0000000..50eefb0
--- /dev/null
@@ -0,0 +1,11 @@
+#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
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 (file)
index 0000000..f6e5854
--- /dev/null
@@ -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 (file)
index 0000000..fc75eee
--- /dev/null
@@ -0,0 +1,31 @@
+#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
diff --git a/ld/testsuite/ld-aarch64/tls-tiny-desc.s b/ld/testsuite/ld-aarch64/tls-tiny-desc.s
new file mode 100644 (file)
index 0000000..edf5941
--- /dev/null
@@ -0,0 +1,8 @@
+        .global var
+
+       .text
+test:
+        ldr    x1, :tlsdesc:var
+        adr    x0, :tlsdesc:var
+       .tlsdesccall var
+        blr    x1