diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-09-22 01:04:47 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-09-22 01:04:47 +0000 |
commit | 07da083e6bf36dd4be64a85b3461623d2488476d (patch) | |
tree | fc21546830650c084339a9892ea0aee2569408f7 /debuggerd/crash_dump.cpp | |
parent | 79c5fee02e1430bec2f75956297f5b631e70b407 (diff) | |
parent | fb16db72d227d373b0ef8cc04c7efb6091f6cc68 (diff) |
Snap for 6852218 from fb16db72d227d373b0ef8cc04c7efb6091f6cc68 to sc-release
Change-Id: Iae251c05f967d42661cc2d19a0fac485c7972cf4
Diffstat (limited to 'debuggerd/crash_dump.cpp')
-rw-r--r-- | debuggerd/crash_dump.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/debuggerd/crash_dump.cpp b/debuggerd/crash_dump.cpp index d7cb9725fb..c52c6f7413 100644 --- a/debuggerd/crash_dump.cpp +++ b/debuggerd/crash_dump.cpp @@ -40,6 +40,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 <cutils/sockets.h> #include <log/log.h> @@ -486,6 +487,17 @@ int main(int argc, char** argv) { continue; } +#ifdef ANDROID_EXPERIMENTAL_MTE + struct iovec iov = { + &info.tagged_addr_ctrl, + sizeof(info.tagged_addr_ctrl), + }; + if (ptrace(PTRACE_GETREGSET, thread, NT_ARM_TAGGED_ADDR_CTRL, + reinterpret_cast<void*>(&iov)) == -1) { + info.tagged_addr_ctrl = -1; + } +#endif + if (thread == g_target_thread) { // Read the thread's registers along with the rest of the crash info out of the pipe. ReadCrashInfo(input_pipe, &siginfo, &info.registers, &process_info); |