mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
85d6c62b2c
Flags of the module derived exclusively from the compiler flag `-mbranch-protection`. The note is generated based on the module flags accordingly. After this change in case of compile unit without function won't have the .note.gnu.property if the compiler flag is not present [1]. [1] https://bugs.llvm.org/show_bug.cgi?id=46480 Reviewed By: chill Differential Revision: https://reviews.llvm.org/D80791
24 lines
659 B
LLVM
24 lines
659 B
LLVM
; RUN: llc -mtriple=aarch64-linux %s -o - | \
|
|
; 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() {
|
|
entry:
|
|
ret i32 0
|
|
}
|
|
|
|
!llvm.module.flags = !{!0, !1, !2, !3}
|
|
|
|
!0 = !{i32 1, !"branch-target-enforcement", i32 1}
|
|
!1 = !{i32 1, !"sign-return-address", i32 1}
|
|
!2 = !{i32 1, !"sign-return-address-all", i32 0}
|
|
!3 = !{i32 1, !"sign-return-address-with-bkey", i32 0}
|
|
|
|
; Both attribute present
|
|
; ASM: .word 3221225472
|
|
; ASM-NEXT: .word 4
|
|
; ASM-NEXT: .word 3
|
|
|
|
; OBJ: Properties: aarch64 feature: BTI, PAC
|