1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/CodeGen/AArch64/note-gnu-property-pac-bti-5.ll
Momchil Velikov ec8f60f452 [AArch64] Emit PAC/BTI .note.gnu.property flags
This patch make LLVM emit the processor specific program property types
defined in AArch64 ELF spec
https://developer.arm.com/docs/ihi0056/f/elf-for-the-arm-64-bit-architecture-aarch64-abi-2019q2-documentation

A file containing no functions gets both property flags.  Otherwise, a property
is set iff all the functions in the file have the corresponding attribute.

Patch by Daniel Kiss and Momchil Velikov.

Differential Revision: https://reviews.llvm.org/D71019
2019-12-13 17:38:20 +00:00

27 lines
666 B
LLVM

; RUN: llc -mtriple=aarch64-linux %s -o - 2>&1 | \
; RUN: FileCheck %s --check-prefix=ASM
; RUN: llc -mtriple=aarch64-linux %s -filetype=obj -o - | \
; RUN: llvm-readelf --notes | FileCheck %s --check-prefix=OBJ
define dso_local i32 @f() #0 {
entry:
ret i32 0
}
define dso_local i32 @g() #1 {
entry:
ret i32 0
}
attributes #0 = { "branch-target-enforcement" "sign-return-address"="non-leaf" }
attributes #1 = { "sign-return-address"="all" }
; Only the common atttribute (PAC)
; ASM: warning: not setting BTI in feature flags
; ASM: .word 3221225472
; ASM-NEXT: .word 4
; ASM-NEXT .word 2
; OBJ: Properties: aarch64 feature: PAC