This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 07/10] hppa-obsd-nat: Use ptid from regcache instead of inferior_ptid
- From: Simon Marchi <simon dot marchi at polymtl dot ca>
- To: gdb-patches at sourceware dot org
- Cc: Simon Marchi <simon dot marchi at polymtl dot ca>
- Date: Mon, 13 Mar 2017 23:18:16 -0400
- Subject: [PATCH 07/10] hppa-obsd-nat: Use ptid from regcache instead of inferior_ptid
- Authentication-results: sourceware.org; auth=none
- References: <20170314031819.745-1-simon.marchi@polymtl.ca>
gdb/ChangeLog:
* hppa-obsd-nat.c (hppaobsd_fetch_registers,
hppaobsd_store_registers): Use ptid from regcache.
---
gdb/hppa-obsd-nat.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/gdb/hppa-obsd-nat.c b/gdb/hppa-obsd-nat.c
index 66af86b0f7..7a255c9953 100644
--- a/gdb/hppa-obsd-nat.c
+++ b/gdb/hppa-obsd-nat.c
@@ -189,12 +189,13 @@ static void
hppaobsd_fetch_registers (struct target_ops *ops,
struct regcache *regcache, int regnum)
{
+ pid_t pid = ptid_get_pid (regcache_get_ptid (regcache));
+
if (regnum == -1 || hppaobsd_gregset_supplies_p (regnum))
{
struct reg regs;
- if (ptrace (PT_GETREGS, ptid_get_pid (inferior_ptid),
- (PTRACE_TYPE_ARG3) ®s, 0) == -1)
+ if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) == -1)
perror_with_name (_("Couldn't get registers"));
hppaobsd_supply_gregset (regcache, ®s);
@@ -204,8 +205,7 @@ hppaobsd_fetch_registers (struct target_ops *ops,
{
struct fpreg fpregs;
- if (ptrace (PT_GETFPREGS, ptid_get_pid (inferior_ptid),
- (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
+ if (ptrace (PT_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't get floating point status"));
hppaobsd_supply_fpregset (regcache, &fpregs);
@@ -223,14 +223,12 @@ hppaobsd_store_registers (struct target_ops *ops,
{
struct reg regs;
- if (ptrace (PT_GETREGS, ptid_get_pid (inferior_ptid),
- (PTRACE_TYPE_ARG3) ®s, 0) == -1)
+ if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) == -1)
perror_with_name (_("Couldn't get registers"));
hppaobsd_collect_gregset (regcache, ®s, regnum);
- if (ptrace (PT_SETREGS, ptid_get_pid (inferior_ptid),
- (PTRACE_TYPE_ARG3) ®s, 0) == -1)
+ if (ptrace (PT_SETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) == -1)
perror_with_name (_("Couldn't write registers"));
}
@@ -238,14 +236,12 @@ hppaobsd_store_registers (struct target_ops *ops,
{
struct fpreg fpregs;
- if (ptrace (PT_GETFPREGS, ptid_get_pid (inferior_ptid),
- (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
+ if (ptrace (PT_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't get floating point status"));
hppaobsd_collect_fpregset (regcache, &fpregs, regnum);
- if (ptrace (PT_SETFPREGS, ptid_get_pid (inferior_ptid),
- (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
+ if (ptrace (PT_SETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't write floating point status"));
}
}
--
2.12.0