Add support for NetBSD threads in sh-nbsd-nat.c
NetBSD ptrace(2) accepts thread id (LWP) as the 4th argument for threads. gdb/ChangeLog: * sh-nbsd-nat.c (fetch_registers): New variable lwp and pass it to the ptrace call. * sh-nbsd-nat.c (store_registers): Likewise.
This commit is contained in:
parent
9809762324
commit
a225c9a869
@ -1,3 +1,9 @@
|
||||
2020-03-17 Kamil Rytarowski <n54@gmx.com>
|
||||
|
||||
* sh-nbsd-nat.c (fetch_registers): New variable lwp and pass
|
||||
it to the ptrace call.
|
||||
* sh-nbsd-nat.c (store_registers): Likewise.
|
||||
|
||||
2020-03-17 Kamil Rytarowski <n54@gmx.com>
|
||||
|
||||
* sh-nbsd-nat.c (sh_nbsd_nat_target): Inherit from
|
||||
|
@ -53,13 +53,14 @@ void
|
||||
sh_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regno)
|
||||
{
|
||||
pid_t pid = regcache->ptid ().pid ();
|
||||
int lwp = regcache->ptid ().lwp ();
|
||||
|
||||
if (regno == -1 || GETREGS_SUPPLIES (regcache->arch (), regno))
|
||||
{
|
||||
struct reg inferior_registers;
|
||||
|
||||
if (ptrace (PT_GETREGS, pid,
|
||||
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
|
||||
(PTRACE_TYPE_ARG3) &inferior_registers, lwp) == -1)
|
||||
perror_with_name (_("Couldn't get registers"));
|
||||
|
||||
sh_corefile_supply_regset (&sh_corefile_gregset, regcache, regno,
|
||||
@ -75,13 +76,14 @@ void
|
||||
sh_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
|
||||
{
|
||||
pid_t pid = regcache->ptid ().pid ();
|
||||
int lwp = regcache->ptid ().lwp ();
|
||||
|
||||
if (regno == -1 || GETREGS_SUPPLIES (regcache->arch (), regno))
|
||||
{
|
||||
struct reg inferior_registers;
|
||||
|
||||
if (ptrace (PT_GETREGS, pid,
|
||||
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
|
||||
(PTRACE_TYPE_ARG3) &inferior_registers, lwp) == -1)
|
||||
perror_with_name (_("Couldn't get registers"));
|
||||
|
||||
sh_corefile_collect_regset (&sh_corefile_gregset, regcache, regno,
|
||||
@ -89,7 +91,7 @@ sh_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
|
||||
SHNBSD_SIZEOF_GREGS);
|
||||
|
||||
if (ptrace (PT_SETREGS, pid,
|
||||
(PTRACE_TYPE_ARG3) &inferior_registers, 0) == -1)
|
||||
(PTRACE_TYPE_ARG3) &inferior_registers, lwp) == -1)
|
||||
perror_with_name (_("Couldn't set registers"));
|
||||
|
||||
if (regno != -1)
|
||||
|
Loading…
Reference in New Issue
Block a user