mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 21:41:47 +08:00
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.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
2015-08-25 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
* linux-aarch64-low.c (struct arch64_dr_update_callback_param):
|
* linux-aarch64-low.c (struct arch64_dr_update_callback_param):
|
||||||
|
@ -238,11 +238,10 @@ aarch64_init_debug_reg_state (struct aarch64_debug_reg_state *state)
|
|||||||
current process' arch-specific data area. */
|
current process' arch-specific data area. */
|
||||||
|
|
||||||
static struct aarch64_debug_reg_state *
|
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;
|
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;
|
int ret;
|
||||||
enum target_hw_bp_type targ_type;
|
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)
|
if (show_debug_regs)
|
||||||
fprintf (stderr, "insert_point on entry (addr=0x%08lx, len=%d)\n",
|
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);
|
state);
|
||||||
|
|
||||||
if (show_debug_regs)
|
if (show_debug_regs)
|
||||||
aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
|
aarch64_show_debug_reg_state (state, "insert_point", addr, len,
|
||||||
"insert_point", addr, len, targ_type);
|
targ_type);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -327,7 +327,8 @@ aarch64_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
enum target_hw_bp_type targ_type;
|
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)
|
if (show_debug_regs)
|
||||||
fprintf (stderr, "remove_point on entry (addr=0x%08lx, len=%d)\n",
|
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);
|
state);
|
||||||
|
|
||||||
if (show_debug_regs)
|
if (show_debug_regs)
|
||||||
aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
|
aarch64_show_debug_reg_state (state, "remove_point", addr, len,
|
||||||
"remove_point", addr, len, targ_type);
|
targ_type);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -374,7 +375,7 @@ aarch64_stopped_data_address (void)
|
|||||||
return (CORE_ADDR) 0;
|
return (CORE_ADDR) 0;
|
||||||
|
|
||||||
/* Check if the address matches any watched address. */
|
/* 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)
|
for (i = aarch64_num_wp_regs - 1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
const unsigned int len = aarch64_watchpoint_length (state->dr_ctrl_wp[i]);
|
const unsigned int len = aarch64_watchpoint_length (state->dr_ctrl_wp[i]);
|
||||||
|
Reference in New Issue
Block a user