aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2015-08-25 11:38:29 +0100
committerYao Qi <yao.qi@linaro.org>2015-08-25 11:39:13 +0100
commit88e2cf7ee25c72bce35ebe59b13c9701abce9fee (patch)
tree9296376dd4d1e025338ee023963310c448f995c6 /gdb/gdbserver
parent5e35436ed12617494d2a2d190e0faca5613a2e9f (diff)
downloadgdb-88e2cf7ee25c72bce35ebe59b13c9701abce9fee.zip
gdb-88e2cf7ee25c72bce35ebe59b13c9701abce9fee.tar.gz
gdb-88e2cf7ee25c72bce35ebe59b13c9701abce9fee.tar.bz2
Add pid argument in aarch64_get_debug_reg_state
This patch addes argument pid in aarch64_get_debug_reg_state, so that its interface is the same on both GDB and GDBserver. gdb/gdbserver: 2015-018-25 Yao Qi <yao.qi@linaro.org> * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid. Find proc_info by find_process_pid. All callers updated.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/linux-aarch64-low.c21
2 files changed, 16 insertions, 10 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index de56e19..39966b8 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,10 @@
2015-08-25 Yao Qi <yao.qi@linaro.org>
+ * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
+ Find proc_info by find_process_pid. All callers updated.
+
+2015-08-25 Yao Qi <yao.qi@linaro.org>
+
* linux-aarch64-low.c (struct arch64_dr_update_callback_param):
Remove.
(debug_reg_change_callback): Remove.
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
index 3968aee..421dcb9 100644
--- a/gdb/gdbserver/linux-aarch64-low.c
+++ b/gdb/gdbserver/linux-aarch64-low.c
@@ -238,11 +238,10 @@ aarch64_init_debug_reg_state (struct aarch64_debug_reg_state *state)
current process' arch-specific data area. */
static struct aarch64_debug_reg_state *
-aarch64_get_debug_reg_state ()
+aarch64_get_debug_reg_state (pid_t pid)
{
- struct process_info *proc;
+ struct process_info *proc = find_process_pid (pid);
- proc = current_process ();
return &proc->priv->arch_private->debug_reg_state;
}
@@ -291,7 +290,8 @@ aarch64_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
{
int ret;
enum target_hw_bp_type targ_type;
- struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
+ struct aarch64_debug_reg_state *state
+ = aarch64_get_debug_reg_state (pid_of (current_thread));
if (show_debug_regs)
fprintf (stderr, "insert_point on entry (addr=0x%08lx, len=%d)\n",
@@ -310,8 +310,8 @@ aarch64_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
state);
if (show_debug_regs)
- aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
- "insert_point", addr, len, targ_type);
+ aarch64_show_debug_reg_state (state, "insert_point", addr, len,
+ targ_type);
return ret;
}
@@ -327,7 +327,8 @@ aarch64_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
{
int ret;
enum target_hw_bp_type targ_type;
- struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
+ struct aarch64_debug_reg_state *state
+ = aarch64_get_debug_reg_state (pid_of (current_thread));
if (show_debug_regs)
fprintf (stderr, "remove_point on entry (addr=0x%08lx, len=%d)\n",
@@ -347,8 +348,8 @@ aarch64_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
state);
if (show_debug_regs)
- aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
- "remove_point", addr, len, targ_type);
+ aarch64_show_debug_reg_state (state, "remove_point", addr, len,
+ targ_type);
return ret;
}
@@ -374,7 +375,7 @@ aarch64_stopped_data_address (void)
return (CORE_ADDR) 0;
/* Check if the address matches any watched address. */
- state = aarch64_get_debug_reg_state ();
+ state = aarch64_get_debug_reg_state (pid_of (current_thread));
for (i = aarch64_num_wp_regs - 1; i >= 0; --i)
{
const unsigned int len = aarch64_watchpoint_length (state->dr_ctrl_wp[i]);