/* Native-dependent code for OpenBSD.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
This file is part of GDB.
#include "inferior.h"
#include "target.h"
-#include "gdb_assert.h"
#include <sys/types.h>
#include <sys/ptrace.h>
#include "gdb_wait.h"
#ifdef PT_GET_THREAD_FIRST
-static char *
-obsd_pid_to_str (struct target_ops *ops, ptid_t ptid)
+const char *
+obsd_nat_target::pid_to_str (ptid_t ptid)
{
if (ptid_get_lwp (ptid) != 0)
{
return normal_pid_to_str (ptid);
}
-static void
-obsd_find_new_threads (struct target_ops *ops)
+void
+obsd_nat_target::update_thread_list ()
{
pid_t pid = ptid_get_pid (inferior_ptid);
struct ptrace_thread_state pts;
+ prune_threads ();
+
if (ptrace (PT_GET_THREAD_FIRST, pid, (caddr_t)&pts, sizeof pts) == -1)
perror_with_name (("ptrace"));
}
}
-static ptid_t
-obsd_wait (struct target_ops *ops,
- ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+ptid_t
+obsd_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
+ int options)
{
pid_t pid;
int status, save_errno;
return ptid;
}
-void
-obsd_add_target (struct target_ops *t)
-{
- /* Override some methods to support threads. */
- t->to_pid_to_str = obsd_pid_to_str;
- t->to_find_new_threads = obsd_find_new_threads;
- t->to_wait = obsd_wait;
- add_target (t);
-}
-
-#else
-
-void
-obsd_add_target (struct target_ops *t)
-{
- add_target (t);
-}
-
#endif /* PT_GET_THREAD_FIRST */