xref: /llvm-project/llvm/test/CodeGen/X86/note-cet-property-inlineasm.ll (revision a58c62fa824fd24d20fa2366e0ec8f241cb321fe)
1; RUN: llc -mtriple x86_64-unknown-linux-gnu %s -o %t.o -filetype=obj
2; RUN: llvm-readobj -n %t.o | FileCheck %s
3
4module asm ".pushsection \22.note.gnu.property\22,\22a\22,@note"
5module asm "     .p2align 3"
6module asm "     .long 1f - 0f"
7module asm "     .long 4f - 1f"
8module asm "     .long 5"
9module asm "0:   .asciz \22GNU\22"
10module asm "1:   .p2align 3"
11module asm "     .long 0xc0008002"
12module asm "     .long 3f - 2f"
13module asm "2:   .long ((1U << 0) | 0 | 0 | 0)"
14module asm "3:   .p2align 3"
15module asm "4:"
16module asm " .popsection"
17
18!llvm.module.flags = !{!0, !1}
19
20!0 = !{i32 4, !"cf-protection-return", i32 1}
21!1 = !{i32 4, !"cf-protection-branch", i32 1}
22
23; CHECK:      Type: NT_GNU_PROPERTY_TYPE_0
24; CHECK-NEXT: Property [
25; CHECK-NEXT:   x86 feature: IBT, SHSTK
26; CHECK-NEXT: ]
27; CHECK:      Type: NT_GNU_PROPERTY_TYPE_0
28; CHECK-NEXT: Property [
29; CHECK-NEXT:   x86 ISA needed: x86-64-baseline
30; CHECK-NEXT: ]
31