summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-12-24 18:54:31 +0000
committerian <ian@FreeBSD.org>2014-12-24 18:54:31 +0000
commitbd1ca6b379a2ae02c2df7950a43c483498c0b73f (patch)
tree6a728a706cb7fe2d6b35a18dd216908ce7391af7 /gnu
parent3c6d556e1216aee1059f9044d4c3f3f8456cdca2 (diff)
downloadFreeBSD-src-bd1ca6b379a2ae02c2df7950a43c483498c0b73f.zip
FreeBSD-src-bd1ca6b379a2ae02c2df7950a43c483498c0b73f.tar.gz
Cleanup up ARM *frame structures...
- Eliminate unused irqframe - Eliminate unused saframe - Instead of splitting r4-sp storage between the stack and switchframe, just put all the registers in switchframe and eliminate the un_32 struct. Submitted by: Svatopluk Kraus <onwahe@gmail.com>, Michal Meloun <meloun@miracle.cz>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/gdb/kgdb/trgt_arm.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/gnu/usr.bin/gdb/kgdb/trgt_arm.c b/gnu/usr.bin/gdb/kgdb/trgt_arm.c
index 489c046..cb23aa6 100644
--- a/gnu/usr.bin/gdb/kgdb/trgt_arm.c
+++ b/gnu/usr.bin/gdb/kgdb/trgt_arm.c
@@ -72,20 +72,12 @@ kgdb_trgt_fetch_registers(int regno __unused)
warnx("kvm_read: %s", kvm_geterr(kvm));
memset(&pcb, 0, sizeof(pcb));
}
- for (i = ARM_A1_REGNUM + 8; i <= ARM_SP_REGNUM; i++) {
- supply_register(i, (char *)&pcb.un_32.pcb32_r8 +
- (i - (ARM_A1_REGNUM + 8 )) * 4);
+ for (i = ARM_A1_REGNUM + 4; i <= ARM_SP_REGNUM; i++) {
+ supply_register(i, (char *)&pcb.pcb_regs.sf_r4 +
+ (i - (ARM_A1_REGNUM + 4 )) * 4);
}
- if (pcb.un_32.pcb32_sp != 0) {
- for (i = 0; i < 4; i++) {
- if (kvm_read(kvm, pcb.un_32.pcb32_sp + (i) * 4,
- &reg, 4) != 4) {
- warnx("kvm_read: %s", kvm_geterr(kvm));
- break;
- }
- supply_register(ARM_A1_REGNUM + 4 + i, (char *)&reg);
- }
- if (kvm_read(kvm, pcb.un_32.pcb32_sp + 4 * 4, &reg, 4) != 4)
+ if (pcb.pcb_regs.sf_sp != 0) {
+ if (kvm_read(kvm, pcb.pcb_regs.sf_sp + 4 * 4, &reg, 4) != 4)
warnx("kvm_read :%s", kvm_geterr(kvm));
else
supply_register(ARM_PC_REGNUM, (char *)&reg);
OpenPOWER on IntegriCloud