From b2260160f8cde8de118914ddeaf797bea42e65ce Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Tue, 22 Nov 2016 14:05:05 +0000 Subject: [PATCH] gdbarch software_single_step frame_info to regcache: spu gdb: 2016-11-22 Yao Qi * 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. --- gdb/ChangeLog | 7 +++++++ gdb/spu-tdep.c | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7b799bd306..d28552b16d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2016-11-22 Yao Qi + + * 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. + 2016-11-22 Yao Qi * tic6x-tdep.c (tic6x_condition_true): Replace frame with diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index 073be2d718..d16b68f627 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) -- 2.34.1