summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/note-cet-property.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/note-cet-property.ll')
-rw-r--r--llvm/test/CodeGen/X86/note-cet-property.ll32
1 files changed, 32 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/note-cet-property.ll b/llvm/test/CodeGen/X86/note-cet-property.ll
new file mode 100644
index 00000000000..2b7dbbeb38c
--- /dev/null
+++ b/llvm/test/CodeGen/X86/note-cet-property.ll
@@ -0,0 +1,32 @@
+; RUN: llc -mtriple i686-pc-linux < %s | FileCheck %s --check-prefix=X86
+; RUN: llc -mtriple x86_64-pc-linux < %s | FileCheck %s --check-prefix=X86_64
+
+; This test checks that the compiler emits a .note.gnu.property section for
+; modules with "cf-protection" module flags.
+
+; X86: .section .note.gnu.property,"a",@note
+; X86-NEXT: .p2align 2
+; X86-NEXT: .long 4
+; X86-NEXT: .long 12
+; X86-NEXT: .long 5
+; X86-NEXT: .asciz "GNU"
+; X86-NEXT: .long 3221225474
+; X86-NEXT: .long 4
+; X86-NEXT: .long 3
+; X86-NEXT: .p2align 2
+
+; X86_64: .section .note.gnu.property,"a",@note
+; X86_64-NEXT: .p2align 3
+; X86_64-NEXT: .long 4
+; X86_64-NEXT: .long 16
+; X86_64-NEXT: .long 5
+; X86_64-NEXT: .asciz "GNU"
+; X86_64-NEXT: .long 3221225474
+; X86_64-NEXT: .long 8
+; X86_64-NEXT: .quad 3
+; X86_64-NEXT: .p2align 3
+
+!llvm.module.flags = !{!0, !1}
+
+!0 = !{i32 4, !"cf-protection-return", i32 1}
+!1 = !{i32 4, !"cf-protection-branch", i32 1}
OpenPOWER on IntegriCloud