diff options
author | Yao Qi <yao.qi@linaro.org> | 2015-04-16 13:48:10 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2015-04-16 13:48:10 +0100 |
commit | 8550d3b32f4ac17bdb9e4768bb905da181b77ded (patch) | |
tree | 3303973717852fa89065f5c04974bbac18a3dcce /gas | |
parent | af9fd6f863c9f184e2c84d8a4707b3ec7b8ca67b (diff) | |
download | gdb-8550d3b32f4ac17bdb9e4768bb905da181b77ded.zip gdb-8550d3b32f4ac17bdb9e4768bb905da181b77ded.tar.gz gdb-8550d3b32f4ac17bdb9e4768bb905da181b77ded.tar.bz2 |
Honour software single step in fallback of displaced stepping
Hi,
When I run gdb.threads/non-stop-fair-events.exp on arm-linux target,
I see the following message in the debugging log,
displaced: breakpoint is gone: Thread 22518, step(1)^M
Sending packet: $vCont;s:p57f3.57f6#9d...
^^^^^^^^^
GDB sends vCont;s by mistake, and GDBserver fails on assert. GDB
doesn't consider software single step in infrun.c:displaced_step_fixup,
/* Go back to what we were trying to do. */
step = currently_stepping (tp);
if (debug_displaced)
fprintf_unfiltered (gdb_stdlog,
"displaced: breakpoint is gone: %s, step(%d)\n",
target_pid_to_str (tp->ptid), step);
target_resume (ptid, step, GDB_SIGNAL_0);
The patch is to let GDB consider software single step here. It fixes
fails in gdb.threads/non-stop-fair-events.exp on arm.
gdb:
2015-04-16 Yao Qi <yao.qi@linaro.org>
* infrun.c (maybe_software_singlestep): Declare.
(displaced_step_fixup): Call maybe_software_singlestep.
Diffstat (limited to 'gas')
0 files changed, 0 insertions, 0 deletions