25 #include <sys/types.h>
26 #include <sys/ptrace.h>
36 #ifdef PT_GET_THREAD_FIRST
53 obsd_update_thread_list (
struct target_ops *ops)
56 struct ptrace_thread_state pts;
60 if (
ptrace (PT_GET_THREAD_FIRST, pid, (caddr_t)&pts,
sizeof pts) == -1)
63 while (pts.pts_tid != -1)
75 if (
ptrace (PT_GET_THREAD_NEXT, pid, (caddr_t)&pts,
sizeof pts) == -1)
96 while (pid == -1 && errno == EINTR);
103 _(
"Child process unexpectedly missing: %s.\n"),
108 ourstatus->
value.
sig = GDB_SIGNAL_UNKNOWN;
125 if (
ptrace (PT_GET_PROCESS_STATE, pid, (caddr_t)&pe,
sizeof pe) == -1)
128 switch (pe.pe_report_event)
135 fpid = waitpid (pe.pe_other_pid, &status, 0);
139 if (
ptrace (PT_GET_PROCESS_STATE, fpid,
140 (caddr_t)&pe,
sizeof pe) == -1)
143 gdb_assert (pe.pe_report_event == PTRACE_FORK);
void add_target(struct target_ops *t)
struct thread_info * add_thread(ptid_t ptid)
void obsd_add_target(struct target_ops *t)
char *(* to_pid_to_str)(struct target_ops *, ptid_t) TARGET_DEFAULT_FUNC(default_pid_to_str)
void set_sigint_trap(void)
ptid_t(* to_wait)(struct target_ops *, ptid_t, struct target_waitstatus *, int TARGET_DEBUG_PRINTER(target_debug_print_options)) TARGET_DEFAULT_NORETURN(noprocess())
ptid_t ptid_build(int pid, long lwp, long tid)
int in_thread_list(ptid_t ptid)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int status
ptid_t pid_to_ptid(int pid)
void store_waitstatus(struct target_waitstatus *ourstatus, int hoststatus)
union target_waitstatus::@161 value
void thread_change_ptid(ptid_t old_ptid, ptid_t new_ptid)
char * normal_pid_to_str(ptid_t ptid)
int ptid_get_pid(ptid_t ptid)
void void void void void void void void void perror_with_name(const char *string) ATTRIBUTE_NORETURN
int xsnprintf(char *str, size_t size, const char *format,...)
enum target_waitkind kind
struct ui_file * gdb_stderr
char * safe_strerror(int)
void clear_sigint_trap(void)
long ptid_get_lwp(ptid_t ptid)
void(* to_update_thread_list)(struct target_ops *) TARGET_DEFAULT_IGNORE()
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t pid_t pid