GDB (xrefs)
|
#include "gnu-nat.h"
Private Member Functions | |
void | inf_clear_wait (struct inf *inf) |
void | inf_cleanup (struct inf *inf) |
void | inf_startup (struct inf *inf, int pid) |
int | inf_update_suspends (struct inf *inf) |
void | inf_set_pid (struct inf *inf, pid_t pid) |
void | inf_steal_exc_ports (struct inf *inf) |
void | inf_validate_procinfo (struct inf *inf) |
void | inf_validate_task_sc (struct inf *inf) |
void | inf_restore_exc_ports (struct inf *inf) |
void | inf_set_threads_resume_sc (struct inf *inf, struct proc *run_thread, int run_others) |
int | inf_set_threads_resume_sc_for_signal_thread (struct inf *inf) |
void | inf_resume (struct inf *inf) |
void | inf_set_step_thread (struct inf *inf, struct proc *proc) |
void | inf_detach (struct inf *inf) |
void | inf_attach (struct inf *inf, int pid) |
void | inf_signal (struct inf *inf, enum gdb_signal sig) |
void | inf_continue (struct inf *inf) |
struct proc * | make_proc (struct inf *inf, mach_port_t port, int tid) |
void | proc_abort (struct proc *proc, int force) |
struct proc * | _proc_free (struct proc *proc) |
int | proc_update_sc (struct proc *proc) |
kern_return_t | proc_get_exception_port (struct proc *proc, mach_port_t *port) |
kern_return_t | proc_set_exception_port (struct proc *proc, mach_port_t port) |
mach_port_t | _proc_get_exc_port (struct proc *proc) |
void | proc_steal_exc_port (struct proc *proc, mach_port_t exc_port) |
void | proc_restore_exc_port (struct proc *proc) |
int | proc_trace (struct proc *proc, int set) |
Additional Inherited Members | |
![]() | |
bool | threads_executing = false |
int | connection_number = 0 |
bool | commit_resumed_state = false |
![]() | |
virtual gdb::array_view< const_gdb_byte > virtual thread_info_to_thread_handle(struct thread_info *) TARGET_DEFAULT_RETURN(gdb voi | stop )(ptid_t) TARGET_DEFAULT_IGNORE() |
![]() | |
void | maybe_unpush_target () |
Definition at line 591 of file gnu-nat.c.
References proc::cur_sc, proc::exc_port, proc::inf, inf_clear_wait(), inf_set_step_thread(), proc::next, proc::port, proc_debug, proc_restore_exc_port(), proc_update_sc(), proc::sc, inf::signal_thread, inf::step_thread, inf_wait::thread, inf::wait, and xfree().
Referenced by inf_set_pid(), and inf_validate_procs().
|
private |
Definition at line 401 of file gnu-nat.c.
References err, proc::exc_port, proc_get_exception_port(), and proc::saved_exc_port.
Referenced by proc_restore_exc_port(), and proc_steal_exc_port().
|
overridevirtual |
Implements inf_child_target.
Definition at line 2164 of file gnu-nat.c.
References inferior::attach_flag, cur_inf(), current_inferior(), process_stratum_target::find_thread(), inf_attach(), inf_debug, inf_pick_first_thread(), inf_set_traced(), inf_update_procs(), inf_update_signal_thread(), inf_validate_procinfo(), inferior_appeared(), target_terminal::init(), parse_pid_to_attach(), pid, inferior::push_target(), switch_to_thread(), target_announce_attach(), and inf::want_signals.
|
inlineoverridevirtual |
Reimplemented from target_ops.
|
overridevirtual |
Implements inf_child_target.
Definition at line 2102 of file gnu-nat.c.
References add_thread_silent(), cur_inf(), current_inferior(), fork_inferior(), gdb_startup_inferior(), gnu_ptrace_me(), inf_attach(), inf_debug, inf_pick_first_thread(), inf_restore_exc_ports(), inf_resume(), inf_set_traced(), inf_steal_exc_ports(), inf_update_signal_thread(), inf_validate_procinfo(), inferior_ptid, inf::nomsg, inf::pending_execs, inf::pid, pid, prune_threads(), inferior::push_target(), START_INFERIOR_TRAPS_EXPECTED, switch_to_thread(), inferior::target_is_pushed(), thread_change_ptid(), inf::traced, inf::want_exceptions, and inf::want_signals.
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2217 of file gnu-nat.c.
References detach_inferior(), gnu_current_inf, inf_detach(), inf_child_target::maybe_unpush_target(), switch_to_no_thread(), and target_announce_detach().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2566 of file gnu-nat.c.
References err, gnu_current_inf, proc::port, inf::task, and VM_MIN_ADDRESS.
|
private |
Definition at line 1268 of file gnu-nat.c.
References inf_debug, inf_detach(), inf_startup(), inf::pid, and pid.
Referenced by attach(), and create_inferior().
|
private |
Definition at line 680 of file gnu-nat.c.
References inf::event_port, inf_clear_wait(), inf_debug, inf_set_pid(), inf::no_wait, inf::nomsg, inf::pending_execs, inf::pid, inf::running, inf::stopped, and inf::traced.
Referenced by inf_detach(), and inf_startup().
|
private |
Definition at line 660 of file gnu-nat.c.
References inf_wait::exc, exc_state::handler, inf_debug, exc_state::reply, target_waitstatus::set_spurious(), inf_wait::status, inf_wait::suppress, inf_wait::thread, and inf::wait.
Referenced by _proc_free(), inf_cleanup(), inf_detach(), and wait().
|
private |
Definition at line 1402 of file gnu-nat.c.
References err, inf_debug, proc::next, inf::pid, proc::port, proc_server, inf::stopped, and inf::threads.
Referenced by inf_detach(), and resume().
|
private |
Definition at line 1226 of file gnu-nat.c.
References inf::detach_sc, proc::detach_sc, inf_cleanup(), inf_clear_wait(), inf_continue(), inf_debug, inf_set_step_thread(), inf_set_traced(), inf_signal(), inf_update_suspends(), inf_validate_procinfo(), proc::next, inf::nomsg, proc_restore_exc_port(), proc::sc, inf::stopped, inf::task, and inf::threads.
Referenced by detach(), inf_attach(), and mourn_inferior().
|
private |
Definition at line 1296 of file gnu-nat.c.
References inf_debug, inf_set_step_thread(), proc::next, proc_restore_exc_port(), inf::task, and inf::threads.
Referenced by create_inferior().
|
private |
Definition at line 1133 of file gnu-nat.c.
References inf_update_procs(), inf_update_suspends(), inf_validate_task_sc(), proc::next, inf::pending_execs, proc::resume_sc, proc::sc, inf::task, and inf::threads.
Referenced by create_inferior(), resume(), and wait().
|
private |
Definition at line 726 of file gnu-nat.c.
References _proc_free(), proc::cur_sc, err, inf_debug, inf_validate_procs(), make_proc(), inf::pause_sc, inf::pid, pid, proc::port, proc_server, PROC_TID_TASK, proc::sc, inf::task, and inf::threads_up_to_date.
Referenced by inf_cleanup(), inf_startup(), kill(), and wait().
Definition at line 1178 of file gnu-nat.c.
References inf_debug, inf::pid, proc::port, proc_is_thread, proc_trace(), inf::step_thread, and proc::tid.
Referenced by _proc_free(), inf_detach(), inf_restore_exc_ports(), inf_steal_exc_ports(), and resume().
|
private |
Definition at line 1114 of file gnu-nat.c.
References inf_update_procs(), proc::next, proc::pause_sc, proc::resume_sc, proc::run_sc, and inf::threads.
Referenced by inf_set_threads_resume_sc_for_signal_thread(), and resume().
|
private |
Definition at line 1204 of file gnu-nat.c.
References inf_set_threads_resume_sc(), and inf::signal_thread.
void gnu_nat_target::inf_set_traced | ( | struct inf * | inf, |
int | on ) |
Definition at line 858 of file gnu-nat.c.
References proc::dead, err, INF_RESUME_MSGPORT_RPC, inf::pid, inf::task, and inf::traced.
Referenced by attach(), create_inferior(), inf_detach(), and set_signals_cmd().
|
private |
Definition at line 1314 of file gnu-nat.c.
References proc::aborted, exc_state::code, err, inf::event_port, inf_wait::exc, exc_state::exception, exc_state::handler, inf_debug, INF_MSGPORT_RPC, INF_RESUME_MSGPORT_RPC, target_waitstatus::kind(), NAME, proc::port, exc_state::reply, target_waitstatus::sig, inf_wait::status, inf::stopped, exc_state::subcode, TARGET_WAITKIND_STOPPED, inf::task, inf_wait::thread, and inf::wait.
Referenced by inf_detach(), and resume().
|
private |
Definition at line 703 of file gnu-nat.c.
References err, inf::event_port, inf_cleanup(), inf_debug, inf_set_pid(), and pid.
Referenced by inf_attach().
|
private |
Definition at line 1281 of file gnu-nat.c.
References inf::event_port, inf_debug, inf_set_step_thread(), proc::next, proc_steal_exc_port(), inf::task, and inf::threads.
Referenced by create_inferior().
void gnu_nat_target::inf_suspend | ( | struct inf * | inf | ) |
Definition at line 1158 of file gnu-nat.c.
References inf_update_procs(), inf_update_suspends(), proc::next, inf::pause_sc, proc::pause_sc, proc::sc, inf::task, and inf::threads.
Referenced by set_task_pause_cmd(), set_thread_pause_cmd(), and wait().
|
private |
Definition at line 894 of file gnu-nat.c.
References proc::cur_sc, inf_debug, proc::next, inf::pending_execs, proc_update_sc(), inf::running, proc::sc, inf::task, inf::threads, and inf::threads_up_to_date.
Referenced by inf_detach(), inf_resume(), inf_suspend(), proc_abort(), and wait().
|
private |
Definition at line 779 of file gnu-nat.c.
References err, inf::nomsg, inf::pid, proc_server, inf::stopped, and inf::traced.
Referenced by attach(), create_inferior(), inf_detach(), and resume().
void gnu_nat_target::inf_validate_procs | ( | struct inf * | inf | ) |
Definition at line 985 of file gnu-nat.c.
References _proc_free(), add_thread(), add_thread_silent(), proc::dead, err, inf_debug, inferior_ptid, make_proc(), proc::next, next_thread_id, inf::pending_execs, inf::pid, proc::port, proc_debug, inf::running, inf::task, thread_change_ptid(), inf::threads, inf::threads_up_to_date, and proc::tid.
Referenced by inf_set_pid(), inf_update_procs(), and wait().
|
private |
Definition at line 806 of file gnu-nat.c.
References proc::cur_sc, proc::dead, err, inf::pid, proc_server, query(), and inf::task.
Referenced by inf_resume(), and wait().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2046 of file gnu-nat.c.
References gnu_current_inf, inf_set_pid(), inferior_ptid, proc::port, proc_debug, target_mourn_inferior(), and inf::task.
Definition at line 527 of file gnu-nat.c.
References proc::aborted, proc::cur_sc, proc::dead, inf::default_thread_detach_sc, inf::default_thread_pause_sc, inf::default_thread_run_sc, proc::detach_sc, err, inf::event_port, proc::exc_port, proc::inf, proc::next, proc::pause_sc, proc::port, proc_debug, proc_is_task, proc_steal_exc_port(), proc::resume_sc, proc::run_sc, proc::saved_exc_port, proc::sc, proc::state_changed, proc::state_valid, proc::tid, and inf::want_exceptions.
Referenced by inf_set_pid(), and inf_validate_procs().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2061 of file gnu-nat.c.
References gnu_current_inf, inf_debug, inf_detach(), and inf_child_target::mourn_inferior().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2661 of file gnu-nat.c.
References gnu_current_inf, inf_tid_to_thread(), and proc_string().
|
private |
Definition at line 306 of file gnu-nat.c.
References proc::aborted, proc::cur_sc, inf_wait::exc, proc::inf, inf_update_suspends(), proc::port, proc_debug, proc_is_thread, proc_string(), exc_state::reply, proc::sc, inf::task, inf_wait::thread, and inf::wait.
Referenced by proc_get_state(), and resume().
|
private |
Definition at line 380 of file gnu-nat.c.
References proc::port, and proc_is_task.
Referenced by _proc_get_exc_port().
thread_state_t gnu_nat_target::proc_get_state | ( | struct proc * | proc, |
int | will_modify ) |
Definition at line 343 of file gnu-nat.c.
References proc::aborted, err, proc::port, proc_abort(), proc_debug, proc::state, proc::state_changed, proc::state_valid, THREAD_STATE_FLAVOR, and THREAD_STATE_SIZE.
Referenced by i386_gnu_nat_target::fetch_registers(), proc_trace(), and i386_gnu_nat_target::store_registers().
|
private |
Definition at line 467 of file gnu-nat.c.
References _proc_get_exc_port(), err, proc::exc_port, proc_debug, proc_set_exception_port(), proc_string(), and proc::saved_exc_port.
Referenced by _proc_free(), inf_detach(), and inf_restore_exc_ports().
|
private |
Definition at line 390 of file gnu-nat.c.
References proc::port, proc_debug, and proc_is_task.
Referenced by proc_restore_exc_port(), proc_steal_exc_port(), and steal_exc_port().
|
private |
Definition at line 424 of file gnu-nat.c.
References _proc_get_exc_port(), err, proc::exc_port, proc_debug, proc_set_exception_port(), proc_string(), and proc::saved_exc_port.
Referenced by inf_steal_exc_ports(), make_proc(), and proc_trace().
|
private |
Definition at line 497 of file gnu-nat.c.
References inf::event_port, proc::exc_port, proc::inf, proc_debug, proc_get_state(), proc_steal_exc_port(), THREAD_STATE_CLEAR_TRACED, and THREAD_STATE_SET_TRACED.
Referenced by inf_set_step_thread().
|
private |
Definition at line 240 of file gnu-nat.c.
References proc::aborted, proc::cur_sc, err, proc::fetched_regs, proc::port, proc_debug, proc_is_task, proc_is_thread, proc::sc, proc::state, proc::state_changed, proc::state_valid, THREAD_STATE_FLAVOR, and THREAD_STATE_SIZE.
Referenced by _proc_free(), and inf_update_suspends().
|
override |
Definition at line 1968 of file gnu-nat.c.
References inf::event_port, inf_wait::exc, gnu_current_inf, inf_continue(), inf_debug, inf_resume(), inf_set_step_thread(), inf_set_threads_resume_sc(), inf_signal(), inf_tid_to_thread(), inf_update_procs(), inf_validate_procinfo(), inferior_ptid, inf::nomsg, inf::pid, proc_abort(), proc_string(), exc_state::reply, target_waitstatus::sig, inf_wait::status, inf::step_thread, inf::stopped, target_pid_to_str(), inf_wait::thread, and inf::wait.
void gnu_nat_target::steal_exc_port | ( | struct proc * | proc, |
mach_port_t | name ) |
Definition at line 2860 of file gnu-nat.c.
References err, inf::event_port, proc::exc_port, proc::inf, name, proc::port, proc_set_exception_port(), proc_string(), proc::saved_exc_port, and inf::task.
Referenced by set_task_exc_port_cmd(), and set_thread_exc_port_cmd().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2237 of file gnu-nat.c.
References gnu_current_inf, inf_tid_to_thread(), and inf_update_procs().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 1438 of file gnu-nat.c.
References proc::dead, err, inf::event_port, exc_server(), gnu_current_inf, inf_clear_wait(), inf_debug, inf_resume(), inf_set_pid(), inf_suspend(), inf_tid_to_thread(), inf_update_procs(), inf_update_suspends(), inf_validate_procs(), inf_validate_task_sc(), target_waitstatus::kind(), msg_reply_server(), inf::no_wait, notify_server(), inf::pause_sc, proc::pause_sc, inf::pending_execs, inf::pid, proc::port, proc_server, proc_wait_pid, proc_waits_pending, process_reply_server(), proc::sc, target_waitstatus::sig, inf_wait::status, status, inf_wait::suppress, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_STOPPED, inf::task, inf_wait::thread, inf::threads, proc::tid, type, inf::wait, and waiting_inf.
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 2547 of file gnu-nat.c.
References gnu_xfer_auxv(), gnu_xfer_memory(), TARGET_OBJECT_AUXV, TARGET_OBJECT_MEMORY, and TARGET_XFER_E_IO.