This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 1/2] [GDBserver] Use regcache_read_pc in install_software_single_step_breakpoints
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 15 Jan 2016 09:57:28 +0000
- Subject: [PATCH 1/2] [GDBserver] Use regcache_read_pc in install_software_single_step_breakpoints
- Authentication-results: sourceware.org; auth=none
- References: <1452851849-24127-1-git-send-email-yao dot qi at linaro dot org>
In install_software_single_step_breakpoints, we've got the regcache
of current_thread, so we don't have to bother get_pc to get pc,
instead we can get pc from regcache directly. Note that the callers
of install_software_single_step_breakpoints have already switched
current_thread to LWP.
Since the pc is got from regcache_read_pc, in the next patch, we can
get pc inside the implementation of *the_low_target.get_next_pcs and
stop passing pc to *the_low_target.get_next_pcs.
gdb/gdbserver:
2016-01-15 Yao Qi <yao.qi@linaro.org>
* linux-low.c (install_software_single_step_breakpoints): Call
regcache_read_pc instead of get_pc.
---
gdb/gdbserver/linux-low.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 6082d66..9f194c7 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -4107,7 +4107,8 @@ install_software_single_step_breakpoints (struct lwp_info *lwp)
VEC (CORE_ADDR) *next_pcs = NULL;
struct cleanup *old_chain = make_cleanup (VEC_cleanup (CORE_ADDR), &next_pcs);
- pc = get_pc (lwp);
+ pc = regcache_read_pc (regcache);
+
next_pcs = (*the_low_target.get_next_pcs) (pc, regcache);
for (i = 0; VEC_iterate (CORE_ADDR, next_pcs, i, pc); ++i)
--
1.9.1