mirror of
https://github.com/yuzu-emu/breakpad.git
synced 2024-11-24 05:45:43 +01:00
dump_context: arm: name the registers in the dump output
The current ARM minidump_dump output makes people remember or look up how registers are mapped in the ISA. Let's use human friendly names instead so they don't have to. Currently it looks like: MDRawContextARM context_flags = 0x40000006 iregs[ 0] = 0x3c48b000 iregs[ 1] = 0x3 iregs[ 2] = 0x20 iregs[ 3] = 0x0 iregs[ 4] = 0x1c iregs[ 5] = 0x3c48b000 iregs[ 6] = 0x20 iregs[ 7] = 0x3c48b04c iregs[ 8] = 0x39100611 iregs[ 9] = 0x1c iregs[10] = 0x0 iregs[11] = 0xbe61c200 iregs[12] = 0xfb9c1fec iregs[13] = 0xbe61bd28 iregs[14] = 0x39e19b1c iregs[15] = 0x357dd74c cpsr = 0x680b0010 float_save.fpscr = 0x0 Now it looks like: MDRawContextARM context_flags = 0x40000006 r0 = 0x3c48b000 r1 = 0x3 r2 = 0x20 r3 = 0x0 r4 = 0x1c r5 = 0x3c48b000 r6 = 0x20 r7 = 0x3c48b04c r8 = 0x39100611 r9 = 0x1c r10 = 0x0 r11 = 0xbe61c200 r12 = 0xfb9c1fec sp = 0xbe61bd28 lr = 0x39e19b1c pc = 0x357dd74c cpsr = 0x680b0010 float_save.fpscr = 0x0 BUG=chromium:665083 Change-Id: I46d87c4ff7303a7efcd60da1d0b67ae7a5465c8f Reviewed-on: https://chromium-review.googlesource.com/457197 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
This commit is contained in:
parent
0c3b559653
commit
0a57d7a32b
@ -549,22 +549,26 @@ void DumpContext::Print() {
|
||||
|
||||
case MD_CONTEXT_ARM: {
|
||||
const MDRawContextARM* context_arm = GetContextARM();
|
||||
const char * const names[] = {
|
||||
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
|
||||
"r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc",
|
||||
};
|
||||
printf("MDRawContextARM\n");
|
||||
printf(" context_flags = 0x%x\n",
|
||||
printf(" context_flags = 0x%x\n",
|
||||
context_arm->context_flags);
|
||||
for (unsigned int ireg_index = 0;
|
||||
ireg_index < MD_CONTEXT_ARM_GPR_COUNT;
|
||||
++ireg_index) {
|
||||
printf(" iregs[%2d] = 0x%x\n",
|
||||
ireg_index, context_arm->iregs[ireg_index]);
|
||||
printf(" %-3s = 0x%x\n",
|
||||
names[ireg_index], context_arm->iregs[ireg_index]);
|
||||
}
|
||||
printf(" cpsr = 0x%x\n", context_arm->cpsr);
|
||||
printf(" cpsr = 0x%x\n", context_arm->cpsr);
|
||||
printf(" float_save.fpscr = 0x%" PRIx64 "\n",
|
||||
context_arm->float_save.fpscr);
|
||||
for (unsigned int fpr_index = 0;
|
||||
fpr_index < MD_FLOATINGSAVEAREA_ARM_FPR_COUNT;
|
||||
++fpr_index) {
|
||||
printf(" float_save.regs[%2d] = 0x%" PRIx64 "\n",
|
||||
printf(" float_save.regs[%2d] = 0x%" PRIx64 "\n",
|
||||
fpr_index, context_arm->float_save.regs[fpr_index]);
|
||||
}
|
||||
for (unsigned int fpe_index = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user