diff options
author | Peter Collingbourne <pcc@google.com> | 2020-04-07 14:07:32 -0700 |
---|---|---|
committer | Peter Collingbourne <pcc@google.com> | 2020-04-27 13:15:49 -0700 |
commit | f86225206df162b43b5a0518a9eaf747d60303c5 (patch) | |
tree | 7bf781dd784e55d63b5275f089e300d77e6a0877 /debuggerd/libdebuggerd/utility.cpp | |
parent | e0edc7ec328e6775e081c30b42837eb84ff282a4 (diff) |
Add support for MTE error reports in tombstones.
Teach debuggerd to use the new scudo APIs proposed in
https://reviews.llvm.org/D77283 for extracing MTE error reports from crashed
processes, and include those reports in tombstones if possible.
Bug: 135772972
Change-Id: I082dfd0ac9d781cfed2b8c34cc73562614bb0dbb
Diffstat (limited to 'debuggerd/libdebuggerd/utility.cpp')
-rw-r--r-- | debuggerd/libdebuggerd/utility.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/debuggerd/libdebuggerd/utility.cpp b/debuggerd/libdebuggerd/utility.cpp index 3bf28b6c2..c8a3431b7 100644 --- a/debuggerd/libdebuggerd/utility.cpp +++ b/debuggerd/libdebuggerd/utility.cpp @@ -35,6 +35,7 @@ #include <android-base/stringprintf.h> #include <android-base/strings.h> #include <android-base/unique_fd.h> +#include <bionic/mte_kernel.h> #include <bionic/reserved_signals.h> #include <debuggerd/handler.h> #include <log/log.h> @@ -374,6 +375,12 @@ const char* get_sigcode(const siginfo_t* si) { return "SEGV_ADIDERR"; case SEGV_ADIPERR: return "SEGV_ADIPERR"; +#if defined(ANDROID_EXPERIMENTAL_MTE) + case SEGV_MTEAERR: + return "SEGV_MTEAERR"; + case SEGV_MTESERR: + return "SEGV_MTESERR"; +#endif } static_assert(NSIGSEGV == SEGV_ADIPERR, "missing SEGV_* si_code"); break; |