aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2016-01-26 14:08:26 +0000
committerYao Qi <yao.qi@linaro.org>2016-01-26 14:08:26 +0000
commitd80209703ec2fc85e0a4b3d4d23e7ed448987aca (patch)
tree1b31158d2f588ff19385f1dcd2ef930aaf9aba19 /gdb
parent8b2073398477b33d425b0570236fe4e4222fe2c4 (diff)
downloadgdb-d80209703ec2fc85e0a4b3d4d23e7ed448987aca.zip
gdb-d80209703ec2fc85e0a4b3d4d23e7ed448987aca.tar.gz
gdb-d80209703ec2fc85e0a4b3d4d23e7ed448987aca.tar.bz2
[GDBserver] Use regcache_read_pc in install_software_single_step_breakpoints
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-26 Yao Qi <yao.qi@linaro.org> * linux-low.c (install_software_single_step_breakpoints): Call regcache_read_pc instead of get_pc.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/linux-low.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 0ba902e..8c1677d 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,10 @@
2016-01-26 Yao Qi <yao.qi@linaro.org>
+ * linux-low.c (install_software_single_step_breakpoints): Call
+ regcache_read_pc instead of get_pc.
+
+2016-01-26 Yao Qi <yao.qi@linaro.org>
+
* remote-utils.c (remote_close) [!USE_WIN32API]: Ignore SIGIO.
(unblock_async_io): Rename to ...
(block_unblock_async_io): ... it. New function.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 1f3fc08..b35b569 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -4103,7 +4103,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)