diff options
Diffstat (limited to 'debuggerd/libdebuggerd/tombstone.cpp')
-rw-r--r-- | debuggerd/libdebuggerd/tombstone.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/debuggerd/libdebuggerd/tombstone.cpp b/debuggerd/libdebuggerd/tombstone.cpp index edc7be5e2..011313149 100644 --- a/debuggerd/libdebuggerd/tombstone.cpp +++ b/debuggerd/libdebuggerd/tombstone.cpp | |||
@@ -168,6 +168,26 @@ static const char* get_sigcode(int signo, int code) { | |||
168 | case TRAP_BRANCH: return "TRAP_BRANCH"; | 168 | case TRAP_BRANCH: return "TRAP_BRANCH"; |
169 | case TRAP_HWBKPT: return "TRAP_HWBKPT"; | 169 | case TRAP_HWBKPT: return "TRAP_HWBKPT"; |
170 | } | 170 | } |
171 | if ((code & 0xff) == SIGTRAP) { | ||
172 | switch ((code >> 8) & 0xff) { | ||
173 | case PTRACE_EVENT_FORK: | ||
174 | return "PTRACE_EVENT_FORK"; | ||
175 | case PTRACE_EVENT_VFORK: | ||
176 | return "PTRACE_EVENT_VFORK"; | ||
177 | case PTRACE_EVENT_CLONE: | ||
178 | return "PTRACE_EVENT_CLONE"; | ||
179 | case PTRACE_EVENT_EXEC: | ||
180 | return "PTRACE_EVENT_EXEC"; | ||
181 | case PTRACE_EVENT_VFORK_DONE: | ||
182 | return "PTRACE_EVENT_VFORK_DONE"; | ||
183 | case PTRACE_EVENT_EXIT: | ||
184 | return "PTRACE_EVENT_EXIT"; | ||
185 | case PTRACE_EVENT_SECCOMP: | ||
186 | return "PTRACE_EVENT_SECCOMP"; | ||
187 | case PTRACE_EVENT_STOP: | ||
188 | return "PTRACE_EVENT_STOP"; | ||
189 | } | ||
190 | } | ||
171 | static_assert(NSIGTRAP == TRAP_HWBKPT, "missing TRAP_* si_code"); | 191 | static_assert(NSIGTRAP == TRAP_HWBKPT, "missing TRAP_* si_code"); |
172 | break; | 192 | break; |
173 | } | 193 | } |
@@ -446,11 +466,11 @@ static void dump_all_maps(Backtrace* backtrace, BacktraceMap* map, log_t* log, p | |||
446 | line += " (BuildId: " + build_id + ")"; | 466 | line += " (BuildId: " + build_id + ")"; |
447 | } | 467 | } |
448 | } | 468 | } |
449 | if (it->load_base != 0) { | 469 | if (it->load_bias != 0) { |
450 | if (space_needed) { | 470 | if (space_needed) { |
451 | line += ' '; | 471 | line += ' '; |
452 | } | 472 | } |
453 | line += StringPrintf(" (load base 0x%" PRIxPTR ")", it->load_base); | 473 | line += StringPrintf(" (load bias 0x%" PRIxPTR ")", it->load_bias); |
454 | } | 474 | } |
455 | _LOG(log, logtype::MAPS, "%s\n", line.c_str()); | 475 | _LOG(log, logtype::MAPS, "%s\n", line.c_str()); |
456 | } | 476 | } |