From: Yao Qi Date: Fri, 11 Nov 2016 16:50:42 +0000 (+0000) Subject: Don't handle unavailable/optimized-out in spu_software_single_step X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7d15592e06e4abccc97cb8c5670f564327f747e9;p=binutils-gdb.git Don't handle unavailable/optimized-out in spu_software_single_step When we do software single step, frame is always the innermost one, so it is impossible to get unavailable/optimized-out errors. gdb: 2016-11-11 Yao Qi * spu-tdep.c (spu_software_single_step): Don't call get_frame_register_bytes, call get_frame_register_unsigned instead. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7fc2b4a9fe1..99edafca61c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2016-11-11 Yao Qi + + * spu-tdep.c (spu_software_single_step): Don't call + get_frame_register_bytes, call get_frame_register_unsigned + instead. + 2016-11-11 Yao Qi * cp-valprint.c (cp_print_value): Remove local base_valaddr. diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index 5494a93d2ae..073be2d7189 100644 --- a/gdb/spu-tdep.c +++ b/gdb/spu-tdep.c @@ -1652,24 +1652,7 @@ spu_software_single_step (struct frame_info *frame) if (reg == SPU_PC_REGNUM) target += SPUADDR_ADDR (pc); else if (reg != -1) - { - int optim, unavail; - - if (get_frame_register_bytes (frame, reg, 0, 4, buf, - &optim, &unavail)) - target += extract_unsigned_integer (buf, 4, byte_order) & -4; - else - { - if (optim) - throw_error (OPTIMIZED_OUT_ERROR, - _("Could not determine address of " - "single-step breakpoint.")); - if (unavail) - throw_error (NOT_AVAILABLE_ERROR, - _("Could not determine address of " - "single-step breakpoint.")); - } - } + target += get_frame_register_unsigned (frame, reg) & -4; target = target & lslr; if (target != next_pc)