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 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
.text
.global foo
.type foo, %function
foo:
sub sp, sp, #16
mov w0, 9
str w0, [sp, 12]
ldr w0, [sp, 12]
add w0, w0, 4
str w0, [sp, 12]
nop
add sp, sp, 16
ret
.size foo, .-foo
.global bar
.type bar, %function
.ifdef __property_bti__
.section ".note.gnu.property", "a"
.p2align 3
.long 1f - 0f /* name length */
.long 5f - 2f /* data length */
.long 5 /* note type */
0: .asciz "GNU" /* vendor name */
1:
.p2align 3
2: .long 0xc0000000 /* pr_type. */
.long 4f - 3f /* pr_datasz. */
3:
.long 0x1 /* BTI. */
4:
.p2align 3
5:
.endif
.ifdef __property_pac__
.section ".note.gnu.property", "a"
.p2align 3
.long 1f - 0f /* name length */
.long 5f - 2f /* data length */
.long 5 /* note type */
0: .asciz "GNU" /* vendor name */
1:
.p2align 3
2: .long 0xc0000000 /* pr_type. */
.long 4f - 3f /* pr_datasz. */
3:
.long 0x2 /* PAC. */
4:
.p2align 3
5:
.endif
|