This is the mail archive of the
gdb-testers@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Don't call set_gdbarch_cannot_step_breakpoint in aarch64_gdbarch_init
- From: sergiodj+buildbot at redhat dot com
- To: gdb-testers at sourceware dot org
- Date: Fri, 20 Mar 2015 06:27:37 -0400
- Subject: [binutils-gdb] Don't call set_gdbarch_cannot_step_breakpoint in aarch64_gdbarch_init
- Authentication-results: sourceware.org; auth=none
*** TEST RESULTS FOR COMMIT e8ffc436d9d849eed52af64568d9f37aeaddbd9e ***
Author: Yao Qi <yao.qi@linaro.org>
Branch: master
Commit: e8ffc436d9d849eed52af64568d9f37aeaddbd9e
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.