[spu] Don't call set_gdbarch_cannot_step_breakpoint in spu_gdbarch_init
authorYao Qi <yao.qi@linaro.org>
Wed, 8 Apr 2015 15:04:07 +0000 (16:04 +0100)
committerYao Qi <yao.qi@linaro.org>
Wed, 8 Apr 2015 15:04:07 +0000 (16:04 +0100)
Nowadays, in infrun.c:resume, the setting to 'step' variable is like:

  if (use_displaced_stepping (gdbarch)
      && tp->control.trap_expected
      && sig == GDB_SIGNAL_0
      && !current_inferior ()->waiting_for_vfork_done)
    {
    }
  /* Do we need to do it the hard way, w/temp breakpoints?  */
  else if (step)
    step = maybe_software_singlestep (gdbarch, pc); <-- [1]

  ...

  if (execution_direction != EXEC_REVERSE
      && step && breakpoint_inserted_here_p (aspace, pc))
    {
      ...
      if (gdbarch_cannot_step_breakpoint (gdbarch)) <-- [2]
        step = 0;
    }

spu doesn't have displaced stepping and uses software single step,
so 'step' is set to zero in [1], and [2] becomes unreachable as a
result.  So don't have to call set_gdbarch_cannot_step_breakpoint
in spu_gdbarch_init.

gdb:

2015-04-08  Yao Qi  <yao.qi@linaro.org>

* spu-tdep.c (spu_gdbarch_init): Don't call
set_gdbarch_cannot_step_breakpoint.

gdb/ChangeLog
gdb/spu-tdep.c

index 432cc3e..5b4604c 100644 (file)
@@ -1,3 +1,8 @@
+2015-04-08  Yao Qi  <yao.qi@linaro.org>
+
+       * spu-tdep.c (spu_gdbarch_init): Don't call
+       set_gdbarch_cannot_step_breakpoint.
+
 2015-04-07  Sergio Durigan Junior  <sergiodj@redhat.com>
 
        * linux-tdep.c (decode_vmflags): Initialize 'saveptr'.
index 6ccb679..7e05834 100644 (file)
@@ -2794,7 +2794,6 @@ spu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_decr_pc_after_break (gdbarch, 4);
   set_gdbarch_breakpoint_from_pc (gdbarch, spu_breakpoint_from_pc);
   set_gdbarch_memory_remove_breakpoint (gdbarch, spu_memory_remove_breakpoint);
-  set_gdbarch_cannot_step_breakpoint (gdbarch, 1);
   set_gdbarch_software_single_step (gdbarch, spu_software_single_step);
   set_gdbarch_get_longjmp_target (gdbarch, spu_get_longjmp_target);