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

Antoine Tremblay
2016-05-24T15:08:44Z

Yao Qi writes:

> 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(-)

Series LGTM. Thanks for working on this!

Antoine