Add basic event handling in the NetBSD target
authorKamil Rytarowski <n54@gmx.com>
Tue, 28 Apr 2020 23:57:38 +0000 (01:57 +0200)
committerKamil Rytarowski <n54@gmx.com>
Wed, 29 Apr 2020 18:02:35 +0000 (20:02 +0200)
commitf94b2e038757eeefd7351e8122160715d6e3ce3c
tree9143a58e046373060e481ea9b4ff24b430cca76d
parentcb4c35cfbe460c51fa13df42a56a4f811082f7eb
Add basic event handling in the NetBSD target

Implement the following events:
 - single step (TRAP_TRACE)
 - software breakpoint (TRAP_DBREG)
 - exec() (TRAP_EXEC)
 - syscall entry/exit (TRAP_SCE / TRAP_SCX)

Add support for NetBSD specific ::wait () and ::resume ().

Instruct the generic code that exec and syscall events are supported.

Define an empty nbsd_get_syscall_number as it is prerequisite for
catching syscall entry and exit events, even if it is unused.
This function is used to detect whether the gdbarch supports the
'catch syscall' feature.

gdb/ChangeLog:

       * nbsd-nat.c: Include "sys/wait.h".
       (nbsd_resume, nbsd_nat_target::resume, nbsd_wait)
       (nbsd_nat_target::wait, nbsd_nat_target::insert_exec_catchpoint)
       (nbsd_nat_target::remove_exec_catchpoint)
       (nbsd_nat_target::set_syscall_catchpoint): Add.
       * nbsd-nat.h (nbsd_nat_target::resume, nbsd_nat_target::wait)
       (nbsd_nat_target::insert_exec_catchpoint)
       (nbsd_nat_target::remove_exec_catchpoint)
       (nbsd_nat_target::set_syscall_catchpoint): Add.
       * nbsd-tdep.c (nbsd_get_syscall_number): Add.
       (nbsd_init_abi): Call `set_gdbarch_get_syscall_number' and pass
       `nbsd_get_syscall_number'.
gdb/ChangeLog
gdb/nbsd-nat.c
gdb/nbsd-nat.h
gdb/nbsd-tdep.c