[compiler-rt] [compiler-rt] Add `DumpAllRegisters` impl (PR #99049)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 18 08:20:40 PDT 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 91722a4a13d808772edcdd5caad66a598a659655 9da8703ccc7fc433c34d8d62081b43c76906129e --extensions cpp -- compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_x86_64.cpp compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
index 59e006743e..19f22b8d6b 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
@@ -2121,59 +2121,59 @@ bool SignalContext::IsTrueFaultingAddress() const {
UNUSED
static const char *RegNumToRegName(int reg) {
switch (reg) {
-#if defined(__x86_64__)
- case REG_RAX:
- return "rax";
- case REG_RBX:
- return "rbx";
- case REG_RCX:
- return "rcx";
- case REG_RDX:
- return "rdx";
- case REG_RDI:
- return "rdi";
- case REG_RSI:
- return "rsi";
- case REG_RBP:
- return "rbp";
- case REG_RSP:
- return "rsp";
- case REG_R8:
- return "r8";
- case REG_R9:
- return "r9";
- case REG_R10:
- return "r10";
- case REG_R11:
- return "r11";
- case REG_R12:
- return "r12";
- case REG_R13:
- return "r13";
- case REG_R14:
- return "r14";
- case REG_R15:
- return "r15";
-#elif defined(__i386__)
- case REG_EAX:
- return "eax";
- case REG_EBX:
- return "ebx";
- case REG_ECX:
- return "ecx";
- case REG_EDX:
- return "edx";
- case REG_EDI:
- return "edi";
- case REG_ESI:
- return "esi";
- case REG_EBP:
- return "ebp";
- case REG_ESP:
- return "esp";
-#endif
- default:
- return NULL;
+# if defined(__x86_64__)
+ case REG_RAX:
+ return "rax";
+ case REG_RBX:
+ return "rbx";
+ case REG_RCX:
+ return "rcx";
+ case REG_RDX:
+ return "rdx";
+ case REG_RDI:
+ return "rdi";
+ case REG_RSI:
+ return "rsi";
+ case REG_RBP:
+ return "rbp";
+ case REG_RSP:
+ return "rsp";
+ case REG_R8:
+ return "r8";
+ case REG_R9:
+ return "r9";
+ case REG_R10:
+ return "r10";
+ case REG_R11:
+ return "r11";
+ case REG_R12:
+ return "r12";
+ case REG_R13:
+ return "r13";
+ case REG_R14:
+ return "r14";
+ case REG_R15:
+ return "r15";
+# elif defined(__i386__)
+ case REG_EAX:
+ return "eax";
+ case REG_EBX:
+ return "ebx";
+ case REG_ECX:
+ return "ecx";
+ case REG_EDX:
+ return "edx";
+ case REG_EDI:
+ return "edi";
+ case REG_ESI:
+ return "esi";
+ case REG_EBP:
+ return "ebp";
+ case REG_ESP:
+ return "esp";
+# endif
+ default:
+ return NULL;
}
return NULL;
}
@@ -2181,18 +2181,18 @@ static const char *RegNumToRegName(int reg) {
UNUSED
static ALWAYS_INLINE void DumpSingleReg(ucontext_t *ctx, int RegNum) {
const char *RegName = RegNumToRegName(RegNum);
-#if defined(__x86_64__)
+# if defined(__x86_64__)
Printf("%s%s = 0x%016llx ", internal_strlen(RegName) == 2 ? " " : "",
RegName, ctx->uc_mcontext.gregs[RegNum]);
-#elif defined(__i386__)
+# elif defined(__i386__)
Printf("%s = 0x%08x ", RegName, ctx->uc_mcontext.gregs[RegNum]);
-#endif
+# endif
}
void SignalContext::DumpAllRegisters(void *context) {
# if SANITIZER_LINUX
ucontext_t *ucontext = (ucontext_t *)context;
-#if defined(__x86_64__)
+# if defined(__x86_64__)
Report("Register values:\n");
DumpSingleReg(ucontext, REG_RAX);
DumpSingleReg(ucontext, REG_RBX);
@@ -2214,7 +2214,7 @@ void SignalContext::DumpAllRegisters(void *context) {
DumpSingleReg(ucontext, REG_R14);
DumpSingleReg(ucontext, REG_R15);
Printf("\n");
-#elif defined(__i386__)
+# elif defined(__i386__)
// Duplication of this report print is caused by partial support
// of register values dumping. In case of unsupported yet architecture let's
// avoid printing 'Register values:' without actual values in the following
``````````
</details>
https://github.com/llvm/llvm-project/pull/99049
More information about the llvm-commits
mailing list