| Index: src/processor/dump_context.cc
|
| diff --git a/src/processor/dump_context.cc b/src/processor/dump_context.cc
|
| index 1c10b955b44ab5e3a8c4af5475e0c6bcfb75d038..33b02cb61283b9e540f30a9a01e30001d29f79f2 100644
|
| --- a/src/processor/dump_context.cc
|
| +++ b/src/processor/dump_context.cc
|
| @@ -131,7 +131,8 @@ const MDRawContextARM64* DumpContext::GetContextARM64() const {
|
| }
|
|
|
| const MDRawContextMIPS* DumpContext::GetContextMIPS() const {
|
| - if (GetContextCPU() != MD_CONTEXT_MIPS) {
|
| + if ((GetContextCPU() != MD_CONTEXT_MIPS) &&
|
| + (GetContextCPU() != MD_CONTEXT_MIPS64)) {
|
| BPLOG(ERROR) << "DumpContext cannot get MIPS context";
|
| return NULL;
|
| }
|
| @@ -172,6 +173,7 @@ bool DumpContext::GetInstructionPointer(uint64_t* ip) const {
|
| *ip = GetContextX86()->eip;
|
| break;
|
| case MD_CONTEXT_MIPS:
|
| + case MD_CONTEXT_MIPS64:
|
| *ip = GetContextMIPS()->epc;
|
| break;
|
| default:
|
| @@ -215,6 +217,7 @@ bool DumpContext::GetStackPointer(uint64_t* sp) const {
|
| *sp = GetContextX86()->esp;
|
| break;
|
| case MD_CONTEXT_MIPS:
|
| + case MD_CONTEXT_MIPS64:
|
| *sp = GetContextMIPS()->iregs[MD_CONTEXT_MIPS_REG_SP];
|
| break;
|
| default:
|
| @@ -292,6 +295,7 @@ void DumpContext::FreeContext() {
|
| break;
|
|
|
| case MD_CONTEXT_MIPS:
|
| + case MD_CONTEXT_MIPS64:
|
| delete context_.ctx_mips;
|
| break;
|
|
|
| @@ -598,7 +602,8 @@ void DumpContext::Print() {
|
| break;
|
| }
|
|
|
| - case MD_CONTEXT_MIPS: {
|
| + case MD_CONTEXT_MIPS:
|
| + case MD_CONTEXT_MIPS64: {
|
| const MDRawContextMIPS* context_mips = GetContextMIPS();
|
| printf("MDRawContextMIPS\n");
|
| printf(" context_flags = 0x%x\n",
|
|
|