From 1ac688f831d2aaaf7f0cf500056b4aa0ddc4ed4f Mon Sep 17 00:00:00 2001 From: Renlin Li Date: Tue, 3 Nov 2015 12:00:10 +0000 Subject: [PATCH] [LD][AARCH64]Add test cases for big-endian. ld/testsuite 2015-11-03 Renlin Li * ld-aarch64/aarch64-elf.exp: Run newly added test cases. * ld-aarch64/emit-relocs-301.d: Skip aarch64_be. * ld-aarch64/emit-relocs-302.d: Likwise. * ld-aarch64/emit-relocs-310.d: Likwise. * ld-aarch64/emit-relocs-515.d: Likwise. * ld-aarch64/emit-relocs-516.d: Likwise. * ld-aarch64/tls-large-desc.d: Likwise. * ld-aarch64/tls-large-ie.d: Likwise. * ld-aarch64/tls-relax-large-desc-ie.d: Likwise. * ld-aarch64/tls-relax-large-desc-le.d: Likwise. * ld-aarch64/tls-relax-large-gd-ie.d: Likwise. * ld-aarch64/tls-relax-large-gd-le.d: Likwise. * ld-aarch64/emit-relocs-301-be.d: New for aarch64_be. * ld-aarch64/emit-relocs-302-be.d: Likewise. * ld-aarch64/emit-relocs-310-be.d: Likewise. * ld-aarch64/emit-relocs-515-be.d: Likewise. * ld-aarch64/emit-relocs-516-be.d: Likewise. * ld-aarch64/tls-large-desc-be.d: Likewise. * ld-aarch64/tls-large-ie-be.d: Likewise. * ld-aarch64/tls-relax-large-desc-ie-be.d: Likewise. * ld-aarch64/tls-relax-large-desc-le-be.d: Likewise. * ld-aarch64/tls-relax-large-gd-ie-be.d: Likewise. * ld-aarch64/tls-relax-large-gd-le-be.d: Likewise. --- ld/testsuite/ChangeLog | 26 +++++++++++++ ld/testsuite/ld-aarch64/aarch64-elf.exp | 11 ++++++ ld/testsuite/ld-aarch64/emit-relocs-301-be.d | 23 +++++++++++ ld/testsuite/ld-aarch64/emit-relocs-301.d | 1 + ld/testsuite/ld-aarch64/emit-relocs-302-be.d | 23 +++++++++++ ld/testsuite/ld-aarch64/emit-relocs-302.d | 1 + ld/testsuite/ld-aarch64/emit-relocs-310-be.d | 22 +++++++++++ ld/testsuite/ld-aarch64/emit-relocs-310.d | 1 + ld/testsuite/ld-aarch64/emit-relocs-515-be.d | 34 ++++++++++++++++ ld/testsuite/ld-aarch64/emit-relocs-515.d | 1 + ld/testsuite/ld-aarch64/emit-relocs-516-be.d | 35 +++++++++++++++++ ld/testsuite/ld-aarch64/emit-relocs-516.d | 1 + ld/testsuite/ld-aarch64/tls-large-desc-be.d | 39 +++++++++++++++++++ ld/testsuite/ld-aarch64/tls-large-desc.d | 1 + ld/testsuite/ld-aarch64/tls-large-ie-be.d | 20 ++++++++++ ld/testsuite/ld-aarch64/tls-large-ie.d | 1 + .../ld-aarch64/tls-relax-large-desc-ie-be.d | 19 +++++++++ .../ld-aarch64/tls-relax-large-desc-ie.d | 1 + .../ld-aarch64/tls-relax-large-desc-le-be.d | 19 +++++++++ .../ld-aarch64/tls-relax-large-desc-le.d | 1 + .../ld-aarch64/tls-relax-large-gd-ie-be.d | 17 ++++++++ .../ld-aarch64/tls-relax-large-gd-ie.d | 1 + .../ld-aarch64/tls-relax-large-gd-le-be.d | 17 ++++++++ .../ld-aarch64/tls-relax-large-gd-le.d | 1 + 24 files changed, 316 insertions(+) create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-301-be.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-302-be.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-310-be.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-515-be.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-516-be.d create mode 100644 ld/testsuite/ld-aarch64/tls-large-desc-be.d create mode 100644 ld/testsuite/ld-aarch64/tls-large-ie-be.d create mode 100644 ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d create mode 100644 ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d create mode 100644 ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d create mode 100644 ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index cb4d2155f6..47a62534ed 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,29 @@ +2015-11-03 Renlin Li + + * ld-aarch64/aarch64-elf.exp: Run newly added test cases. + * ld-aarch64/emit-relocs-301.d: Skip aarch64_be. + * ld-aarch64/emit-relocs-302.d: Likwise. + * ld-aarch64/emit-relocs-310.d: Likwise. + * ld-aarch64/emit-relocs-515.d: Likwise. + * ld-aarch64/emit-relocs-516.d: Likwise. + * ld-aarch64/tls-large-desc.d: Likwise. + * ld-aarch64/tls-large-ie.d: Likwise. + * ld-aarch64/tls-relax-large-desc-ie.d: Likwise. + * ld-aarch64/tls-relax-large-desc-le.d: Likwise. + * ld-aarch64/tls-relax-large-gd-ie.d: Likwise. + * ld-aarch64/tls-relax-large-gd-le.d: Likwise. + * ld-aarch64/emit-relocs-301-be.d: New for aarch64_be. + * ld-aarch64/emit-relocs-302-be.d: Likewise. + * ld-aarch64/emit-relocs-310-be.d: Likewise. + * ld-aarch64/emit-relocs-515-be.d: Likewise. + * ld-aarch64/emit-relocs-516-be.d: Likewise. + * ld-aarch64/tls-large-desc-be.d: Likewise. + * ld-aarch64/tls-large-ie-be.d: Likewise. + * ld-aarch64/tls-relax-large-desc-ie-be.d: Likewise. + * ld-aarch64/tls-relax-large-desc-le-be.d: Likewise. + * ld-aarch64/tls-relax-large-gd-ie-be.d: Likewise. + * ld-aarch64/tls-relax-large-gd-le-be.d: Likewise. + 2015-10-29 H.J. Lu * ld-x86-64/plt-main3.rd: Also check GOTPCRELX. diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp index 5d427106b7..86d0394fe7 100644 --- a/ld/testsuite/ld-aarch64/aarch64-elf.exp +++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp @@ -118,18 +118,23 @@ run_dump_test "emit-relocs-286-bad" run_dump_test "emit-relocs-299" # 300 is not done yet run_dump_test "emit-relocs-301" +run_dump_test "emit-relocs-301-be" run_dump_test "emit-relocs-302" +run_dump_test "emit-relocs-302-be" # 303-308 are not done yet run_dump_test "emit-relocs-309-up" run_dump_test "emit-relocs-309-low" run_dump_test "emit-relocs-309-up-bad" run_dump_test "emit-relocs-309-low-bad" run_dump_test "emit-relocs-310" +run_dump_test "emit-relocs-310-be" run_dump_test "emit-relocs-311" run_dump_test "emit-relocs-312" run_dump_test "emit-relocs-313" run_dump_test "emit-relocs-515" +run_dump_test "emit-relocs-515-be" run_dump_test "emit-relocs-516" +run_dump_test "emit-relocs-516-be" run_dump_test "emit-relocs-523" run_dump_test "emit-relocs-524" run_dump_test "emit-relocs-525" @@ -182,9 +187,13 @@ run_dump_test "tls-relax-gd-le" run_dump_test "tls-relax-gdesc-le" run_dump_test "tls-relax-gd-ie" run_dump_test "tls-relax-large-gd-ie" +run_dump_test "tls-relax-large-gd-ie-be" run_dump_test "tls-relax-large-gd-le" +run_dump_test "tls-relax-large-gd-le-be" run_dump_test "tls-relax-large-desc-ie" +run_dump_test "tls-relax-large-desc-ie-be" run_dump_test "tls-relax-large-desc-le" +run_dump_test "tls-relax-large-desc-le-be" run_dump_test "tls-relax-large-ie-le" run_dump_test "tls-relax-gdesc-ie" run_dump_test "tls-relax-ie-le" @@ -203,7 +212,9 @@ run_dump_test "tls-tiny-desc-ie" run_dump_test "tls-tiny-desc-le" run_dump_test "tls-tiny-ie" run_dump_test "tls-large-ie" +run_dump_test "tls-large-ie-be" run_dump_test "tls-large-desc" +run_dump_test "tls-large-desc-be" run_dump_test "tls-tiny-ld" run_dump_test "tls-small-ld" run_dump_test "tlsle" diff --git a/ld/testsuite/ld-aarch64/emit-relocs-301-be.d b/ld/testsuite/ld-aarch64/emit-relocs-301-be.d new file mode 100644 index 0000000000..dbe2560941 --- /dev/null +++ b/ld/testsuite/ld-aarch64/emit-relocs-301-be.d @@ -0,0 +1,23 @@ +#source: emit-relocs-301.s +#ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs +#notarget: aarch64-*-* +#objdump: -dr + +.*: +file format .* + +Disassembly of section .text: + +0000000000010000 <\.text>: + 10000: 580000e1 ldr x1, 1001c <\.text\+0x1c> + 10004: 100000c2 adr x2, 1001c <\.text\+0x1c> + 10008: 8b010041 add x1, x2, x1 + 1000c: f2800200 movk x0, #0x10 + 1000c: R_AARCH64_MOVW_GOTOFF_G0_NC globala + 10010: f2800300 movk x0, #0x18 + 10010: R_AARCH64_MOVW_GOTOFF_G0_NC globalb + 10014: f2800100 movk x0, #0x8 + 10014: R_AARCH64_MOVW_GOTOFF_G0_NC globalc + 10018: f8606820 ldr x0, \[x1,x0\] + 1001c: 00000000 \.word 0x00000000 + 1001c: R_AARCH64_PREL64 _GLOBAL_OFFSET_TABLE_ + 10020: 0000ffe4 \.word 0x0000ffe4 diff --git a/ld/testsuite/ld-aarch64/emit-relocs-301.d b/ld/testsuite/ld-aarch64/emit-relocs-301.d index 305a9f8b77..9270c9e20c 100644 --- a/ld/testsuite/ld-aarch64/emit-relocs-301.d +++ b/ld/testsuite/ld-aarch64/emit-relocs-301.d @@ -1,5 +1,6 @@ #source: emit-relocs-301.s #ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs +#notarget: aarch64_be-*-* #objdump: -dr .*: +file format .* diff --git a/ld/testsuite/ld-aarch64/emit-relocs-302-be.d b/ld/testsuite/ld-aarch64/emit-relocs-302-be.d new file mode 100644 index 0000000000..da8beef81c --- /dev/null +++ b/ld/testsuite/ld-aarch64/emit-relocs-302-be.d @@ -0,0 +1,23 @@ +#source: emit-relocs-302.s +#ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs +#notarget: aarch64-*-* +#objdump: -dr + +.*: +file format .* + +Disassembly of section .text: + +0000000000010000 <\.text>: + 10000: 580000e1 ldr x1, 1001c <\.text\+0x1c> + 10004: 100000c2 adr x2, 1001c <\.text\+0x1c> + 10008: 8b010041 add x1, x2, x1 + 1000c: d2a00000 movz x0, #0x0, lsl #16 + 1000c: R_AARCH64_MOVW_GOTOFF_G1 globala + 10010: d2a00000 movz x0, #0x0, lsl #16 + 10010: R_AARCH64_MOVW_GOTOFF_G1 globalb + 10014: d2a00000 movz x0, #0x0, lsl #16 + 10014: R_AARCH64_MOVW_GOTOFF_G1 globalc + 10018: f8606820 ldr x0, \[x1,x0\] + 1001c: 00000000 \.word 0x00000000 + 1001c: R_AARCH64_PREL64 _GLOBAL_OFFSET_TABLE_ + 10020: 0000ffe4 \.word 0x0000ffe4 diff --git a/ld/testsuite/ld-aarch64/emit-relocs-302.d b/ld/testsuite/ld-aarch64/emit-relocs-302.d index 40ad22b18f..696b83655c 100644 --- a/ld/testsuite/ld-aarch64/emit-relocs-302.d +++ b/ld/testsuite/ld-aarch64/emit-relocs-302.d @@ -1,5 +1,6 @@ #source: emit-relocs-302.s #ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs +#notarget: aarch64_be-*-* #objdump: -dr .*: +file format .* diff --git a/ld/testsuite/ld-aarch64/emit-relocs-310-be.d b/ld/testsuite/ld-aarch64/emit-relocs-310-be.d new file mode 100644 index 0000000000..7ef6fb6673 --- /dev/null +++ b/ld/testsuite/ld-aarch64/emit-relocs-310-be.d @@ -0,0 +1,22 @@ +#source: emit-relocs-310.s +#ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs +#notarget: aarch64-*-* +#objdump: -dr + +.*: +file format .* + +Disassembly of section .text: + +0000000000010000 <\.text>: + 10000: 580000c1 ldr x1, 10018 <\.text\+0x18> + 10004: 100000a2 adr x2, 10018 <\.text\+0x18> + 10008: 8b010041 add x1, x2, x1 + 1000c: f9400820 ldr x0, \[x1,#16\] + 1000c: R_AARCH64_LD64_GOTOFF_LO15 globala + 10010: f9400c20 ldr x0, \[x1,#24\] + 10010: R_AARCH64_LD64_GOTOFF_LO15 globalb + 10014: f9400420 ldr x0, \[x1,#8\] + 10014: R_AARCH64_LD64_GOTOFF_LO15 globalc + 10018: 00000000 .word 0x00000000 + 10018: R_AARCH64_PREL64 _GLOBAL_OFFSET_TABLE_ + 1001c: 0000ffe8 .word 0x0000ffe8 diff --git a/ld/testsuite/ld-aarch64/emit-relocs-310.d b/ld/testsuite/ld-aarch64/emit-relocs-310.d index 0baf451de3..2f78ddd294 100644 --- a/ld/testsuite/ld-aarch64/emit-relocs-310.d +++ b/ld/testsuite/ld-aarch64/emit-relocs-310.d @@ -1,5 +1,6 @@ #source: emit-relocs-310.s #ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs +#notarget: aarch64_be-*-* #objdump: -dr .*: +file format .* diff --git a/ld/testsuite/ld-aarch64/emit-relocs-515-be.d b/ld/testsuite/ld-aarch64/emit-relocs-515-be.d new file mode 100644 index 0000000000..6e0039d40d --- /dev/null +++ b/ld/testsuite/ld-aarch64/emit-relocs-515-be.d @@ -0,0 +1,34 @@ +#source: emit-relocs-515.s +#ld: -shared -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + 10000: 580000e1 ldr x1, 1001c \ + 10004: 100000c2 adr x2, 1001c \ + 10008: 8b020021 add x1, x1, x2 + 1000c: d2a00000 movz x0, #0x0, lsl #16 + 10010: 8b000020 add x0, x1, x0 + 10014: 9400000c bl 10044 \ + 10018: d503201f nop + 1001c: 00000000 .word 0x00000000 + 10020: 0000ffe4 .word 0x0000ffe4 + +Disassembly of section .plt: + +0000000000010024 \<.plt\>: + 10024: a9bf7bf0 stp x16, x30, \[sp,#-16\]! + 10028: 90000090 adrp x16, 20000 \<_GLOBAL_OFFSET_TABLE_\> + 1002c: f9401611 ldr x17, \[x16,#40\] + 10030: 9100a210 add x16, x16, #0x28 + 10034: d61f0220 br x17 + 10038: d503201f nop + 1003c: d503201f nop + 10040: d503201f nop + 10044: 90000090 adrp x16, 20000 \<_GLOBAL_OFFSET_TABLE_\> + 10048: f9401a11 ldr x17, \[x16,#48\] + 1004c: 9100c210 add x16, x16, #0x30 + 10050: d61f0220 br x17 diff --git a/ld/testsuite/ld-aarch64/emit-relocs-515.d b/ld/testsuite/ld-aarch64/emit-relocs-515.d index b8cd352ffe..a4e8a47af2 100644 --- a/ld/testsuite/ld-aarch64/emit-relocs-515.d +++ b/ld/testsuite/ld-aarch64/emit-relocs-515.d @@ -1,5 +1,6 @@ #source: emit-relocs-515.s #ld: -shared -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... diff --git a/ld/testsuite/ld-aarch64/emit-relocs-516-be.d b/ld/testsuite/ld-aarch64/emit-relocs-516-be.d new file mode 100644 index 0000000000..3a5576209a --- /dev/null +++ b/ld/testsuite/ld-aarch64/emit-relocs-516-be.d @@ -0,0 +1,35 @@ +#source: emit-relocs-516.s +#ld: -shared -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + 10000: 58000101 ldr x1, 10020 \ + 10004: 100000e2 adr x2, 10020 \ + 10008: 8b020021 add x1, x1, x2 + 1000c: f2800100 movk x0, #0x8 + 10010: f2800300 movk x0, #0x18 + 10014: 8b000020 add x0, x1, x0 + 10018: 9400000c bl 10048 \ + 1001c: d503201f nop + 10020: 00000000 .word 0x00000000 + 10024: 0000ffe0 .word 0x0000ffe0 + +Disassembly of section .plt: + +0000000000010028 \<.plt\>: + 10028: a9bf7bf0 stp x16, x30, \[sp,#-16\]! + 1002c: 90000090 adrp x16, 20000 \<_GLOBAL_OFFSET_TABLE_\> + 10030: f9401e11 ldr x17, \[x16,#56\] + 10034: 9100e210 add x16, x16, #0x38 + 10038: d61f0220 br x17 + 1003c: d503201f nop + 10040: d503201f nop + 10044: d503201f nop + 10048: 90000090 adrp x16, 20000 \<_GLOBAL_OFFSET_TABLE_\> + 1004c: f9402211 ldr x17, \[x16,#64\] + 10050: 91010210 add x16, x16, #0x40 + 10054: d61f0220 br x17 diff --git a/ld/testsuite/ld-aarch64/emit-relocs-516.d b/ld/testsuite/ld-aarch64/emit-relocs-516.d index 180f60b685..09d2c7a57e 100644 --- a/ld/testsuite/ld-aarch64/emit-relocs-516.d +++ b/ld/testsuite/ld-aarch64/emit-relocs-516.d @@ -1,5 +1,6 @@ #source: emit-relocs-516.s #ld: -shared -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... diff --git a/ld/testsuite/ld-aarch64/tls-large-desc-be.d b/ld/testsuite/ld-aarch64/tls-large-desc-be.d new file mode 100644 index 0000000000..2d72da6761 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-large-desc-be.d @@ -0,0 +1,39 @@ +#source: tls-large-desc.s +#ld: -shared -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + +10000: 58000101 ldr x1, 10020 \ + +10004: 100000e2 adr x2, 10020 \ + +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: 00000000 .word 0x00000000 + +10024: 0000ffe0 .word 0x0000ffe0 + +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 diff --git a/ld/testsuite/ld-aarch64/tls-large-desc.d b/ld/testsuite/ld-aarch64/tls-large-desc.d index 0d309f105e..b8dcc02259 100644 --- a/ld/testsuite/ld-aarch64/tls-large-desc.d +++ b/ld/testsuite/ld-aarch64/tls-large-desc.d @@ -1,5 +1,6 @@ #source: tls-large-desc.s #ld: -shared -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... diff --git a/ld/testsuite/ld-aarch64/tls-large-ie-be.d b/ld/testsuite/ld-aarch64/tls-large-ie-be.d new file mode 100644 index 0000000000..380718bf5c --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-large-ie-be.d @@ -0,0 +1,20 @@ +#source: tls-large-ie.s +#ld: -shared -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 \: + 10000: 58000121 ldr x1, 10024 \ + 10004: 10000102 adr x2, 10024 \ + 10008: 8b020021 add x1, x1, x2 + 1000c: d53bd042 mrs x2, tpidr_el0 + 10010: d2a00000 movz x0, #0x0, lsl #16 + 10014: f2800100 movk x0, #0x8 + 10018: f8606820 ldr x0, \[x1,x0\] + 1001c: 8b020000 add x0, x0, x2 + 10020: d503201f nop + 10024: 0000(ffdc|0000) .word 0x0000(ffdc|0000) + 10028: 0000(0000|ffdc) .word 0x0000(0000|ffdc) diff --git a/ld/testsuite/ld-aarch64/tls-large-ie.d b/ld/testsuite/ld-aarch64/tls-large-ie.d index dd0a14d8f3..13b77f31e3 100644 --- a/ld/testsuite/ld-aarch64/tls-large-ie.d +++ b/ld/testsuite/ld-aarch64/tls-large-ie.d @@ -1,5 +1,6 @@ #source: tls-large-ie.s #ld: -shared -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d new file mode 100644 index 0000000000..ea2e59bea8 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d @@ -0,0 +1,19 @@ +#source: tls-relax-large-desc-ie.s +#ld: -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 : + +10000: 58000101 ldr x1, 10020 \ + +10004: 100000e2 adr x2, 10020 \ + +10008: 8b020032 add x18, x1, x2 + +1000c: d2a00000 movz x0, #0x0, lsl #16 + +10010: f2800100 movk x0, #0x8 + +10014: f8606a40 ldr x0, \[x18,x0\] + +10018: d503201f nop + +1001c: d503201f nop + +10020: 00000000 .word 0x00000000 + +10024: 0000ffe0 .word 0x0000ffe0 diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d index 64abbcd90b..680fc57ea1 100644 --- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d +++ b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d @@ -1,5 +1,6 @@ #source: tls-relax-large-desc-ie.s #ld: -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d new file mode 100644 index 0000000000..4b21e30966 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d @@ -0,0 +1,19 @@ +#source: tls-relax-large-desc-le.s +#ld: -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... + +Disassembly of section .text: + +0000000000010000 : + +10000: 58000101 ldr x1, 10020 \ + +10004: 100000e2 adr x2, 10020 \ + +10008: 8b020032 add x18, x1, x2 + +1000c: d2c00000 movz x0, #0x0, lsl #32 + +10010: f2a00000 movk x0, #0x0, lsl #16 + +10014: f2800200 movk x0, #0x10 + +10018: d503201f nop + +1001c: d503201f nop + +10020: 00000000 .word 0x00000000 + +10024: 0000ffe0 .word 0x0000ffe0 diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d index 9cd0b31cfa..972682c482 100644 --- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d +++ b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d @@ -1,5 +1,6 @@ #source: tls-relax-large-desc-le.s #ld: -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d new file mode 100644 index 0000000000..c1ee0b05e7 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d @@ -0,0 +1,17 @@ +#source: tls-relax-large-gd-ie.s +#ld: -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... +0000000000010000 : + +10000: 58000121 ldr x1, 10024 + +10004: 10000102 adr x2, 10024 + +10008: 8b010041 add x1, x2, x1 + +1000c: d2a00000 movz x0, #0x0, lsl #16 + +10010: f2800100 movk x0, #0x8 + +10014: 58000000 ldr x0, 10014 + +10018: d53bd041 mrs x1, tpidr_el0 + +1001c: 8b000020 add x0, x1, x0 + +10020: b9400000 ldr w0, \[x0\] + +10024: 00000000 .word 0x00000000 + +10028: 0000ffdc .word 0x0000ffdc diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d index f3407efb21..2b398dbb9c 100644 --- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d +++ b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d @@ -1,5 +1,6 @@ #source: tls-relax-large-gd-ie.s #ld: -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... 0000000000010000 : diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d new file mode 100644 index 0000000000..a74275179c --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d @@ -0,0 +1,17 @@ +#source: tls-relax-large-gd-le.s +#ld: -T relocs.ld -e0 +#notarget: aarch64-*-* +#objdump: -dr +#... +0000000000010000 : + +10000: 58000121 ldr x1, 10024 + +10004: 10000102 adr x2, 10024 + +10008: 8b010041 add x1, x2, x1 + +1000c: d2c00000 movz x0, #0x0, lsl #32 + +10010: f2a00000 movk x0, #0x0, lsl #16 + +10014: f2800200 movk x0, #0x10 + +10018: d53bd041 mrs x1, tpidr_el0 + +1001c: 8b000020 add x0, x1, x0 + +10020: b9400000 ldr w0, \[x0\] + +10024: 00000000 .word 0x00000000 + +10028: 0000ffdc .word 0x0000ffdc diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d index acaea58c15..34d47cfb7a 100644 --- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d +++ b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d @@ -1,5 +1,6 @@ #source: tls-relax-large-gd-le.s #ld: -T relocs.ld -e0 +#notarget: aarch64_be-*-* #objdump: -dr #... 0000000000010000 : -- 2.34.1