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 |