diff options
author | Yury Norov <ynorov@caviumnetworks.com> | 2017-01-23 17:07:13 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-01-23 17:07:13 +0000 |
commit | 2d0ca824112f269a883cd04d344614ccab3baaf4 (patch) | |
tree | 5a55382ca10744fd0cc2d58cf9f4b05c05b9a1c8 /ld/testsuite/ld-aarch64/tls-desc-ie-ilp32.d | |
parent | c49f9d0fdaea8c2e5f78e20bec113fe3cf1b79f0 (diff) | |
download | fsf-binutils-gdb-2d0ca824112f269a883cd04d344614ccab3baaf4.zip fsf-binutils-gdb-2d0ca824112f269a883cd04d344614ccab3baaf4.tar.gz fsf-binutils-gdb-2d0ca824112f269a883cd04d344614ccab3baaf4.tar.bz2 |
Fix AArch64 relocation handling in ILP32 mode.
bfd * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
ld * testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.
* testsuite/ld-aarch64/tls-desc-ie-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-all-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-gd-le-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-gdesc-le-2-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-gdesc-le-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-ie-le-2-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-ie-le-3-ilp32.d: New test.
* testsuite/ld-aarch64/tls-relax-ie-le-ilp32.d: New test.
* testsuite/ld-aarch64/tls-tiny-desc-ie-ilp32.d: New test.
* testsuite/ld-aarch64/tls-tiny-desc-le-ilp32.d: New test.
* testsuite/ld-aarch64/tls-tiny-gd-ie-ilp32.d: New test.
* testsuite/ld-aarch64/tls-tiny-gd-le-ilp32.d: New test.
Diffstat (limited to 'ld/testsuite/ld-aarch64/tls-desc-ie-ilp32.d')
-rw-r--r-- | ld/testsuite/ld-aarch64/tls-desc-ie-ilp32.d | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ld/testsuite/ld-aarch64/tls-desc-ie-ilp32.d b/ld/testsuite/ld-aarch64/tls-desc-ie-ilp32.d new file mode 100644 index 0000000..40680a6 --- /dev/null +++ b/ld/testsuite/ld-aarch64/tls-desc-ie-ilp32.d @@ -0,0 +1,37 @@ +#source: tls-desc-ie.s +#as: -mabi=ilp32 +#ld: -shared -m [aarch64_choose_ilp32_emul] -T relocs-ilp32.ld -e0 +#objdump: -dr +#... + +10000: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_> + +10004: 91002000 add x0, x0, #0x8 + +10008: 94000016 bl 10060 <.*> + +1000c: d503201f nop + +10010: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_> + +10014: b9400400 ldr w0, \[x0, #4\] + +10018: d503201f nop + +1001c: d503201f nop + +10020: d53bd041 mrs x1, tpidr_el0 + +10024: 8b000020 add x0, x1, x0 + +10028: d53bd042 mrs x2, tpidr_el0 + +1002c: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_> + +10030: f9400400 ldr x0, \[x0, #8\] + +10034: 8b000040 add x0, x2, x0 + +10038: b9400000 ldr w0, \[x0\] + +1003c: 0b000020 add w0, w1, w0 + +Disassembly of section .plt: + +00010040 <.plt>: + +10040: a9bf7bf0 stp x16, x30, \[sp, #-16\]! + +10044: 90000090 adrp x16, 20000 <_GLOBAL_OFFSET_TABLE_> + +10048: b9401a11 ldr w17, \[x16, #24\] + +1004c: 11006210 add w16, w16, #0x18 + +10050: d61f0220 br x17 + +10054: d503201f nop + +10058: d503201f nop + +1005c: d503201f nop + +10060: 90000090 adrp x16, 20000 <_GLOBAL_OFFSET_TABLE_> + +10064: b9401e11 ldr w17, \[x16, #28\] + +10068: 11007210 add w16, w16, #0x1c + +1006c: d61f0220 br x17 |