GDBserver
Functions | Variables
inferiors.c File Reference
#include "server.h"
#include "gdbthread.h"
#include "dll.h"

Go to the source code of this file.

Functions

struct thread_infoadd_thread (ptid_t thread_id, void *target_data)
 
struct thread_infoget_first_thread (void)
 
struct thread_infofind_thread_ptid (ptid_t ptid)
 
static struct thread_infofind_thread_process (const struct process_info *const process)
 
struct thread_infofind_any_thread_of_pid (int pid)
 
static void free_one_thread (thread_info *thread)
 
void remove_thread (struct thread_info *thread)
 
void * thread_target_data (struct thread_info *thread)
 
struct regcachethread_regcache_data (struct thread_info *thread)
 
void set_thread_regcache_data (struct thread_info *thread, struct regcache *data)
 
void clear_inferiors (void)
 
struct process_infoadd_process (int pid, int attached)
 
void remove_process (struct process_info *process)
 
process_infofind_process_pid (int pid)
 
process_infoget_first_process (void)
 
int have_started_inferiors_p (void)
 
int have_attached_inferiors_p (void)
 
struct process_infoget_thread_process (const struct thread_info *thread)
 
struct process_infocurrent_process (void)
 
static void do_restore_current_thread_cleanup (void *arg)
 
struct cleanupmake_cleanup_restore_current_thread (void)
 
void switch_to_thread (ptid_t ptid)
 
const char * get_inferior_cwd ()
 
void set_inferior_cwd (const char *cwd)
 

Variables

std::list< process_info * > all_processes
 
std::list< thread_info * > all_threads
 
struct thread_infocurrent_thread
 
static const char * current_inferior_cwd = NULL
 

Function Documentation

◆ add_process()

struct process_info* add_process ( int  pid,
int  attached 
)

◆ add_thread()

struct thread_info* add_thread ( ptid_t  thread_id,
void *  target_data 
)

◆ clear_inferiors()

void clear_inferiors ( void  )

◆ current_process()

struct process_info* current_process ( void  )

Definition at line 210 of file inferiors.c.

References current_thread, gdb_assert, and get_thread_process().

Referenced by aarch64_arch_setup(), any_persistent_commands(), arm_arch_setup(), arm_insert_point(), arm_regs_info(), arm_remove_point(), attach_thread(), bfin_arch_setup(), breakpoint_here(), breakpoint_inserted_here(), check_breakpoints(), check_mem_read(), check_mem_write(), cris_arch_setup(), current_target_desc(), delete_all_breakpoints(), delete_breakpoint(), delete_disabled_breakpoints(), delete_fast_tracepoint_jump(), find_enabled_raw_code_breakpoint_at(), find_fast_tracepoint_jump_at(), find_gdb_breakpoint(), find_new_threads_callback(), find_one_thread(), find_raw_breakpoint_at(), handle_general_set(), handle_query(), hardware_breakpoint_inserted_here(), ia64_arch_setup(), linux_look_up_symbols(), linux_post_create_inferior(), linux_qxfer_libraries_svr4(), linux_wait_1(), look_up_one_symbol(), lynx_resume(), m32r_arch_setup(), m68k_arch_setup(), mips_arch_setup(), mips_cannot_fetch_register(), mips_cannot_store_register(), mips_insert_point(), mips_remove_point(), mips_stopped_by_watchpoint(), mips_stopped_data_address(), nios2_arch_setup(), ppc_arch_setup(), ppc_cannot_store_register(), ppc_get_auxv(), reinsert_all_breakpoints(), reinsert_breakpoints_at(), s390_arch_setup(), s390_regs_info(), set_breakpoint(), set_fast_tracepoint_jump(), set_raw_breakpoint_at(), sh_arch_setup(), single_step_breakpoint_inserted_here(), software_breakpoint_inserted_here(), sparc_arch_setup(), thread_db_find_new_threads(), thread_db_init(), thread_db_look_up_one_symbol(), thread_db_look_up_symbols(), tic6x_arch_setup(), tile_arch_setup(), try_thread_db_load_1(), uninsert_all_breakpoints(), uninsert_breakpoints_at(), validate_breakpoints(), x86_arch_setup(), x86_insert_point(), x86_remove_point(), x86_stopped_by_watchpoint(), x86_stopped_data_address(), and xtensa_arch_setup().

◆ do_restore_current_thread_cleanup()

static void do_restore_current_thread_cleanup ( void *  arg)
static

Definition at line 217 of file inferiors.c.

References current_thread.

Referenced by make_cleanup_restore_current_thread().

◆ find_any_thread_of_pid()

struct thread_info* find_any_thread_of_pid ( int  pid)

◆ find_process_pid()

process_info* find_process_pid ( int  pid)

◆ find_thread_process()

static struct thread_info* find_thread_process ( const struct process_info *const  process)
static

Definition at line 75 of file inferiors.c.

References find_any_thread_of_pid(), and process_info::pid.

Referenced by remove_process().

◆ find_thread_ptid()

struct thread_info* find_thread_ptid ( ptid_t  ptid)

◆ free_one_thread()

static void free_one_thread ( thread_info thread)
static

Definition at line 91 of file inferiors.c.

References free(), free_register_cache(), and thread_regcache_data().

Referenced by clear_inferiors(), and remove_thread().

◆ get_first_process()

process_info* get_first_process ( void  )

Definition at line 174 of file inferiors.c.

References all_processes.

Referenced by read_ptid().

◆ get_first_thread()

struct thread_info* get_first_thread ( void  )

◆ get_inferior_cwd()

const char* get_inferior_cwd ( )

Definition at line 240 of file inferiors.c.

References current_inferior_cwd.

Referenced by create_process(), and fork_inferior().

◆ get_thread_process()

struct process_info* get_thread_process ( const struct thread_info thread)

◆ have_attached_inferiors_p()

int have_attached_inferiors_p ( void  )

Definition at line 196 of file inferiors.c.

References process_info::attached, and find_process().

Referenced by detach_or_kill_for_exit().

◆ have_started_inferiors_p()

int have_started_inferiors_p ( void  )

Definition at line 186 of file inferiors.c.

References process_info::attached, and find_process().

Referenced by detach_or_kill_for_exit().

◆ make_cleanup_restore_current_thread()

struct cleanup* make_cleanup_restore_current_thread ( void  )

◆ remove_process()

void remove_process ( struct process_info process)

◆ remove_thread()

void remove_thread ( struct thread_info thread)

◆ set_inferior_cwd()

void set_inferior_cwd ( const char *  cwd)

Definition at line 248 of file inferiors.c.

References current_inferior_cwd, xfree(), and xstrdup().

Referenced by handle_general_set().

◆ set_thread_regcache_data()

void set_thread_regcache_data ( struct thread_info thread,
struct regcache data 
)

Definition at line 123 of file inferiors.c.

References thread_info::regcache_data.

Referenced by free_register_cache_thread(), and get_thread_regcache().

◆ switch_to_thread()

void switch_to_thread ( ptid_t  ptid)

◆ thread_regcache_data()

struct regcache* thread_regcache_data ( struct thread_info thread)

◆ thread_target_data()

void* thread_target_data ( struct thread_info thread)

Variable Documentation

◆ all_processes

std::list<process_info *> all_processes

◆ all_threads

std::list<thread_info *> all_threads

◆ current_inferior_cwd

const char* current_inferior_cwd = NULL
static

Definition at line 31 of file inferiors.c.

Referenced by get_inferior_cwd(), and set_inferior_cwd().

◆ current_thread

struct thread_info* current_thread

Definition at line 28 of file inferiors.c.

Referenced by aarch64_arch_setup(), aarch64_insert_point(), aarch64_remove_point(), aarch64_stopped_data_address(), aarch64_supports_tracepoints(), add_thread(), arm_arch_setup(), arm_insert_point(), arm_is_thumb_mode(), arm_read_description(), arm_remove_point(), arm_stopped_by_watchpoint(), arm_stopped_data_address(), attach_inferior(), check_stopped_by_watchpoint(), clear_inferiors(), cmd_qtinit(), cmd_qtminftpilen(), cris_insert_point(), cris_remove_point(), cris_stopped_by_watchpoint(), cris_stopped_data_address(), current_lwp_ptid(), current_process(), current_target_desc(), delete_single_step_breakpoints(), disable_thread_event_reporting(), do_restore_current_thread_cleanup(), finish_step_over(), gdb_agent_about_to_close(), gdb_condition_true_at_breakpoint_z_type(), get_child_debug_event(), get_pc(), get_syscall_trapinfo(), get_thread_regcache(), handle_detach(), handle_extended_wait(), handle_query(), handle_qxfer_auxv(), handle_qxfer_exec_file(), handle_qxfer_fdpic(), handle_qxfer_libraries(), handle_qxfer_libraries_svr4(), handle_qxfer_siginfo(), handle_qxfer_spu(), handle_qxfer_statictrace(), handle_target_event(), install_software_single_step_breakpoints(), is_64bit_tdesc(), linux_arch_setup_thread(), linux_low_filter_event(), linux_post_create_inferior(), linux_qxfer_libraries_svr4(), linux_qxfer_spu(), linux_read_auxv(), linux_read_memory(), linux_resume_one_lwp_throw(), linux_stabilize_threads(), linux_stopped_by_hw_breakpoint(), linux_stopped_by_sw_breakpoint(), linux_stopped_by_watchpoint(), linux_stopped_data_address(), linux_wait_1(), linux_wait_for_event_filtered(), linux_write_memory(), linux_xfer_siginfo(), lynx_fetch_registers(), lynx_read_memory(), lynx_resume(), lynx_store_registers(), lynx_wait_1(), lynx_write_memory(), make_cleanup_restore_current_thread(), maybe_move_out_of_jump_pad(), mips_insert_point(), mips_read_description(), mips_stopped_by_watchpoint(), mips_stopped_data_address(), move_out_of_jump_pad_callback(), need_step_over_p(), nto_fetch_registers(), nto_stopped_by_watchpoint(), nto_stopped_data_address(), nto_store_registers(), post_fork_inferior(), ppc_emit_ops(), ppc_get_ipa_tdesc_idx(), ppc_install_fast_tracepoint_jump_pad(), prepare_resume_reply(), prepare_to_access_memory(), process_serial_event(), ps_getpid(), ps_lgetregs(), putpkt_binary_1(), regcache_invalidate(), regcache_invalidate_thread(), reinsert_single_step_breakpoints(), remove_thread(), resume(), run_breakpoint_commands_z_type(), s390_arch_setup(), s390_emit_ops(), s390_get_ipa_tdesc_idx(), s390_get_thread_area(), s390_install_fast_tracepoint_jump_pad(), save_stop_reason(), set_desired_thread(), start_step_over(), switch_to_process(), switch_to_thread(), thread_db_get_tls_address(), thread_db_notice_clone(), thread_still_has_status_pending_p(), tile_arch_setup(), uninsert_single_step_breakpoints(), wait_for_sigstop(), win32_get_current_dr(), win32_wait(), x86_dr_low_set_addr(), x86_dr_low_set_control(), x86_fill_gregset(), x86_get_ipa_tdesc_idx(), x86_linux_read_description(), x86_linux_update_xmltarget(), x86_siginfo_fixup(), and x86_store_gregset().