+2020-09-10 Kamil Rytarowski <n54@gmx.com>
+
+ * netbsd-nat.h (netbsd_nat::enable_proc_events): Add.
+ * netbsd-nat.c: Include <sys/ptrace.h>.
+ * (netbsd_nat::enable_proc_events): Add.
+
2020-09-10 Kamil Rytarowski <n54@gmx.com>
* netbsd-nat.h: Include "gdbsupport/function-view.h".
#include "gdbsupport/common-debug.h"
#include <sys/types.h>
+#include <sys/ptrace.h>
#include <sys/sysctl.h>
#include <cstring>
netbsd_thread_lister (pid, fn);
}
+/* See netbsd-nat.h. */
+
+void
+enable_proc_events (pid_t pid)
+{
+ int events;
+
+ if (ptrace (PT_GET_EVENT_MASK, pid, &events, sizeof (events)) == -1)
+ perror_with_name (("ptrace"));
+
+ events |= PTRACE_LWP_CREATE;
+ events |= PTRACE_LWP_EXIT;
+
+ if (ptrace (PT_SET_EVENT_MASK, pid, &events, sizeof (events)) == -1)
+ perror_with_name (("ptrace"));
+}
+
}
extern void for_each_thread (pid_t pid,
gdb::function_view<void (ptid_t)> callback);
+
+/* Enable additional event reporting in a new process specified by PID.
+
+ This function assumes internally that the queried process is stopped and
+ traced. */
+
+extern void enable_proc_events (pid_t pid);
}
#endif