diff options
author | Mike Frysinger <vapier@chromium.org> | 2016-02-06 18:58:39 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@chromium.org> | 2016-02-06 18:58:39 -0500 |
commit | 76c51742c9e7ad8ab137e5dab1852798fc532207 (patch) | |
tree | 495157301f1f4279b1f4b18b38b0b4b5627fe488 /src/client/linux/dump_writer_common | |
parent | Remove use of deprecated CFURLCreateDataAndPropertiesFromResource function. (diff) | |
download | breakpad-76c51742c9e7ad8ab137e5dab1852798fc532207.tar.xz |
[mips64] Support for mips n64
Adding remaining mips n64 support including stackwalker.
BUG=None
TEST=manually tested on Linux/Android
R=vapier@chromium.org
Review URL: https://codereview.chromium.org/1418453011 .
Diffstat (limited to 'src/client/linux/dump_writer_common')
-rw-r--r-- | src/client/linux/dump_writer_common/thread_info.cc | 6 | ||||
-rw-r--r-- | src/client/linux/dump_writer_common/ucontext_reader.cc | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/client/linux/dump_writer_common/thread_info.cc b/src/client/linux/dump_writer_common/thread_info.cc index 9956d445..0a1041d6 100644 --- a/src/client/linux/dump_writer_common/thread_info.cc +++ b/src/client/linux/dump_writer_common/thread_info.cc @@ -235,7 +235,13 @@ uintptr_t ThreadInfo::GetInstructionPointer() const { } void ThreadInfo::FillCPUContext(RawContextCPU* out) const { +#if _MIPS_SIM == _ABI64 + out->context_flags = MD_CONTEXT_MIPS64_FULL; +#elif _MIPS_SIM == _ABIO32 out->context_flags = MD_CONTEXT_MIPS_FULL; +#else +# error "This mips ABI is currently not supported (n32)" +#endif for (int i = 0; i < MD_CONTEXT_MIPS_GPR_COUNT; ++i) out->iregs[i] = mcontext.gregs[i]; diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc index d37fdeb0..c80724dd 100644 --- a/src/client/linux/dump_writer_common/ucontext_reader.cc +++ b/src/client/linux/dump_writer_common/ucontext_reader.cc @@ -219,7 +219,13 @@ uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { } void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { +#if _MIPS_SIM == _ABI64 + out->context_flags = MD_CONTEXT_MIPS64_FULL; +#elif _MIPS_SIM == _ABIO32 out->context_flags = MD_CONTEXT_MIPS_FULL; +#else +#error "This mips ABI is currently not supported (n32)" +#endif for (int i = 0; i < MD_CONTEXT_MIPS_GPR_COUNT; ++i) out->iregs[i] = uc->uc_mcontext.gregs[i]; |