Introduce x86_linux_update_debug_registers
This commit moves the entire body of both GDB's and gdbserver's x86_linux_prepare_to_resume functions into new functions, x86_linux_update_debug_registers. This reorganisation allows all Linux x86 low-level debug register code to be placed in one shared file, separate from general Linux x86 shared code. gdb/ChangeLog: * x86-linux-nat.c (x86_linux_update_debug_registers): New function, factored out from... (x86_linux_prepare_to_resume): ...this. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_linux_update_debug_registers): New function, factored out from... (x86_linux_prepare_to_resume): ...this.
This commit is contained in:
parent
14b0bc68e8
commit
2b95d44038
@ -1,3 +1,9 @@
|
||||
2015-03-24 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* x86-linux-nat.c (x86_linux_update_debug_registers):
|
||||
New function, factored out from...
|
||||
(x86_linux_prepare_to_resume): ...this.
|
||||
|
||||
2015-03-24 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* x86-linux-nat.c (x86_linux_dr_get): Update comments.
|
||||
|
@ -1,3 +1,9 @@
|
||||
2015-03-24 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* linux-x86-low.c (x86_linux_update_debug_registers):
|
||||
New function, factored out from...
|
||||
(x86_linux_prepare_to_resume): ...this.
|
||||
|
||||
2015-03-24 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* linux-x86-low.c (x86_linux_dr_get): Update comments.
|
||||
|
@ -776,15 +776,17 @@ x86_debug_reg_state (pid_t pid)
|
||||
return &proc->priv->arch_private->debug_reg_state;
|
||||
}
|
||||
|
||||
/* Called prior to resuming a thread. Updates the thread's debug
|
||||
registers if the values in our local mirror have been changed. */
|
||||
/* Update the thread's debug registers if the values in our local
|
||||
mirror have been changed. */
|
||||
|
||||
static void
|
||||
x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
||||
x86_linux_update_debug_registers (struct lwp_info *lwp)
|
||||
{
|
||||
ptid_t ptid = ptid_of_lwp (lwp);
|
||||
int clear_status = 0;
|
||||
|
||||
gdb_assert (lwp_is_stopped (lwp));
|
||||
|
||||
if (lwp_debug_registers_changed (lwp))
|
||||
{
|
||||
struct x86_debug_reg_state *state
|
||||
@ -821,6 +823,14 @@ x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
||||
|| lwp_stop_reason (lwp) == TARGET_STOPPED_BY_WATCHPOINT)
|
||||
x86_linux_dr_set (ptid, DR_STATUS, 0);
|
||||
}
|
||||
|
||||
/* Called prior to resuming a thread. */
|
||||
|
||||
static void
|
||||
x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
||||
{
|
||||
x86_linux_update_debug_registers (lwp);
|
||||
}
|
||||
|
||||
/* When GDBSERVER is built as a 64-bit application on linux, the
|
||||
PTRACE_GETSIGINFO data is always presented in 64-bit layout. Since
|
||||
|
@ -171,15 +171,17 @@ x86_linux_dr_set_addr (int regnum, CORE_ADDR addr)
|
||||
iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
|
||||
}
|
||||
|
||||
/* Called prior to resuming a thread. Updates the thread's debug
|
||||
registers if the values in our local mirror have been changed. */
|
||||
/* Update the thread's debug registers if the values in our local
|
||||
mirror have been changed. */
|
||||
|
||||
static void
|
||||
x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
||||
x86_linux_update_debug_registers (struct lwp_info *lwp)
|
||||
{
|
||||
ptid_t ptid = ptid_of_lwp (lwp);
|
||||
int clear_status = 0;
|
||||
|
||||
gdb_assert (lwp_is_stopped (lwp));
|
||||
|
||||
if (lwp_debug_registers_changed (lwp))
|
||||
{
|
||||
struct x86_debug_reg_state *state
|
||||
@ -217,6 +219,14 @@ x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
||||
x86_linux_dr_set (ptid, DR_STATUS, 0);
|
||||
}
|
||||
|
||||
/* Called prior to resuming a thread. */
|
||||
|
||||
static void
|
||||
x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
||||
{
|
||||
x86_linux_update_debug_registers (lwp);
|
||||
}
|
||||
|
||||
/* Called when a new thread is detected. */
|
||||
|
||||
static void
|
||||
|
Loading…
x
Reference in New Issue
Block a user