Add common write_memory and read_memory NetBSD routines
authorKamil Rytarowski <n54@gmx.com>
Wed, 7 Oct 2020 03:57:52 +0000 (05:57 +0200)
committerKamil Rytarowski <n54@gmx.com>
Wed, 7 Oct 2020 12:52:25 +0000 (14:52 +0200)
commit91e5e8db334b9a87c54f03982dfa0c88e3c9d7a1
treea46f4667d6dd8c4b099d0c06b9884c39d9c1bb56
parent9529c852664bbfc64f3ccda6abd81fc1aced6f16
Add common write_memory and read_memory NetBSD routines

Instead of sharing the native-only code with all BSDs with slightly
different semantics of the kernels, share the NetBSD-only behavior beteen
the NetBSD native and gdbserver setup.

NetBSD does not differentiate the address space I and D in the
operations (contrary to OpenBSD). NetBSD handles EACCES that integrates
with NetBSD specific PaX MPROTECT error handling.

Add a verbose message in the native client that an operation could be
cancelled due to PaX MPROTECT setup.

gdb/ChangeLog:

       * nat/netbsd-nat.c (write_memory, read_memory): Add.
       * nat/netbsd-nat.h (write_memory, read_memory): Likewise.
       * nbsd-nat.c (nbsd_nat_target::xfer_partial): Update.

gdbserver/ChangeLog:

       * netbsd-low.cc (netbsd_process_target::read_memory)
       (netbsd_process_target::write_memory): Update.
gdb/ChangeLog
gdb/nat/netbsd-nat.c
gdb/nat/netbsd-nat.h
gdb/nbsd-nat.c
gdbserver/ChangeLog
gdbserver/netbsd-low.cc