GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "inferior.h"
#include "infrun.h"
#include "regcache.h"
#include "gdbcmd.h"
#include "infcall.h"
#include "objfiles.h"
#include "linux-fork.h"
#include "linux-nat.h"
#include "gdbthread.h"
#include "source.h"
#include "nat/gdb_ptrace.h"
#include "gdbsupport/gdb_wait.h"
#include <dirent.h>
#include <ctype.h>
#include <list>
Go to the source code of this file.
Classes | |
struct | fork_info |
class | scoped_switch_fork_info |
Functions | |
int | forks_exist_p (void) |
static struct fork_info * | find_last_fork (void) |
static bool | one_fork_p () |
void | add_fork (pid_t pid) |
static void | delete_fork (ptid_t ptid) |
static struct fork_info * | find_fork_ptid (ptid_t ptid) |
static struct fork_info * | find_fork_id (int num) |
struct fork_info * | find_fork_pid (pid_t pid) |
static ptid_t | fork_id_to_ptid (int num) |
static off_t | call_lseek (int fd, off_t offset, int whence) |
static void | fork_load_infrun_state (struct fork_info *fp) |
static void | fork_save_infrun_state (struct fork_info *fp) |
void | linux_fork_killall (void) |
void | linux_fork_mourn_inferior (void) |
void | linux_fork_detach (int from_tty) |
static int | inferior_call_waitpid (ptid_t pptid, int pid) |
static void | delete_checkpoint_command (const char *args, int from_tty) |
static void | detach_checkpoint_command (const char *args, int from_tty) |
static void | info_checkpoints_command (const char *arg, int from_tty) |
int | linux_fork_checkpointing_p (int pid) |
static bool | inf_has_multiple_threads () |
static void | checkpoint_command (const char *args, int from_tty) |
static void | linux_fork_context (struct fork_info *newfp, int from_tty) |
static void | restart_command (const char *args, int from_tty) |
void | _initialize_linux_fork () |
Variables | |
static std::list< fork_info > | fork_list |
static int | highest_fork_num |
static int | checkpointing_pid = 0 |
void _initialize_linux_fork | ( | ) |
Definition at line 766 of file linux-fork.c.
Referenced by initialize_all_files().
void add_fork | ( | pid_t | pid | ) |
Definition at line 119 of file linux-fork.c.
References fork_list, highest_fork_num, fork_info::num, one_fork_p(), and pid.
Referenced by linux_handle_extended_wait().
|
static |
Definition at line 203 of file linux-fork.c.
References parse_and_eval_long().
Referenced by fork_load_infrun_state(), and fork_save_infrun_state().
|
static |
Definition at line 649 of file linux-fork.c.
References objfile::arch(), call_function_by_hand(), checkpointing_pid, find_fork_pid(), find_function_in_inferior(), fork_list, fork_save_infrun_state(), gdb_printf(), get_last_target_status(), inf_has_multiple_threads(), inferior_ptid, info_verbose, lookup_minimal_symbol(), fork_info::num, one_fork_p(), fork_info::parent_ptid, target_has_execution(), update_thread_list(), value_as_long(), and value_from_longest().
|
static |
Definition at line 500 of file linux-fork.c.
References delete_fork(), find_fork_ptid(), process_stratum_target::find_thread(), fork_id_to_ptid(), gdb_printf(), inferior_call_waitpid(), inferior_ptid, linux_target, fork_info::parent_ptid, parse_and_eval_long(), fork_info::ptid, ptrace, thread_info::state, target_pid_to_str(), and THREAD_STOPPED.
|
static |
Definition at line 131 of file linux-fork.c.
References delete_fork(), fork_list, inferior_ptid, linux_target, linux_nat_target::low_forget_process(), one_fork_p(), and fork_info::ptid.
Referenced by delete_checkpoint_command(), delete_fork(), detach_checkpoint_command(), linux_fork_detach(), and linux_fork_mourn_inferior().
|
static |
Definition at line 543 of file linux-fork.c.
References delete_fork(), fork_id_to_ptid(), gdb_printf(), inferior_ptid, parse_and_eval_long(), fork_info::ptid, ptrace, and target_pid_to_str().
|
static |
Definition at line 167 of file linux-fork.c.
References fork_list, and fork_info::num.
Referenced by fork_id_to_ptid(), and restart_command().
|
extern |
Definition at line 178 of file linux-fork.c.
References fork_list, and pid.
Referenced by checkpoint_command(), and linux_handle_extended_wait().
|
static |
Definition at line 156 of file linux-fork.c.
References fork_list, and fork_info::ptid.
Referenced by delete_checkpoint_command(), linux_fork_context(), and scoped_switch_fork_info::scoped_switch_fork_info().
|
static |
Definition at line 100 of file linux-fork.c.
References fork_list.
Referenced by linux_fork_mourn_inferior().
|
static |
Definition at line 188 of file linux-fork.c.
References find_fork_id(), fork_info::num, and fork_info::ptid.
Referenced by delete_checkpoint_command(), and detach_checkpoint_command().
|
static |
Definition at line 215 of file linux-fork.c.
References call_lseek(), fork_info::filepos, get_current_regcache(), inferior_thread(), linux_nat_switch_fork(), fork_info::maxfd, nullify_last_target_wait_ptid(), fork_info::ptid, regcache_read_pc(), registers_changed(), reinit_frame_cache(), regcache::restore(), fork_info::savedregs, SEEK_SET, and thread_info::set_stop_pc().
Referenced by linux_fork_context(), linux_fork_detach(), linux_fork_mourn_inferior(), scoped_switch_fork_info::scoped_switch_fork_info(), and scoped_switch_fork_info::~scoped_switch_fork_info().
|
static |
Definition at line 245 of file linux-fork.c.
References call_lseek(), fork_info::filepos, get_current_regcache(), fork_info::maxfd, fork_info::pc, fork_info::ptid, regcache_read_pc(), fork_info::savedregs, and SEEK_CUR.
Referenced by checkpoint_command(), linux_fork_context(), and scoped_switch_fork_info::scoped_switch_fork_info().
int forks_exist_p | ( | void | ) |
Definition at line 92 of file linux-fork.c.
References fork_list.
Referenced by linux_nat_target::detach(), linux_nat_target::kill(), and linux_nat_target::mourn_inferior().
|
static |
Definition at line 635 of file linux-fork.c.
References current_inferior(), and inferior::threads().
Referenced by checkpoint_command().
|
static |
Definition at line 464 of file linux-fork.c.
References call_function_by_hand(), find_function_in_inferior(), get_current_arch(), lookup_minimal_symbol(), pid, value_as_long(), value_from_longest(), and value_from_pointer().
Referenced by delete_checkpoint_command().
|
static |
Definition at line 570 of file linux-fork.c.
References find_pc_line(), fork_list, gdb_printf(), gdb_putc(), gdb_puts(), get_current_arch(), inferior_ptid, symtab_and_line::line, general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, paddress(), parse_and_eval_long(), symtab_and_line::symtab, symtab_to_filename_for_display(), and target_pid_to_str().
int linux_fork_checkpointing_p | ( | int | pid | ) |
Definition at line 627 of file linux-fork.c.
References checkpointing_pid, and pid.
Referenced by linux_handle_extended_wait().
|
static |
Definition at line 728 of file linux-fork.c.
References find_fork_ptid(), fork_load_infrun_state(), fork_save_infrun_state(), gdb_printf(), get_selected_frame(), inferior_ptid, insert_breakpoints(), print_stack_frame(), remove_breakpoints(), SRC_AND_LOC, and target_pid_to_str().
Referenced by restart_command().
void linux_fork_detach | ( | int | from_tty | ) |
Definition at line 364 of file linux-fork.c.
References delete_fork(), fork_list, fork_load_infrun_state(), gdb_printf(), inferior_ptid, one_fork_p(), ptrace, and target_pid_to_str().
Referenced by linux_nat_target::detach().
void linux_fork_killall | ( | void | ) |
Definition at line 295 of file linux-fork.c.
References fork_list, pid, and status.
Referenced by linux_nat_target::kill().
void linux_fork_mourn_inferior | ( | void | ) |
Definition at line 328 of file linux-fork.c.
References delete_fork(), find_last_fork(), fork_list, fork_load_infrun_state(), gdb_printf(), inferior_ptid, one_fork_p(), status, and target_pid_to_str().
Referenced by linux_nat_target::mourn_inferior().
|
static |
Definition at line 111 of file linux-fork.c.
References fork_list.
Referenced by add_fork(), checkpoint_command(), delete_fork(), linux_fork_detach(), and linux_fork_mourn_inferior().
|
static |
Definition at line 751 of file linux-fork.c.
References find_fork_id(), linux_fork_context(), and parse_and_eval_long().
|
static |
Definition at line 624 of file linux-fork.c.
Referenced by checkpoint_command(), and linux_fork_checkpointing_p().
|
static |
Definition at line 86 of file linux-fork.c.
Referenced by add_fork(), checkpoint_command(), delete_fork(), find_fork_id(), find_fork_pid(), find_fork_ptid(), find_last_fork(), forks_exist_p(), info_checkpoints_command(), linux_fork_detach(), linux_fork_killall(), linux_fork_mourn_inferior(), and one_fork_p().
|
static |
Definition at line 87 of file linux-fork.c.
Referenced by add_fork().