diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-07-21 12:12:18 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-07-21 12:12:18 +0100 |
commit | bec903c96bc5119e357b4ad2cab99bbee7de628e (patch) | |
tree | 52884d4f74f3a7fe441e815a25ccca4d63142873 /gdb/gdbserver/ChangeLog | |
parent | 63c40ec727109e2bb2956ab95968350df00c1aa1 (diff) | |
download | gdb-bec903c96bc5119e357b4ad2cab99bbee7de628e.zip gdb-bec903c96bc5119e357b4ad2cab99bbee7de628e.tar.gz gdb-bec903c96bc5119e357b4ad2cab99bbee7de628e.tar.bz2 |
Make reinsert_breakpoint thread specific
This patch makes reinsert_breakpoint thread specific, which means we
insert and remove reinsert_breakpoint breakpoints for a specific
thread. This motivation of this change is that I'll use
reinsert_breakpoint for vCont;s on software single step target, so that
GDBserver may insert one reinsert_breakpoint for one thread doing
step-over, and insert one reinsert_breakpoint for another thread doing
vCont;s. After the operation of one thread is finished, GDBserver must
remove reinsert_breakpoint for that thread only.
On the other hand, reinsert_breakpoint is used for step-over nowadays.
GDBserver inserts reinsert_breakpoint, and wait only from the thread
doing step-over. After the step-over is done, GDBserver removes the
reinsert_breakpoint. If there is still any threads need step-over, do
the same again until all threads are finished step-over. In other words,
reinsert_breakpoint is globally thread specific, but in an implicit way.
It is natural to make it explicitly thread specific.
gdb/gdbserver:
2016-07-21 Yao Qi <yao.qi@linaro.org>
* mem-break.c (struct reinsert_breakpoint) <ptid>: New field.
(set_reinsert_breakpoint): New parameter ptid. Callers updated.
(clone_one_breakpoint): Likewise.
(delete_reinsert_breakpoints): Change parameter to thread.
Callers updated.
(has_reinsert_breakpoints): Likewise.
(uninsert_reinsert_breakpoints): Likewise.
(reinsert_reinsert_breakpoints): Likewise.
* mem-break.h (set_reinsert_breakpoint): Update declaration.
(delete_reinsert_breakpoints): Likewise.
(reinsert_reinsert_breakpoints): Likewise.
(uninsert_reinsert_breakpoints): Likewise.
(has_reinsert_breakpoints): Likewise.
Diffstat (limited to 'gdb/gdbserver/ChangeLog')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index c440d66..b5e9c96 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,5 +1,21 @@ 2016-07-21 Yao Qi <yao.qi@linaro.org> + * mem-break.c (struct reinsert_breakpoint) <ptid>: New field. + (set_reinsert_breakpoint): New parameter ptid. Callers updated. + (clone_one_breakpoint): Likewise. + (delete_reinsert_breakpoints): Change parameter to thread. + Callers updated. + (has_reinsert_breakpoints): Likewise. + (uninsert_reinsert_breakpoints): Likewise. + (reinsert_reinsert_breakpoints): Likewise. + * mem-break.h (set_reinsert_breakpoint): Update declaration. + (delete_reinsert_breakpoints): Likewise. + (reinsert_reinsert_breakpoints): Likewise. + (uninsert_reinsert_breakpoints): Likewise. + (has_reinsert_breakpoints): Likewise. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + * inferiors.c (get_thread_process): Make parameter const. * inferiors.h (get_thread_process): Update declaration. * mem-break.c (clone_all_breakpoints): Remove all parameters. |