diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-11-22 14:05:05 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-11-22 14:05:05 +0000 |
commit | b2260160f8cde8de118914ddeaf797bea42e65ce (patch) | |
tree | 6842efb3e727754c5dde24b4cb3869f95cb69084 /gdb/spu-tdep.c | |
parent | fb090cfa157e35fac1c10c062fd005e38b894ea4 (diff) | |
download | gdb-b2260160f8cde8de118914ddeaf797bea42e65ce.zip gdb-b2260160f8cde8de118914ddeaf797bea42e65ce.tar.gz gdb-b2260160f8cde8de118914ddeaf797bea42e65ce.tar.bz2 |
gdbarch software_single_step frame_info to regcache: spu
gdb:
2016-11-22 Yao Qi <yao.qi@linaro.org>
* spu-tdep.c (spu_software_single_step): Call get_regcache_arch
instead of get_frame_arch. Call regcache_read_pc instead of
get_frame_pc. Call regcache_raw_get_unsigned instead of
get_frame_register_unsigned.
Diffstat (limited to 'gdb/spu-tdep.c')
-rw-r--r-- | gdb/spu-tdep.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index 073be2d..d16b68f 100644 --- a/gdb/spu-tdep.c +++ b/gdb/spu-tdep.c @@ -1613,7 +1613,8 @@ spu_memory_remove_breakpoint (struct gdbarch *gdbarch, static VEC (CORE_ADDR) * spu_software_single_step (struct frame_info *frame) { - struct gdbarch *gdbarch = get_frame_arch (frame); + struct regcache *regcache = get_current_regcache (); + struct gdbarch *gdbarch = get_regcache_arch (regcache); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR pc, next_pc; unsigned int insn; @@ -1622,7 +1623,7 @@ spu_software_single_step (struct frame_info *frame) ULONGEST lslr; VEC (CORE_ADDR) *next_pcs = NULL; - pc = get_frame_pc (frame); + pc = regcache_read_pc (regcache); if (target_read_memory (pc, buf, 4)) throw_error (MEMORY_ERROR, _("Could not read instruction at %s."), @@ -1631,7 +1632,7 @@ spu_software_single_step (struct frame_info *frame) insn = extract_unsigned_integer (buf, 4, byte_order); /* Get local store limit. */ - lslr = get_frame_register_unsigned (frame, SPU_LSLR_REGNUM); + lslr = regcache_raw_get_unsigned (regcache, SPU_LSLR_REGNUM); if (!lslr) lslr = (ULONGEST) -1; @@ -1652,7 +1653,7 @@ spu_software_single_step (struct frame_info *frame) if (reg == SPU_PC_REGNUM) target += SPUADDR_ADDR (pc); else if (reg != -1) - target += get_frame_register_unsigned (frame, reg) & -4; + target += regcache_raw_get_unsigned (regcache, reg) & -4; target = target & lslr; if (target != next_pc) |