diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e4b1e5e091f..cae93e8dd2f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-03-17 Simon Marchi + + * hppa-linux-nat.c (fetch_register, store_register): Use ptid + from regcache. Use get_ptrace_pid. + 2017-03-17 Simon Marchi * corelow.c (get_core_register_section): Use ptid from regcache, diff --git a/gdb/hppa-linux-nat.c b/gdb/hppa-linux-nat.c index 17d9ced9e5c..c8eb93c51c0 100644 --- a/gdb/hppa-linux-nat.c +++ b/gdb/hppa-linux-nat.c @@ -23,6 +23,7 @@ #include "inferior.h" #include "target.h" #include "linux-nat.h" +#include "inf-ptrace.h" #include #include "nat/gdb_ptrace.h" @@ -213,7 +214,7 @@ static void fetch_register (struct regcache *regcache, int regno) { struct gdbarch *gdbarch = get_regcache_arch (regcache); - int tid; + pid_t tid; int val; if (gdbarch_cannot_fetch_register (gdbarch, regno)) @@ -222,10 +223,7 @@ fetch_register (struct regcache *regcache, int regno) return; } - /* GNU/Linux LWP ID's are process ID's. */ - tid = ptid_get_lwp (inferior_ptid); - if (tid == 0) - tid = ptid_get_pid (inferior_ptid); /* Not a threaded program. */ + tid = get_ptrace_pid (regcache_get_ptid (regcache)); errno = 0; val = ptrace (PTRACE_PEEKUSER, tid, hppa_linux_register_addr (regno, 0), 0); @@ -243,16 +241,13 @@ static void store_register (const struct regcache *regcache, int regno) { struct gdbarch *gdbarch = get_regcache_arch (regcache); - int tid; + pid_t tid; int val; if (gdbarch_cannot_store_register (gdbarch, regno)) return; - /* GNU/Linux LWP ID's are process ID's. */ - tid = ptid_get_lwp (inferior_ptid); - if (tid == 0) - tid = ptid_get_pid (inferior_ptid); /* Not a threaded program. */ + tid = get_ptrace_pid (regcache_get_ptid (regcache)); errno = 0; regcache_raw_collect (regcache, regno, &val);