struct target_ops * inf_ptrace_target (void) { struct target_ops *t = inf_child_target (); t->to_attach = inf_ptrace_attach; t->to_detach = inf_ptrace_detach; t->to_resume = inf_ptrace_resume; t->to_wait = inf_ptrace_wait; t->to_files_info = inf_ptrace_files_info; t->to_kill = inf_ptrace_kill; t->to_create_inferior = inf_ptrace_create_inferior; #ifdef PT_GET_PROCESS_STATE t->to_follow_fork = inf_ptrace_follow_fork; t->to_post_startup_inferior = inf_ptrace_post_startup_inferior; t->to_post_attach = inf_ptrace_post_attach; #endif t->to_mourn_inferior = inf_ptrace_mourn_inferior; t->to_thread_alive = inf_ptrace_thread_alive; t->to_pid_to_str = normal_pid_to_str; t->to_stop = inf_ptrace_stop; t->to_xfer_partial = inf_ptrace_xfer_partial; ptrace_ops_hack = t; return t; }
struct target_ops * inf_ptrace_target (void) { struct target_ops *t = inf_child_target (); t->to_attach = inf_ptrace_attach; t->to_detach = inf_ptrace_detach; t->to_resume = inf_ptrace_resume; t->to_wait = inf_ptrace_wait; t->to_files_info = inf_ptrace_files_info; t->to_kill = inf_ptrace_kill; t->to_create_inferior = inf_ptrace_create_inferior; #ifdef PT_GET_PROCESS_STATE t->to_follow_fork = inf_ptrace_follow_fork; t->to_post_startup_inferior = inf_ptrace_post_startup_inferior; t->to_post_attach = inf_ptrace_post_attach; #endif t->to_mourn_inferior = inf_ptrace_mourn_inferior; t->to_thread_alive = inf_ptrace_thread_alive; t->to_pid_to_str = inf_ptrace_pid_to_str; t->to_stop = inf_ptrace_stop; t->to_xfer_partial = inf_ptrace_xfer_partial; #if defined (PT_IO) && defined (PIOD_READ_AUXV) t->to_auxv_parse = inf_ptrace_auxv_parse; #endif return t; }