diff options
Diffstat (limited to 'test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cc')
-rw-r--r-- | test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cc b/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cc new file mode 100644 index 0000000000000..87e797a00ae13 --- /dev/null +++ b/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cc @@ -0,0 +1,23 @@ +// Check that sanitizer prints the faulting instruction bytes on +// dump_instruction_bytes=1 + +// clang-format off +// 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 +// clang-format on + +// 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; +} |