diff options
author | Yao Qi <yao.qi@linaro.org> | 2015-08-25 11:38:29 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2015-08-25 11:39:13 +0100 |
commit | 88e2cf7ee25c72bce35ebe59b13c9701abce9fee (patch) | |
tree | 9296376dd4d1e025338ee023963310c448f995c6 /gdb | |
parent | 5e35436ed12617494d2a2d190e0faca5613a2e9f (diff) | |
download | gdb-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')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/linux-aarch64-low.c | 21 |
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]); |