aboutsummaryrefslogtreecommitdiff
path: root/gdb/aarch64-tdep.c
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2015-03-20 10:15:21 +0000
committerYao Qi <yao.qi@linaro.org>2015-03-20 10:15:21 +0000
commite8ffc436d9d849eed52af64568d9f37aeaddbd9e (patch)
treec926720b6ee8f1760922b987a6b05ada91be0f8b /gdb/aarch64-tdep.c
parentd4828b9e888339533bc77a8ab7b258c4a5f6f200 (diff)
downloadgdb-e8ffc436d9d849eed52af64568d9f37aeaddbd9e.zip
gdb-e8ffc436d9d849eed52af64568d9f37aeaddbd9e.tar.gz
gdb-e8ffc436d9d849eed52af64568d9f37aeaddbd9e.tar.bz2
Don't call set_gdbarch_cannot_step_breakpoint in aarch64_gdbarch_init
Hi, I am looking at the following fails in aarch64-linux, stepi^M 47 NOP; /* after permanent bp */^M (gdb) FAIL: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: stepi signal with handler: single-step to handler the test expects GDB single step into signal handler, but GDB doesn't. The code in infrun.c:resume /* Most targets can step a breakpoint instruction, thus executing it normally. But if this one cannot, just continue and we will hit it anyway. */ if (gdbarch_cannot_step_breakpoint (gdbarch)) step = 0; change the intended action from "step" to "continue". The gdbarch method cannot_step_breakpoint isn't documented well, and I don't get much clue after explore the history. However, from the comments above, aarch64-linux can step a breakpoint instruction, so don't need to call set_gdbarch_cannot_step_breakpoint. gdb: 2015-03-20 Yao Qi <yao.qi@linaro.org> * aarch64-tdep.c (aarch64_gdbarch_init): Don't call set_gdbarch_cannot_step_breakpoint.
Diffstat (limited to 'gdb/aarch64-tdep.c')
-rw-r--r--gdb/aarch64-tdep.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index 472ce70..ddc9022 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -2698,7 +2698,6 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Breakpoint manipulation. */
set_gdbarch_breakpoint_from_pc (gdbarch, aarch64_breakpoint_from_pc);
- set_gdbarch_cannot_step_breakpoint (gdbarch, 1);
set_gdbarch_have_nonsteppable_watchpoint (gdbarch, 1);
set_gdbarch_software_single_step (gdbarch, aarch64_software_single_step);