b859e6ce3998867da8b7c2d1dc5d10149db69c28
[binutils-gdb.git] / ld / testsuite / ld-aarch64 / bti-far-2.d
1 #name: Check linker stubs with indirect calls handle BTI (exe).
2 #source: bti-far.s
3 #as: -mabi=lp64
4 #ld: -T bti-far.ld
5 #objdump: -dr
6
7 [^:]*: *file format elf64-.*aarch64
8
9
10 Disassembly of section \.text:
11
12 0000000000020000 <_start>:
13 20000: 9400000e bl 20038 <__foo_veneer>
14 20004: 94000007 bl 20020 <___veneer>
15 20008: 94000001 bl 2000c <baz>
16
17 000000000002000c <baz>:
18 2000c: d65f03c0 ret
19 20010: 14000010 b 20050 <__foo_veneer\+0x18>
20 20014: d503201f nop
21
22 0000000000020018 <___bti_veneer>:
23 20018: d503245f bti c
24 2001c: 17fffffc b 2000c <baz>
25
26 0000000000020020 <___veneer>:
27 20020: 90091910 adrp x16, 12340000 <foo>
28 20024: 9100e210 add x16, x16, #0x38
29 20028: d61f0200 br x16
30 \.\.\.
31
32 0000000000020038 <__foo_veneer>:
33 20038: 90091910 adrp x16, 12340000 <foo>
34 2003c: 91006210 add x16, x16, #0x18
35 20040: d61f0200 br x16
36 \.\.\.
37
38 Disassembly of section \.far:
39
40 0000000012340000 <foo>:
41 12340000: 94000008 bl 12340020 <___veneer>
42
43 0000000012340004 <bar>:
44 12340004: 94000007 bl 12340020 <___veneer>
45 12340008: 97fffffe bl 12340000 <foo>
46 1234000c: 00000000 udf #0
47 12340010: 1400000c b 12340040 <___bti_veneer\+0x8>
48 12340014: d503201f nop
49
50 0000000012340018 <__foo_bti_veneer>:
51 12340018: d503245f bti c
52 1234001c: 17fffff9 b 12340000 <foo>
53
54 0000000012340020 <___veneer>:
55 12340020: 90f6e710 adrp x16, 20000 <_start>
56 12340024: 91006210 add x16, x16, #0x18
57 12340028: d61f0200 br x16
58 \.\.\.
59
60 0000000012340038 <___bti_veneer>:
61 12340038: d503245f bti c
62 1234003c: 17fffff2 b 12340004 <bar>