ld: aarch64: Use lp64 abi in recent BTI stub tests
[binutils-gdb.git] / ld / testsuite / ld-aarch64 / bti-far-opt.d
1 #name: Check linker stubs with indirect calls handle BTI when target has BTI.
2 #source: bti-far-opt.s
3 #target: [check_shared_lib_support]
4 #ld: -shared -T bti-far.ld
5 #objdump: -dr
6
7 [^:]*: *file format elf64-.*aarch64
8
9
10 Disassembly of section \.plt:
11
12 0000000000018000 <\.plt>:
13 18000: d503245f bti c
14 18004: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
15 18008: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
16 1800c: f9400e11 ldr x17, \[x16, #24\]
17 18010: 91006210 add x16, x16, #0x18
18 18014: d61f0220 br x17
19 18018: d503201f nop
20 1801c: d503201f nop
21
22 0000000000018020 <foo@plt>:
23 18020: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
24 18024: f9401211 ldr x17, \[x16, #32\]
25 18028: 91008210 add x16, x16, #0x20
26 1802c: d61f0220 br x17
27 18030: 14000004 b 18040 <__foo_bti_veneer\+0x8>
28 18034: d503201f nop
29
30 0000000000018038 <__foo_bti_veneer>:
31 18038: d503245f bti c
32 1803c: 17fffff9 b 18020 <foo@plt>
33
34 Disassembly of section \.text:
35
36 0000000000020000 <_start>:
37 20000: 97ffe008 bl 18020 <foo@plt>
38 20004: 9400000f bl 20040 <___veneer>
39 20008: 94000001 bl 2000c <baz>
40
41 000000000002000c <baz>:
42 2000c: d503201f nop
43
44 0000000000020010 <baz_bti_>:
45 20010: d503241f bti
46
47 0000000000020014 <baz_bti_c>:
48 20014: d503245f bti c
49
50 0000000000020018 <baz_bti_j>:
51 20018: d503249f bti j
52
53 000000000002001c <baz_bti_jc>:
54 2001c: d50324df bti jc
55
56 0000000000020020 <baz_paciasp>:
57 20020: d503233f paciasp
58
59 0000000000020024 <baz_pacibsp>:
60 20024: d503237f pacibsp
61 20028: 1400000c b 20058 <___veneer\+0x18>
62 2002c: d503201f nop
63
64 0000000000020030 <___bti_veneer>:
65 20030: d503245f bti c
66 20034: 17fffff6 b 2000c <baz>
67
68 0000000000020038 <___bti_veneer>:
69 20038: d503245f bti c
70 2003c: 17fffff5 b 20010 <baz_bti_>
71
72 0000000000020040 <___veneer>:
73 20040: 90091910 adrp x16, 12340000 <foo>
74 20044: 9101e210 add x16, x16, #0x78
75 20048: d61f0200 br x16
76 \.\.\.
77
78 Disassembly of section \.far:
79
80 0000000012340000 <foo>:
81 12340000: 94000018 bl 12340060 <___veneer>
82 12340004: 9400003d bl 123400f8 <___veneer>
83 12340008: 9400002a bl 123400b0 <___veneer>
84 1234000c: 94000023 bl 12340098 <___veneer>
85 12340010: 9400002e bl 123400c8 <___veneer>
86 12340014: 94000033 bl 123400e0 <___veneer>
87 12340018: 9400001a bl 12340080 <___veneer>
88
89 000000001234001c <bar>:
90 1234001c: 1400000b b 12340048 <__foo_veneer>
91 12340020: 14000010 b 12340060 <___veneer>
92 12340024: 14000035 b 123400f8 <___veneer>
93 12340028: 14000022 b 123400b0 <___veneer>
94 1234002c: 1400001b b 12340098 <___veneer>
95 12340030: 14000026 b 123400c8 <___veneer>
96 12340034: 1400002b b 123400e0 <___veneer>
97 12340038: 14000012 b 12340080 <___veneer>
98 1234003c: 00000000 udf #0
99 12340040: 14000034 b 12340110 <___veneer\+0x18>
100 12340044: d503201f nop
101
102 0000000012340048 <__foo_veneer>:
103 12340048: 90f6e6d0 adrp x16, 18000 <\.plt>
104 1234004c: 9100e210 add x16, x16, #0x38
105 12340050: d61f0200 br x16
106 \.\.\.
107
108 0000000012340060 <___veneer>:
109 12340060: 90f6e710 adrp x16, 20000 <_start>
110 12340064: 9100c210 add x16, x16, #0x30
111 12340068: d61f0200 br x16
112 \.\.\.
113
114 0000000012340078 <___bti_veneer>:
115 12340078: d503245f bti c
116 1234007c: 17ffffe8 b 1234001c <bar>
117
118 0000000012340080 <___veneer>:
119 12340080: 90f6e710 adrp x16, 20000 <_start>
120 12340084: 91009210 add x16, x16, #0x24
121 12340088: d61f0200 br x16
122 \.\.\.
123
124 0000000012340098 <___veneer>:
125 12340098: 90f6e710 adrp x16, 20000 <_start>
126 1234009c: 91006210 add x16, x16, #0x18
127 123400a0: d61f0200 br x16
128 \.\.\.
129
130 00000000123400b0 <___veneer>:
131 123400b0: 90f6e710 adrp x16, 20000 <_start>
132 123400b4: 91005210 add x16, x16, #0x14
133 123400b8: d61f0200 br x16
134 \.\.\.
135
136 00000000123400c8 <___veneer>:
137 123400c8: 90f6e710 adrp x16, 20000 <_start>
138 123400cc: 91007210 add x16, x16, #0x1c
139 123400d0: d61f0200 br x16
140 \.\.\.
141
142 00000000123400e0 <___veneer>:
143 123400e0: 90f6e710 adrp x16, 20000 <_start>
144 123400e4: 91008210 add x16, x16, #0x20
145 123400e8: d61f0200 br x16
146 \.\.\.
147
148 00000000123400f8 <___veneer>:
149 123400f8: 90f6e710 adrp x16, 20000 <_start>
150 123400fc: 9100e210 add x16, x16, #0x38
151 12340100: d61f0200 br x16
152 \.\.\.