diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:37:35 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:37:35 +0000 |
commit | 0b1b3e423ad28731135cdd275522bdf3d2d17570 (patch) | |
tree | 66c3aad944589e0365a5929e7820bfe050a33e82 /gdb/cris-tdep.c | |
parent | 9c9acae0c28d2b85588c305ed58aeef034e69e86 (diff) | |
download | gdb-0b1b3e423ad28731135cdd275522bdf3d2d17570.zip gdb-0b1b3e423ad28731135cdd275522bdf3d2d17570.tar.gz gdb-0b1b3e423ad28731135cdd275522bdf3d2d17570.tar.bz2 |
* gdbarch.sh (software_single_step): Replace REGCACHE argument by
FRAME argument.
* gdbarch.c, gdbarch.h: Regenerate.
* infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP.
* alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve
registers from FRAME instead of using read_register.
(alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME
to alpha_next_pc. Use get_frame_pc instead of read_pc.
* alpha-tdep.h (alpha_software_single_step): Replace REGCACHE
argument by FRAME.
* arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers
from FRAME instead of using read_register.
(thumb_get_next_pc): Likewise.
(arm_get_next_pc): Likewise.
(arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME
to arm_get_next_pc. Use get_frame_pc instead of read_register.
* arm-tdep.h (arm_software_single_step): Replace REGCACHE
argument by FRAME.
* cris-tdep.c (find_step_target): Add FRAME argument. Read registers
from FRAME instead of using read_register.
(cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME
to find_step_target.
* mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers
from FRAME instead of using read_register / read_signed_register.
(extended_mips16_next_pc): Likewise.
(mips16_next_pc): Likewise.
(mips_next_pc): Likewise.
(mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME
to mips_next_pc. Use get_frame_pc instead of read_pc.
* mips-tdep.h (mips_software_single_step): Replace REGCACHE
argument by FRAME.
* rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead
of current frame. Read registers from FRAME.
(deal_with_atomic_sequence): Add FRAME argument. Pass it to
branch_dest. Use get_frame_pc instead of read_pc.
(rs6000_software_single_step): Likewise.
(bl_to_blrl_insn_p): Do not call branch_dest.
* rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE
argument by FRAME.
* sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument.
Read registers from FRAME instead of current regcache.
* sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise.
* sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise.
* sparc-tdep.c (sparc_address_from_register): Remove.
(sparc_analyze_control_transfer): Pass FRAME argument instead of
GDBARCH. Pass FRAME to step_trap callback.
(sparc_step_trap): Add FRAME argument.
(space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME
to sparc_analyze_control_transfer. Read registers from FRAME instead
of calling sparc_address_from_register.
* sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to
step_trap callback.
(sparc_address_from_register): Remove prototype.
(sparc_software_single_step): Replace REGCACHE argument by FRAME.
(sparcnbsd_step_trap): Add FRAME argument.
* spu-tdep.c (spu_software_single_step): Replace REGCACHE argument
by FRAME. Read registers from FRAME instead of REGCACHE.
Diffstat (limited to 'gdb/cris-tdep.c')
-rw-r--r-- | gdb/cris-tdep.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index 8b86028..4af4726 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -2059,7 +2059,7 @@ find_cris_op (unsigned short insn, inst_env_type *inst_env) actually an internal error. */ static int -find_step_target (inst_env_type *inst_env) +find_step_target (struct frame_info *frame, inst_env_type *inst_env) { int i; int offset; @@ -2068,12 +2068,14 @@ find_step_target (inst_env_type *inst_env) /* Create a local register image and set the initial state. */ for (i = 0; i < NUM_GENREGS; i++) { - inst_env->reg[i] = (unsigned long) read_register (i); + inst_env->reg[i] = + (unsigned long) get_frame_register_unsigned (frame, i); } offset = NUM_GENREGS; for (i = 0; i < NUM_SPECREGS; i++) { - inst_env->preg[i] = (unsigned long) read_register (offset + i); + inst_env->preg[i] = + (unsigned long) get_frame_register_unsigned (frame, offset + i); } inst_env->branch_found = 0; inst_env->slot_needed = 0; @@ -2124,13 +2126,13 @@ find_step_target (inst_env_type *inst_env) Either one ordinary target or two targets for branches may be found. */ static int -cris_software_single_step (struct regcache *regcache) +cris_software_single_step (struct frame_info *frame) { inst_env_type inst_env; /* Analyse the present instruction environment and insert breakpoints. */ - int status = find_step_target (&inst_env); + int status = find_step_target (frame, &inst_env); if (status == -1) { /* Could not find a target. Things are likely to go downhill |