| OLD | NEW |
| 1 // Copyright (c) 2010 Google Inc. | 1 // Copyright (c) 2010 Google Inc. |
| 2 // All rights reserved. | 2 // All rights reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
| 9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
| 10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
| (...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 PrintRegister64("lr", frame_arm64->context.iregs[30], sequence); | 539 PrintRegister64("lr", frame_arm64->context.iregs[30], sequence); |
| 540 } | 540 } |
| 541 if (frame_arm64->context_validity & StackFrameARM64::CONTEXT_VALID_SP) { | 541 if (frame_arm64->context_validity & StackFrameARM64::CONTEXT_VALID_SP) { |
| 542 sequence = | 542 sequence = |
| 543 PrintRegister64("sp", frame_arm64->context.iregs[31], sequence); | 543 PrintRegister64("sp", frame_arm64->context.iregs[31], sequence); |
| 544 } | 544 } |
| 545 if (frame_arm64->context_validity & StackFrameARM64::CONTEXT_VALID_PC) { | 545 if (frame_arm64->context_validity & StackFrameARM64::CONTEXT_VALID_PC) { |
| 546 sequence = | 546 sequence = |
| 547 PrintRegister64("pc", frame_arm64->context.iregs[32], sequence); | 547 PrintRegister64("pc", frame_arm64->context.iregs[32], sequence); |
| 548 } | 548 } |
| 549 } else if (cpu == "mips") { | 549 } else if ((cpu == "mips") || (cpu == "mips64")) { |
| 550 const StackFrameMIPS* frame_mips = | 550 const StackFrameMIPS* frame_mips = |
| 551 reinterpret_cast<const StackFrameMIPS*>(frame); | 551 reinterpret_cast<const StackFrameMIPS*>(frame); |
| 552 | 552 |
| 553 if (frame_mips->context_validity & StackFrameMIPS::CONTEXT_VALID_GP) | 553 if (frame_mips->context_validity & StackFrameMIPS::CONTEXT_VALID_GP) |
| 554 sequence = PrintRegister64("gp", | 554 sequence = PrintRegister64("gp", |
| 555 frame_mips->context.iregs[MD_CONTEXT_MIPS_REG_GP], | 555 frame_mips->context.iregs[MD_CONTEXT_MIPS_REG_GP], |
| 556 sequence); | 556 sequence); |
| 557 if (frame_mips->context_validity & StackFrameMIPS::CONTEXT_VALID_SP) | 557 if (frame_mips->context_validity & StackFrameMIPS::CONTEXT_VALID_SP) |
| 558 sequence = PrintRegister64("sp", | 558 sequence = PrintRegister64("sp", |
| 559 frame_mips->context.iregs[MD_CONTEXT_MIPS_REG_SP], | 559 frame_mips->context.iregs[MD_CONTEXT_MIPS_REG_SP], |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 929 void PrintProcessModules(const ProcessState& process_state) { | 929 void PrintProcessModules(const ProcessState& process_state) { |
| 930 const CodeModules* modules = process_state.modules(); | 930 const CodeModules* modules = process_state.modules(); |
| 931 const unsigned int module_count = modules->module_count(); | 931 const unsigned int module_count = modules->module_count(); |
| 932 for (unsigned int i = 0; i < module_count; ++i) { | 932 for (unsigned int i = 0; i < module_count; ++i) { |
| 933 const CodeModule* module = modules->GetModuleAtSequence(i); | 933 const CodeModule* module = modules->GetModuleAtSequence(i); |
| 934 printf("%s\n", module->code_file().c_str()); | 934 printf("%s\n", module->code_file().c_str()); |
| 935 } | 935 } |
| 936 } | 936 } |
| 937 | 937 |
| 938 } // namespace google_breakpad | 938 } // namespace google_breakpad |
| OLD | NEW |