summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cpp')
-rw-r--r--compiler-rt/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cpp
new file mode 100644
index 00000000000..f42802a3458
--- /dev/null
+++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cpp
@@ -0,0 +1,21 @@
+// Check that sanitizer prints the faulting instruction bytes on
+// dump_instruction_bytes=1
+
+// RUN: %clangxx %s -o %t
+// RUN: %env_tool_opts=dump_instruction_bytes=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-DUMP
+// RUN: not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-NODUMP
+
+// REQUIRES: x86-target-arch
+
+int main() {
+#if defined(__x86_64__)
+ asm("movq $0, %rax");
+ asm("movl $0xcafebabe, 0x0(%rax)");
+#elif defined(i386)
+ asm("movl $0, %eax");
+ asm("movl $0xcafebabe, 0x0(%eax)");
+#endif
+ // CHECK-DUMP: First 16 instruction bytes at pc: c7 00 be ba fe ca
+ // CHECK-NODUMP-NOT: First 16 instruction bytes
+ return 0;
+}
OpenPOWER on IntegriCloud