aboutsummaryrefslogtreecommitdiff
path: root/gdb/nbsd-nat.h
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2020-07-26 14:10:56 +0200
committerKamil Rytarowski <n54@gmx.com>2020-07-28 18:12:59 +0200
commit4d46f40270b16070398412bc02a512143380814c (patch)
treeac62a1f14be4cc8751cedbd445ea8c64716fcbe6 /gdb/nbsd-nat.h
parent377170fa319d39d5442b674fc978adc8f24db5e9 (diff)
downloadgdb-4d46f40270b16070398412bc02a512143380814c.zip
gdb-4d46f40270b16070398412bc02a512143380814c.tar.gz
gdb-4d46f40270b16070398412bc02a512143380814c.tar.bz2
Implement xfer_partial TARGET_OBJECT_SIGNAL_INFO for NetBSD
NetBSD implements reading and overwriting siginfo_t received by the tracee. With TARGET_OBJECT_SIGNAL_INFO signal information can be examined and modified through the special variable $_siginfo. Implement the "get_siginfo_type" gdbarch method for NetBSD architectures. As with Linux architectures, cache the created type in the gdbarch when it is first created. Currently NetBSD uses an identical siginfo type on all architectures, so there is no support for architecture-specific fields. gdb/ChangeLog: * nbsd-nat.h (nbsd_nat_target::xfer_partial): New declaration. * nbsd-nat.c (nbsd_nat_target::xfer_partial): New function. * nbsd-tdep.c (nbsd_gdbarch_data_handle, struct nbsd_gdbarch_data) (init_nbsd_gdbarch_data, get_nbsd_gdbarch_data) (nbsd_get_siginfo_type): New. (nbsd_init_abi): Install gdbarch "get_siginfo_type" method. (_initialize_nbsd_tdep): New
Diffstat (limited to 'gdb/nbsd-nat.h')
-rw-r--r--gdb/nbsd-nat.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/nbsd-nat.h b/gdb/nbsd-nat.h
index 0a7048e..665a71a 100644
--- a/gdb/nbsd-nat.h
+++ b/gdb/nbsd-nat.h
@@ -49,6 +49,12 @@ struct nbsd_nat_target : public inf_ptrace_target
override;
bool supports_multi_process () override;
+ enum target_xfer_status xfer_partial (enum target_object object,
+ const char *annex,
+ gdb_byte *readbuf,
+ const gdb_byte *writebuf,
+ ULONGEST offset, ULONGEST len,
+ ULONGEST *xfered_len) override;
};
#endif /* nbsd-nat.h */