diff options
Diffstat (limited to 'gdb/armnbsd-nat.c')
-rw-r--r-- | gdb/armnbsd-nat.c | 57 |
1 files changed, 36 insertions, 21 deletions
diff --git a/gdb/armnbsd-nat.c b/gdb/armnbsd-nat.c index d21fdbf..13ba0cb 100644 --- a/gdb/armnbsd-nat.c +++ b/gdb/armnbsd-nat.c @@ -229,21 +229,25 @@ store_register (int regno) switch (regno) { case ARM_SP_REGNUM: - regcache_collect (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp); + regcache_raw_collect (current_regcache, ARM_SP_REGNUM, + (char *) &inferior_registers.r_sp); break; case ARM_LR_REGNUM: - regcache_collect (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr); + regcache_raw_collect (current_regcache, ARM_LR_REGNUM, + (char *) &inferior_registers.r_lr); break; case ARM_PC_REGNUM: if (arm_apcs_32) - regcache_collect (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc); + regcache_raw_collect (current_regcache, ARM_PC_REGNUM, + (char *) &inferior_registers.r_pc); else { unsigned pc_val; - regcache_collect (ARM_PC_REGNUM, (char *) &pc_val); + regcache_raw_collect (current_regcache, ARM_PC_REGNUM, + (char *) &pc_val); pc_val = ADDR_BITS_REMOVE (pc_val); inferior_registers.r_pc @@ -254,12 +258,14 @@ store_register (int regno) case ARM_PS_REGNUM: if (arm_apcs_32) - regcache_collect (ARM_PS_REGNUM, (char *) &inferior_registers.r_cpsr); + regcache_raw_collect (current_regcache, ARM_PS_REGNUM, + (char *) &inferior_registers.r_cpsr); else { unsigned psr_val; - regcache_collect (ARM_PS_REGNUM, (char *) &psr_val); + regcache_raw_collect (current_regcache, ARM_PS_REGNUM, + (char *) &psr_val); psr_val ^= ADDR_BITS_REMOVE (psr_val); inferior_registers.r_pc = ADDR_BITS_REMOVE (inferior_registers.r_pc); @@ -268,7 +274,8 @@ store_register (int regno) break; default: - regcache_collect (regno, (char *) &inferior_registers.r[regno]); + regcache_raw_collect (current_regcache, regno, + (char *) &inferior_registers.r[regno]); break; } @@ -288,23 +295,30 @@ store_regs (void) for (regno = ARM_A1_REGNUM; regno < ARM_SP_REGNUM; regno++) - regcache_collect (regno, (char *) &inferior_registers.r[regno]); + regcache_raw_collect (current_regcache, regno, + (char *) &inferior_registers.r[regno]); - regcache_collect (ARM_SP_REGNUM, (char *) &inferior_registers.r_sp); - regcache_collect (ARM_LR_REGNUM, (char *) &inferior_registers.r_lr); + regcache_raw_collect (current_regcache, ARM_SP_REGNUM, + (char *) &inferior_registers.r_sp); + regcache_raw_collect (current_regcache, ARM_LR_REGNUM, + (char *) &inferior_registers.r_lr); if (arm_apcs_32) { - regcache_collect (ARM_PC_REGNUM, (char *) &inferior_registers.r_pc); - regcache_collect (ARM_PS_REGNUM, (char *) &inferior_registers.r_cpsr); + regcache_raw_collect (current_regcache, ARM_PC_REGNUM, + (char *) &inferior_registers.r_pc); + regcache_raw_collect (current_regcache, ARM_PS_REGNUM, + (char *) &inferior_registers.r_cpsr); } else { unsigned pc_val; unsigned psr_val; - regcache_collect (ARM_PC_REGNUM, (char *) &pc_val); - regcache_collect (ARM_PS_REGNUM, (char *) &psr_val); + regcache_raw_collect (current_regcache, ARM_PC_REGNUM, + (char *) &pc_val); + regcache_raw_collect (current_regcache, ARM_PS_REGNUM, + (char *) &psr_val); pc_val = ADDR_BITS_REMOVE (pc_val); psr_val ^= ADDR_BITS_REMOVE (psr_val); @@ -337,13 +351,13 @@ store_fp_register (int regno) switch (regno) { case ARM_FPS_REGNUM: - regcache_collect (ARM_FPS_REGNUM, - (char *) &inferior_fp_registers.fpr_fpsr); + regcache_raw_collect (current_regcache, ARM_FPS_REGNUM, + (char *) &inferior_fp_registers.fpr_fpsr); break; default: - regcache_collect - (regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); + regcache_raw_collect (current_regcache, regno, + (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); break; } @@ -363,10 +377,11 @@ store_fp_regs (void) for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++) - regcache_collect - (regno, (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); + regcache_raw_collect (current_regcache, regno, + (char *) &inferior_fp_registers.fpr[regno - ARM_F0_REGNUM]); - regcache_collect (ARM_FPS_REGNUM, (char *) &inferior_fp_registers.fpr_fpsr); + regcache_raw_collect (current_regcache, ARM_FPS_REGNUM, + (char *) &inferior_fp_registers.fpr_fpsr); ret = ptrace (PT_SETFPREGS, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0); |