From 7b6690874fa3a8afacd731b70a461d55a5b1311c Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Tue, 24 Mar 2015 14:05:43 +0000 Subject: Introduce current_lwp_ptid This commit introduces a new function, current_lwp_ptid, that shared Linux code can use to obtain the ptid of the current lightweight process. gdb/ChangeLog: * nat/linux-nat.h (current_lwp_ptid): New declaration. * linux-nat.c (current_lwp_ptid): New function. * x86-linux-nat.c: Include nat/linux-nat.h. (x86_linux_dr_get_addr): Use current_lwp_ptid. (x86_linux_dr_get_control): Likewise. (x86_linux_dr_get_status): Likewise. (x86_linux_dr_set_control): Likewise. (x86_linux_dr_set_addr): Likewise. gdb/gdbserver/ChangeLog: * linux-low.c (current_lwp_ptid): New function. * linux-x86-low.c: Include nat/linux-nat.h. (x86_dr_low_get_addr): Use current_lwp_ptid. (x86_dr_low_get_control): Likewise. (x86_dr_low_get_status): Likewise. --- gdb/x86-linux-nat.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'gdb/x86-linux-nat.c') diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c index 26ae0b8..7e45110 100644 --- a/gdb/x86-linux-nat.c +++ b/gdb/x86-linux-nat.c @@ -38,6 +38,7 @@ #endif #include "x86-xstate.h" #include "nat/linux-btrace.h" +#include "nat/linux-nat.h" /* Per-thread arch-specific data we want to keep. */ @@ -107,7 +108,7 @@ x86_linux_dr_get_addr (int regnum) /* DR6 and DR7 are retrieved with some other way. */ gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR); - return x86_linux_dr_get (inferior_ptid, regnum); + return x86_linux_dr_get (current_lwp_ptid (), regnum); } /* Return the inferior's DR7 debug control register. */ @@ -115,7 +116,7 @@ x86_linux_dr_get_addr (int regnum) static unsigned long x86_linux_dr_get_control (void) { - return x86_linux_dr_get (inferior_ptid, DR_CONTROL); + return x86_linux_dr_get (current_lwp_ptid (), DR_CONTROL); } /* Get DR_STATUS from only the one LWP of INFERIOR_PTID. */ @@ -123,7 +124,7 @@ x86_linux_dr_get_control (void) static unsigned long x86_linux_dr_get_status (void) { - return x86_linux_dr_get (inferior_ptid, DR_STATUS); + return x86_linux_dr_get (current_lwp_ptid (), DR_STATUS); } /* Callback for iterate_over_lwps. Update the debug registers of @@ -153,7 +154,7 @@ update_debug_registers_callback (struct lwp_info *lwp, void *arg) static void x86_linux_dr_set_control (unsigned long control) { - ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid)); + ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ())); iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL); } @@ -164,7 +165,7 @@ x86_linux_dr_set_control (unsigned long control) static void x86_linux_dr_set_addr (int regnum, CORE_ADDR addr) { - ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid)); + ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ())); gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR); -- cgit v1.1