llvm-mirror/test/CodeGen/AArch64/note-gnu-property-pac-bti-7.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

24 lines
589 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 -S | 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 = { "sign-return-address"="non-leaf" }
attributes #1 = { "branch-target-enforcement" }
; No common attribute, no note section
; ASM: warning: not setting BTI in feature flags
; ASM-NOT: .note.gnu.property
; OBJ-NOT: .note.gnu.property