Fix AArch64 relocation handling in ILP32 mode.
[external/binutils.git] / ld / testsuite / ld-aarch64 / tls-desc-ie-ilp32.d
1 #source: tls-desc-ie.s
2 #as: -mabi=ilp32
3 #ld: -shared -m [aarch64_choose_ilp32_emul] -T relocs-ilp32.ld -e0
4 #objdump: -dr
5 #...
6  +10000:        90000080        adrp    x0, 20000 <_GLOBAL_OFFSET_TABLE_>
7  +10004:        91002000        add     x0, x0, #0x8
8  +10008:        94000016        bl      10060 <.*>
9  +1000c:        d503201f        nop
10  +10010:        90000080        adrp    x0, 20000 <_GLOBAL_OFFSET_TABLE_>
11  +10014:        b9400400        ldr     w0, \[x0, #4\]
12  +10018:        d503201f        nop
13  +1001c:        d503201f        nop
14  +10020:        d53bd041        mrs     x1, tpidr_el0
15  +10024:        8b000020        add     x0, x1, x0
16  +10028:        d53bd042        mrs     x2, tpidr_el0
17  +1002c:        90000080        adrp    x0, 20000 <_GLOBAL_OFFSET_TABLE_>
18  +10030:        f9400400        ldr     x0, \[x0, #8\]
19  +10034:        8b000040        add     x0, x2, x0
20  +10038:        b9400000        ldr     w0, \[x0\]
21  +1003c:        0b000020        add     w0, w1, w0
22
23 Disassembly of section .plt:
24
25 00010040 <.plt>:
26  +10040:        a9bf7bf0        stp     x16, x30, \[sp, #-16\]!
27  +10044:        90000090        adrp    x16, 20000 <_GLOBAL_OFFSET_TABLE_>
28  +10048:        b9401a11        ldr     w17, \[x16, #24\]
29  +1004c:        11006210        add     w16, w16, #0x18
30  +10050:        d61f0220        br      x17
31  +10054:        d503201f        nop
32  +10058:        d503201f        nop
33  +1005c:        d503201f        nop
34  +10060:        90000090        adrp    x16, 20000 <_GLOBAL_OFFSET_TABLE_>
35  +10064:        b9401e11        ldr     w17, \[x16, #28\]
36  +10068:        11007210        add     w16, w16, #0x1c
37  +1006c:        d61f0220        br      x17