[PATCH 0/8] Use reinsert breakpoint for vCont;s

Yao Qi
2016-05-20T15:12:55Z

Nowadays, reinsert breakpoint is used in GDBserver to step over a
breakpoint. I want to use it to handle vCont;s too. The idea is that
when GDBserver receives resume_step request from GDB, use the software
single step logic, insert reinsert_breakpoint on the next pcs, and
resume the thread. This means we have multiple reinsert_breakpoints
for different threads for either step-over or vCont;s. Patch #6 makes
reinsert breakpoints thread specific, patch #7 does the major thing,
and patch #8 claims supporting vCont;s with software single step.

Patch #1 and #2 fixes the existing bugs. Patch #3, #4, and #5 refactor
the code.

The whole series are tested on arm-linux, aarch64-linux and
x86_64-linux.

*** BLURB HERE ***

Yao Qi (8):
Switch to current thread before finish_step_over
Delete reinsert breakpoints from forked child
Pass breakpoint type in set_breakpoint_at
Create sub classes of 'struct breakpoint'
Refactor clone_all_breakpoints
Make reinsert_breakpoint thread specific
Use reinsert_breakpoint for vCont;s
[GDBserver] Support vCont s and S actions with software single step

gdb/gdbserver/linux-low.c | 180 ++++++++++++++++++++++++++--
gdb/gdbserver/mem-break.c | 293 +++++++++++++++++++++++++++++++++-------------
gdb/gdbserver/mem-break.h | 35 +++---
gdb/gdbserver/server.c | 17 +--
4 files changed, 412 insertions(+), 113 deletions(-)

--
1.9.1