aboutsummaryrefslogtreecommitdiff
path: root/gdb/proc-service.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/proc-service.c')
-rw-r--r--gdb/proc-service.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/gdb/proc-service.c b/gdb/proc-service.c
index 8afa667..04867d2 100644
--- a/gdb/proc-service.c
+++ b/gdb/proc-service.c
@@ -21,6 +21,7 @@
#include "gdbcore.h"
#include "inferior.h"
+#include "gdbthread.h"
#include "symtab.h"
#include "target.h"
#include "regcache.h"
@@ -73,7 +74,7 @@ ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr,
int ret;
CORE_ADDR core_addr = ps_addr_to_core_addr (addr);
- inferior_ptid = ph->ptid;
+ inferior_ptid = ph->thread->ptid;
if (write)
ret = target_write_memory (core_addr, buf, len);
@@ -92,7 +93,7 @@ ps_err_e
ps_pglobal_lookup (struct ps_prochandle *ph, const char *obj,
const char *name, psaddr_t *sym_addr)
{
- struct inferior *inf = find_inferior_ptid (ph->ptid);
+ inferior *inf = ph->thread->inf;
scoped_restore_current_program_space restore_pspace;
@@ -131,9 +132,7 @@ ps_pdwrite (struct ps_prochandle *ph, psaddr_t addr,
ps_err_e
ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset)
{
- ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
- struct regcache *regcache
- = get_thread_arch_regcache (ptid, target_gdbarch ());
+ struct regcache *regcache = get_thread_regcache (ph->thread);
target_fetch_registers (regcache, -1);
fill_gregset (regcache, (gdb_gregset_t *) gregset, -1);
@@ -147,9 +146,7 @@ ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset)
ps_err_e
ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid, const prgregset_t gregset)
{
- ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
- struct regcache *regcache
- = get_thread_arch_regcache (ptid, target_gdbarch ());
+ struct regcache *regcache = get_thread_regcache (ph->thread);
supply_gregset (regcache, (const gdb_gregset_t *) gregset);
target_store_registers (regcache, -1);
@@ -163,9 +160,7 @@ ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid, const prgregset_t gregset)
ps_err_e
ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, gdb_prfpregset_t *fpregset)
{
- ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
- struct regcache *regcache
- = get_thread_arch_regcache (ptid, target_gdbarch ());
+ struct regcache *regcache = get_thread_regcache (ph->thread);
target_fetch_registers (regcache, -1);
fill_fpregset (regcache, (gdb_fpregset_t *) fpregset, -1);
@@ -180,9 +175,7 @@ ps_err_e
ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
const gdb_prfpregset_t *fpregset)
{
- ptid_t ptid = ptid_build (ptid_get_pid (ph->ptid), lwpid, 0);
- struct regcache *regcache
- = get_thread_arch_regcache (ptid, target_gdbarch ());
+ struct regcache *regcache = get_thread_regcache (ph->thread);
supply_fpregset (regcache, (const gdb_fpregset_t *) fpregset);
target_store_registers (regcache, -1);
@@ -196,7 +189,7 @@ ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
pid_t
ps_getpid (struct ps_prochandle *ph)
{
- return ptid_get_pid (ph->ptid);
+ return ptid_get_pid (ph->thread->ptid);
}
void