aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2015-03-24 14:05:43 +0000
committerGary Benson <gbenson@redhat.com>2015-03-24 14:05:43 +0000
commit7b6690874fa3a8afacd731b70a461d55a5b1311c (patch)
tree9812e8a6063beb1c5a99a5524879d78f291f69dc /gdb/gdbserver
parent15630549010233e9d0f0b1971d27e121cd74bdd0 (diff)
downloadgdb-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/gdbserver')
-rw-r--r--gdb/gdbserver/ChangeLog8
-rw-r--r--gdb/gdbserver/linux-low.c8
-rw-r--r--gdb/gdbserver/linux-x86-low.c13
3 files changed, 20 insertions, 9 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index c41ca38..3e51d94 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,11 @@
+2015-03-24 Gary Benson <gbenson@redhat.com>
+
+ * 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.
+
2015-03-20 Pedro Alves <palves@redhat.com>
* tracepoint.c (cmd_qtstatus): Make "str" const.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 0c54115..7a12b4f 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -6218,6 +6218,14 @@ linux_low_btrace_conf (const struct btrace_target_info *tinfo,
}
#endif /* HAVE_LINUX_BTRACE */
+/* See nat/linux-nat.h. */
+
+ptid_t
+current_lwp_ptid (void)
+{
+ return ptid_of (current_thread);
+}
+
static struct target_ops linux_target_ops = {
linux_create_inferior,
linux_attach,
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index 72478d8..66dfc5d 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -37,6 +37,7 @@
#include "tdesc.h"
#include "tracepoint.h"
#include "ax.h"
+#include "nat/linux-nat.h"
#ifdef __x86_64__
/* Defined in auto-generated file amd64-linux.c. */
@@ -615,11 +616,9 @@ x86_dr_low_set_addr (int regnum, CORE_ADDR addr)
static CORE_ADDR
x86_dr_low_get_addr (int regnum)
{
- ptid_t ptid = ptid_of (current_thread);
-
gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
- return x86_linux_dr_get (ptid, regnum);
+ return x86_linux_dr_get (current_lwp_ptid (), regnum);
}
/* Update the inferior's DR7 debug control register from STATE. */
@@ -638,9 +637,7 @@ x86_dr_low_set_control (unsigned long control)
static unsigned long
x86_dr_low_get_control (void)
{
- ptid_t ptid = ptid_of (current_thread);
-
- return x86_linux_dr_get (ptid, DR_CONTROL);
+ return x86_linux_dr_get (current_lwp_ptid (), DR_CONTROL);
}
/* Get the value of the DR6 debug status register from the inferior
@@ -649,9 +646,7 @@ x86_dr_low_get_control (void)
static unsigned long
x86_dr_low_get_status (void)
{
- ptid_t ptid = ptid_of (current_thread);
-
- return x86_linux_dr_get (ptid, DR_STATUS);
+ return x86_linux_dr_get (current_lwp_ptid (), DR_STATUS);
}
/* Low-level function vector. */