1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#name: No '-z force-bti' nor '-z pac-plt' with feature properties (BTI & PAC) forces the generation of BTI PLT without PAC (shared)
## Note: Use of PAC in PLT sequences is a contract between the dynamic loader
## and the static linker, it is independent of whether the relocatable objects
## use PAC. So it means that the PAC flag in the GNU property can be completely
## ignored contrarily to BTI which is all or nothing property for a link unit.
#source: bti-pac-plt.s
#target: [check_shared_lib_support]
#as: -mabi=lp64 -defsym __property_bti__=1 -defsym __property_pac__=1
#ld: -shared -T bti-plt.ld
#objdump: -dr -j .plt
[^:]*: *file format elf64-.*aarch64
Disassembly of section \.plt:
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
.*: d503201f nop
[0-9a-f]+ <.*>:
.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
|