1// Check that sanitizer prints registers dump_registers on dump_registers=1
2// RUN: %clangxx %s -o %t
3// RUN: %env_tool_opts=dump_registers=0 not %run %t 2>&1 | FileCheck %s --check-prefixes=CHECK-NODUMP --strict-whitespace
4// RUN: not %run %t 2>&1 | FileCheck %s --check-prefixes=CHECK-DUMP --strict-whitespace
5//
6// REQUIRES: i386-target-arch && glibc
7
8#include <signal.h>
9
10int main() {
11 raise(SIGSEGV);
12 // CHECK-DUMP: Register values
13 // CHECK-DUMP-NEXT: eax = {{0x[0-9a-f]+}} ebx = {{0x[0-9a-f]+}} ecx = {{0x[0-9a-f]+}} edx = {{0x[0-9a-f]+}}
14 // CHECK-DUMP-NEXT: edi = {{0x[0-9a-f]+}} esi = {{0x[0-9a-f]+}} ebp = {{0x[0-9a-f]+}} esp = {{0x[0-9a-f]+}}
15 // CHECK-NODUMP-NOT: Register values
16 return 0;
17}
18

source code of compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp