diff options
author | Gary Benson <gbenson@redhat.com> | 2015-03-24 14:05:43 +0000 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2015-03-24 14:05:43 +0000 |
commit | 7b6690874fa3a8afacd731b70a461d55a5b1311c (patch) | |
tree | 9812e8a6063beb1c5a99a5524879d78f291f69dc /gdb/x86-linux-nat.c | |
parent | 15630549010233e9d0f0b1971d27e121cd74bdd0 (diff) | |
download | gdb-7b6690874fa3a8afacd731b70a461d55a5b1311c.zip gdb-7b6690874fa3a8afacd731b70a461d55a5b1311c.tar.gz gdb-7b6690874fa3a8afacd731b70a461d55a5b1311c.tar.bz2 |
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.
Diffstat (limited to 'gdb/x86-linux-nat.c')
-rw-r--r-- | gdb/x86-linux-nat.c | 11 |
1 files changed, 6 insertions, 5 deletions
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); |