gdb: Implement native dumpcore function for NetBSD

Define supports_dumpcore and dumpcore for NetBSD, that wraps
the ptrace(2) call with the PT_DUMPCORE operation.

gdb/ChangeLog:

       * nbsd-nat.h (nbsd_nat_target::supports_dumpcore)
       (nbsd_nat_target::dumpcore): New declarations.
       * nbsd-nat.c (nbsd_nat_target::supports_dumpcore)
       (nbsd_nat_target::dumpcore): New functions.
This commit is contained in:
Kamil Rytarowski
2020-08-13 19:29:13 +02:00
parent b31488a344
commit a6e6223e9a
2 changed files with 22 additions and 0 deletions

View File

@@ -890,3 +890,23 @@ nbsd_nat_target::xfer_partial (enum target_object object,
len, xfered_len);
}
}
/* Implement the "supports_dumpcore" target_ops method. */
bool
nbsd_nat_target::supports_dumpcore ()
{
return true;
}
/* Implement the "dumpcore" target_ops method. */
void
nbsd_nat_target::dumpcore (const char *filename)
{
pid_t pid = inferior_ptid.pid ();
if (ptrace (PT_DUMPCORE, pid, const_cast<char *>(filename),
strlen (filename)) == -1)
perror_with_name (("ptrace"));
}

View File

@@ -55,6 +55,8 @@ struct nbsd_nat_target : public inf_ptrace_target
const gdb_byte *writebuf,
ULONGEST offset, ULONGEST len,
ULONGEST *xfered_len) override;
bool supports_dumpcore () override;
void dumpcore (const char *filename) override;
};
#endif /* nbsd-nat.h */