GDBserver
|
#include "server.h"
#include "linux-low.h"
#include "nat/linux-osdata.h"
#include "agent.h"
#include "tdesc.h"
#include "rsp-low.h"
#include "nat/linux-nat.h"
#include "nat/linux-waitpid.h"
#include "gdb_wait.h"
#include <sys/ptrace.h>
#include "nat/linux-ptrace.h"
#include "nat/linux-procfs.h"
#include "nat/linux-personality.h"
#include <signal.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sched.h>
#include <ctype.h>
#include <pwd.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sys/vfs.h>
#include <sys/uio.h>
#include "filestuff.h"
#include "tracepoint.h"
#include "hostio.h"
#include <elf.h>
#include "nat/linux-namespaces.h"
Go to the source code of this file.
Classes | |
struct | Elf32_auxv_t |
struct | Elf64_auxv_t |
struct | simple_pid_list |
struct | pending_signals |
struct | counter |
struct | iterate_over_lwps_args |
struct | thread_resume_array |
struct | link_map_offsets |
Macros | |
#define | SPUFS_MAGIC 0x23c9b64e |
#define | O_LARGEFILE 0 |
#define | W_STOPCODE(sig) ((sig) << 8 | 0x7f) |
#define | __SIGRTMIN 32 |
#define | target_is_async_p() (linux_event_pipe[0] != -1) |
#define | use_linux_regsets 0 |
#define | regsets_fetch_inferior_registers(regsets_info, regcache) 1 |
#define | regsets_store_inferior_registers(regsets_info, regcache) 1 |
#define | usr_fetch_inferior_registers(regs_info, regcache, regno, all) do {} while (0) |
#define | usr_store_inferior_registers(regs_info, regcache, regno, all) do {} while (0) |
#define | linux_read_loadmap NULL |
Enumerations | |
enum | stopping_threads_kind { NOT_STOPPING_THREADS, STOPPING_THREADS, STOPPING_AND_SUSPENDING_THREADS } |
Functions | |
ptid_t | ptid_of_lwp (struct lwp_info *lwp) |
void | lwp_set_arch_private_info (struct lwp_info *lwp, struct arch_lwp_info *info) |
struct arch_lwp_info * | lwp_arch_private_info (struct lwp_info *lwp) |
int | lwp_is_stopped (struct lwp_info *lwp) |
enum target_stop_reason | lwp_stop_reason (struct lwp_info *lwp) |
static void | add_to_pid_list (struct simple_pid_list **listp, int pid, int status) |
static int | pull_pid_from_list (struct simple_pid_list **listp, int pid, int *statusp) |
static void | linux_resume_one_lwp (struct lwp_info *lwp, int step, int signal, siginfo_t *info) |
static void | linux_resume (struct thread_resume *resume_info, size_t n) |
static void | stop_all_lwps (int suspend, struct lwp_info *except) |
static void | unstop_all_lwps (int unsuspend, struct lwp_info *except) |
static int | linux_wait_for_event_filtered (ptid_t wait_ptid, ptid_t filter_ptid, int *wstat, int options) |
static int | linux_wait_for_event (ptid_t ptid, int *wstat, int options) |
static struct lwp_info * | add_lwp (ptid_t ptid) |
static int | linux_stopped_by_watchpoint (void) |
static void | mark_lwp_dead (struct lwp_info *lwp, int wstat) |
static int | lwp_is_marked_dead (struct lwp_info *lwp) |
static void | proceed_all_lwps (void) |
static int | finish_step_over (struct lwp_info *lwp) |
static int | kill_lwp (unsigned long lwpid, int signo) |
static void | enqueue_pending_signal (struct lwp_info *lwp, int signal, siginfo_t *info) |
static void | complete_ongoing_step_over (void) |
static int | can_hardware_single_step (void) |
static int | supports_breakpoints (void) |
static int | supports_fast_tracepoints (void) |
static int | lwp_in_step_range (struct lwp_info *lwp) |
static void | send_sigstop (struct lwp_info *lwp) |
static void | wait_for_sigstop (void) |
static int | elf_64_header_p (const Elf64_Ehdr *header, unsigned int *machine) |
static int | elf_64_file_p (const char *file, unsigned int *machine) |
int | linux_pid_exe_is_elf_64_file (int pid, unsigned int *machine) |
static void | delete_lwp (struct lwp_info *lwp) |
static struct process_info * | linux_add_process (int pid, int attached) |
static CORE_ADDR | get_pc (struct lwp_info *lwp) |
static int | handle_extended_wait (struct lwp_info *event_lwp, int wstat) |
static int | check_stopped_by_breakpoint (struct lwp_info *lwp) |
static int | linux_create_inferior (char *program, char **allargs) |
int | linux_attach_lwp (ptid_t ptid) |
static int | attach_proc_task_lwp_callback (ptid_t ptid) |
static int | linux_attach (unsigned long pid) |
static int | second_thread_of_pid_p (struct inferior_list_entry *entry, void *args) |
static int | last_thread_of_process_p (int pid) |
static void | linux_kill_one_lwp (struct lwp_info *lwp) |
static void | kill_wait_lwp (struct lwp_info *lwp) |
static int | kill_one_lwp_callback (struct inferior_list_entry *entry, void *args) |
static int | linux_kill (int pid) |
static int | get_detach_signal (struct thread_info *thread) |
static int | linux_detach_one_lwp (struct inferior_list_entry *entry, void *args) |
static int | linux_detach (int pid) |
static int | delete_lwp_callback (struct inferior_list_entry *entry, void *proc) |
static void | linux_mourn (struct process_info *process) |
static void | linux_join (int pid) |
static int | linux_thread_alive (ptid_t ptid) |
static int | thread_still_has_status_pending_p (struct thread_info *thread) |
static int | status_pending_p_callback (struct inferior_list_entry *entry, void *arg) |
static int | same_lwp (struct inferior_list_entry *entry, void *data) |
struct lwp_info * | find_lwp_pid (ptid_t ptid) |
static int | num_lwps (int pid) |
static int | iterate_over_lwps_filter (struct inferior_list_entry *entry, void *args_p) |
struct lwp_info * | iterate_over_lwps (ptid_t filter, iterate_over_lwps_ftype callback, void *data) |
static void | check_zombie_leaders (void) |
static int | not_stopped_callback (struct inferior_list_entry *entry, void *arg) |
static void | lwp_suspended_inc (struct lwp_info *lwp) |
static void | lwp_suspended_decr (struct lwp_info *lwp) |
static int | handle_tracepoints (struct lwp_info *lwp) |
static int | linux_fast_tracepoint_collecting (struct lwp_info *lwp, struct fast_tpoint_collect_status *status) |
static int | maybe_move_out_of_jump_pad (struct lwp_info *lwp, int *wstat) |
static void | enqueue_one_deferred_signal (struct lwp_info *lwp, int *wstat) |
static int | dequeue_one_deferred_signal (struct lwp_info *lwp, int *wstat) |
static int | check_stopped_by_watchpoint (struct lwp_info *child) |
static int | linux_low_ptrace_options (int attached) |
static struct lwp_info * | linux_low_filter_event (int lwpid, int wstat) |
static void | resume_stopped_resumed_lwps (struct inferior_list_entry *entry) |
static int | count_events_callback (struct inferior_list_entry *entry, void *data) |
static int | select_singlestep_lwp_callback (struct inferior_list_entry *entry, void *data) |
static int | select_event_lwp_callback (struct inferior_list_entry *entry, void *data) |
static void | select_event_lwp (struct lwp_info **orig_lp) |
static int | unsuspend_one_lwp (struct inferior_list_entry *entry, void *except) |
static void | unsuspend_all_lwps (struct lwp_info *except) |
static void | move_out_of_jump_pad_callback (struct inferior_list_entry *entry) |
static int | stuck_in_jump_pad_callback (struct inferior_list_entry *entry, void *data) |
static int | lwp_running (struct inferior_list_entry *entry, void *data) |
static ptid_t | linux_wait_1 (ptid_t ptid, struct target_waitstatus *ourstatus, int target_options) |
static void | linux_stabilize_threads (void) |
static void | async_file_mark (void) |
static ptid_t | ignore_event (struct target_waitstatus *ourstatus) |
static void | async_file_flush (void) |
static ptid_t | linux_wait (ptid_t ptid, struct target_waitstatus *ourstatus, int target_options) |
void | linux_stop_lwp (struct lwp_info *lwp) |
static int | send_sigstop_callback (struct inferior_list_entry *entry, void *except) |
static int | suspend_and_send_sigstop_callback (struct inferior_list_entry *entry, void *except) |
static void | linux_resume_one_lwp_throw (struct lwp_info *lwp, int step, int signal, siginfo_t *info) |
static int | check_ptrace_stopped_lwp_gone (struct lwp_info *lp) |
static int | linux_set_resume_request (struct inferior_list_entry *entry, void *arg) |
static int | resume_status_pending_p (struct inferior_list_entry *entry, void *flag_p) |
static int | need_step_over_p (struct inferior_list_entry *entry, void *dummy) |
static int | start_step_over (struct lwp_info *lwp) |
static int | linux_resume_one_thread (struct inferior_list_entry *entry, void *arg) |
static int | proceed_one_lwp (struct inferior_list_entry *entry, void *except) |
static int | unsuspend_and_proceed_one_lwp (struct inferior_list_entry *entry, void *except) |
static int | linux_register_in_regsets (const struct regs_info *regs_info, int regno) |
void | linux_fetch_registers (struct regcache *regcache, int regno) |
void | linux_store_registers (struct regcache *regcache, int regno) |
static int | linux_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len) |
static int | linux_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len) |
static void | linux_look_up_symbols (void) |
static void | linux_request_interrupt (void) |
static int | linux_read_auxv (CORE_ADDR offset, unsigned char *myaddr, unsigned int len) |
static int | linux_supports_z_point_type (char z_type) |
static int | linux_insert_point (enum raw_bkpt_type type, CORE_ADDR addr, int size, struct raw_breakpoint *bp) |
static int | linux_remove_point (enum raw_bkpt_type type, CORE_ADDR addr, int size, struct raw_breakpoint *bp) |
static int | linux_stopped_by_sw_breakpoint (void) |
static int | linux_supports_stopped_by_sw_breakpoint (void) |
static int | linux_stopped_by_hw_breakpoint (void) |
static int | linux_supports_stopped_by_hw_breakpoint (void) |
static int | linux_supports_conditional_breakpoints (void) |
static CORE_ADDR | linux_stopped_data_address (void) |
static int | linux_qxfer_osdata (const char *annex, unsigned char *readbuf, unsigned const char *writebuf, CORE_ADDR offset, int len) |
static void | siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction) |
static int | linux_xfer_siginfo (const char *annex, unsigned char *readbuf, unsigned const char *writebuf, CORE_ADDR offset, int len) |
static void | sigchld_handler (int signo) |
static int | linux_supports_non_stop (void) |
static int | linux_async (int enable) |
static int | linux_start_non_stop (int nonstop) |
static int | linux_supports_multi_process (void) |
static int | linux_supports_fork_events (void) |
static int | linux_supports_vfork_events (void) |
static int | reset_lwp_ptrace_options_callback (struct inferior_list_entry *entry, void *args) |
static void | linux_handle_new_gdb_connection (void) |
static int | linux_supports_disable_randomization (void) |
static int | linux_supports_agent (void) |
static int | linux_supports_range_stepping (void) |
static int | spu_enumerate_spu_ids (long pid, unsigned char *buf, CORE_ADDR offset, int len) |
static int | linux_qxfer_spu (const char *annex, unsigned char *readbuf, unsigned const char *writebuf, CORE_ADDR offset, int len) |
static void | linux_process_qsupported (const char *query) |
static int | linux_supports_tracepoints (void) |
static CORE_ADDR | linux_read_pc (struct regcache *regcache) |
static void | linux_write_pc (struct regcache *regcache, CORE_ADDR pc) |
static int | linux_thread_stopped (struct thread_info *thread) |
static void | linux_pause_all (int freeze) |
static void | linux_unpause_all (int unfreeze) |
static int | linux_prepare_to_access_memory (void) |
static void | linux_done_accessing_memory (void) |
static int | linux_install_fast_tracepoint_jump_pad (CORE_ADDR tpoint, CORE_ADDR tpaddr, CORE_ADDR collector, CORE_ADDR lockaddr, ULONGEST orig_size, CORE_ADDR *jump_entry, CORE_ADDR *trampoline, ULONGEST *trampoline_size, unsigned char *jjump_pad_insn, ULONGEST *jjump_pad_insn_size, CORE_ADDR *adjusted_insn_addr, CORE_ADDR *adjusted_insn_addr_end, char *err) |
static struct emit_ops * | linux_emit_ops (void) |
static int | linux_get_min_fast_tracepoint_insn_len (void) |
static int | get_phdr_phnum_from_proc_auxv (const int pid, const int is_elf64, CORE_ADDR *phdr_memaddr, int *num_phdr) |
static CORE_ADDR | get_dynamic (const int pid, const int is_elf64) |
static CORE_ADDR | get_r_debug (const int pid, const int is_elf64) |
static int | read_one_ptr (CORE_ADDR memaddr, CORE_ADDR *ptr, int ptr_size) |
static int | linux_qxfer_libraries_svr4 (const char *annex, unsigned char *readbuf, unsigned const char *writebuf, CORE_ADDR offset, int len) |
ptid_t | current_lwp_ptid (void) |
static void | linux_init_signals () |
void | initialize_low (void) |
Variables | |
struct simple_pid_list * | stopped_pids |
enum stopping_threads_kind | stopping_threads = NOT_STOPPING_THREADS |
int | using_threads = 1 |
static int | stabilizing_threads |
ptid_t | step_over_bkpt |
static int | linux_event_pipe [2] = { -1, -1 } |
static struct target_ops | linux_target_ops |
#define __SIGRTMIN 32 |
Definition at line 80 of file linux-low.c.
Referenced by enqueue_one_deferred_signal(), linux_create_inferior(), linux_init_signals(), and linux_wait_1().
#define linux_read_loadmap NULL |
Definition at line 6018 of file linux-low.c.
#define O_LARGEFILE 0 |
Definition at line 70 of file linux-low.c.
Referenced by linux_read_memory().
#define regsets_fetch_inferior_registers | ( | regsets_info, | |
regcache | |||
) | 1 |
Definition at line 4954 of file linux-low.c.
Referenced by linux_fetch_registers().
#define regsets_store_inferior_registers | ( | regsets_info, | |
regcache | |||
) | 1 |
Definition at line 4955 of file linux-low.c.
Referenced by linux_store_registers().
#define SPUFS_MAGIC 0x23c9b64e |
Definition at line 59 of file linux-low.c.
Referenced by spu_enumerate_spu_ids().
#define target_is_async_p | ( | ) | (linux_event_pipe[0] != -1) |
Definition at line 328 of file linux-low.c.
Referenced by linux_async(), linux_start_non_stop(), linux_wait(), and sigchld_handler().
#define use_linux_regsets 0 |
Definition at line 4953 of file linux-low.c.
Referenced by linux_register_in_regsets().
Definition at line 5131 of file linux-low.c.
Referenced by linux_fetch_registers().
Definition at line 5132 of file linux-low.c.
Referenced by linux_store_registers().
#define W_STOPCODE | ( | sig | ) | ((sig) << 8 | 0x7f) |
Definition at line 74 of file linux-low.c.
Referenced by dequeue_one_deferred_signal(), and linux_stabilize_threads().
Enumerator | |
---|---|
NOT_STOPPING_THREADS | |
STOPPING_THREADS | |
STOPPING_AND_SUSPENDING_THREADS |
Definition at line 234 of file linux-low.c.
Definition at line 759 of file linux-low.c.
References add_thread(), linux_target_ops::new_thread, the_low_target, lwp_info::thread, lwp_info::waitstatus, and xcalloc().
Referenced by handle_extended_wait(), linux_attach_lwp(), and linux_create_inferior().
|
static |
Definition at line 206 of file linux-low.c.
References simple_pid_list::next, simple_pid_list::pid, simple_pid_list::status, and xmalloc().
Referenced by linux_low_filter_event().
|
static |
Definition at line 3384 of file linux-low.c.
References errno, and linux_event_pipe.
Referenced by async_file_mark(), and linux_wait().
|
static |
Definition at line 3396 of file linux-low.c.
References async_file_flush(), errno, and linux_event_pipe.
Referenced by ignore_event(), linux_async(), linux_wait(), and sigchld_handler().
|
static |
Definition at line 932 of file linux-low.c.
References _, debug_printf(), debug_threads, find_thread_ptid(), linux_attach_lwp(), linux_proc_pid_is_gone(), linux_ptrace_attach_fail_reason_string(), ptid_get_lwp(), strerror(), and warning().
Referenced by linux_attach().
|
static |
Definition at line 282 of file linux-low.c.
References linux_target_ops::breakpoint_reinsert_addr, and the_low_target.
Referenced by finish_step_over(), linux_resume_one_lwp_throw(), linux_supports_conditional_breakpoints(), and start_step_over().
|
static |
Definition at line 3980 of file linux-low.c.
References gdb_assert, get_lwp_thread, linux_proc_pid_is_trace_stopped_nowarn(), lwpid_of, lwp_info::status_pending_p, lwp_info::stop_reason, and lwp_info::stopped.
Referenced by linux_resume_one_lwp().
|
static |
Definition at line 629 of file linux-low.c.
References linux_target_ops::breakpoint_at, current_thread, debug_printf(), debug_threads, linux_target_ops::decr_pc_after_break, GDB_ARCH_TRAP_BRKPT, get_lwp_thread, linux_target_ops::get_pc, get_pc(), get_thread_regcache(), hardware_breakpoint_inserted_here(), lwpid_of, ptid_of, PTRACE_GETSIGINFO, PTRACE_TYPE_ARG3, linux_target_ops::set_pc, lwp_info::stepping, lwp_info::stop_pc, lwp_info::stop_reason, target_pid_to_str(), the_low_target, and TRAP_HWBKPT.
Referenced by linux_low_filter_event().
|
static |
Definition at line 2051 of file linux-low.c.
References current_thread, get_lwp_thread, lwp_info::stop_reason, linux_target_ops::stopped_by_watchpoint, linux_target_ops::stopped_data_address, lwp_info::stopped_data_address, and the_low_target.
Referenced by linux_low_filter_event().
|
static |
Definition at line 1617 of file linux-low.c.
References ALL_PROCESSES, debug_printf(), debug_threads, delete_lwp(), find_lwp_pid(), last_thread_of_process_p(), linux_proc_pid_is_zombie(), num_lwps(), pid_of, and pid_to_ptid().
Referenced by linux_wait_for_event_filtered().
|
static |
Definition at line 4370 of file linux-low.c.
References __WALL, debug_printf(), debug_threads, find_lwp_pid(), finish_step_over(), gdb_assert, linux_wait_for_event_filtered(), minus_one_ptid, null_ptid, ptid_equal(), and unsuspend_all_lwps().
Referenced by linux_detach().
|
static |
Definition at line 2524 of file linux-low.c.
References gdb_assert, get_thread_lwp, thread_info::last_status, and lwp_info::status_pending_p.
Referenced by select_event_lwp().
ptid_t current_lwp_ptid | ( | void | ) |
Definition at line 6814 of file linux-low.c.
References current_thread, and ptid_of.
Referenced by x86_linux_dr_get_addr(), x86_linux_dr_get_control(), x86_linux_dr_get_status(), x86_linux_dr_set_addr(), and x86_linux_dr_set_control().
|
static |
Definition at line 388 of file linux-low.c.
References lwp_info::arch_private, debug_printf(), debug_threads, get_lwp_thread, lwpid_of, and remove_thread().
Referenced by check_zombie_leaders(), delete_lwp_callback(), linux_detach_one_lwp(), and linux_low_filter_event().
|
static |
Definition at line 1357 of file linux-low.c.
References delete_lwp(), get_thread_lwp, and pid_of.
Referenced by linux_mourn().
|
static |
Definition at line 1993 of file linux-low.c.
References debug_printf(), debug_threads, get_lwp_thread, lwpid_of, lwp_info::pending_signals_to_report, pending_signals::prev, PTRACE_SETSIGINFO, PTRACE_TYPE_ARG3, pending_signals::signal, W_STOPCODE, and WSTOPSIG.
Referenced by linux_set_resume_request(), and linux_wait_1().
|
static |
Definition at line 356 of file linux-low.c.
References elf_64_header_p().
Referenced by linux_pid_exe_is_elf_64_file(), and linux_qxfer_libraries_svr4().
|
static |
Definition at line 336 of file linux-low.c.
Referenced by elf_64_file_p().
|
static |
Definition at line 1934 of file linux-low.c.
References __SIGRTMIN, debug_printf(), debug_threads, get_lwp_thread, pending_signals::info, lwpid_of, lwp_info::pending_signals_to_report, pending_signals::prev, PTRACE_GETSIGINFO, PTRACE_TYPE_ARG3, pending_signals::signal, WSTOPSIG, and xmalloc().
Referenced by linux_stabilize_threads(), linux_wait_1(), linux_wait_for_event_filtered(), and move_out_of_jump_pad_callback().
|
static |
Definition at line 3752 of file linux-low.c.
References pending_signals::info, lwp_info::pending_signals, pending_signals::prev, pending_signals::signal, and xmalloc().
Referenced by linux_wait_1().
Definition at line 1531 of file linux-low.c.
References all_threads, find_inferior(), get_thread_lwp, and same_lwp().
Referenced by arm_new_fork(), attach_thread(), check_zombie_leaders(), complete_ongoing_step_over(), linux_kill(), linux_low_filter_event(), linux_thread_alive(), linux_wait_for_event_filtered(), maybe_attach_thread(), ps_lgetregs(), and x86_get_thread_area().
|
static |
Definition at line 4334 of file linux-low.c.
References lwp_info::bp_reinsert, can_hardware_single_step(), debug_printf(), debug_threads, delete_reinsert_breakpoints(), null_ptid, reinsert_breakpoints_at(), and reinsert_fast_tracepoint_jumps_at().
Referenced by complete_ongoing_step_over(), and linux_wait_1().
|
static |
Definition at line 1201 of file linux-low.c.
References debug_printf(), debug_threads, gdb_signal_from_host(), gdb_signal_to_string(), get_thread_lwp, thread_info::last_status, lwp_info::last_status, linux_is_extended_waitstatus(), program_signals, program_signals_p, ptid_of, lwp_info::status_pending, lwp_info::status_pending_p, target_pid_to_str(), WIFSTOPPED, and WSTOPSIG.
Referenced by linux_detach_one_lwp().
|
static |
Definition at line 6202 of file linux-low.c.
References alloca(), gdb_assert, get_phdr_phnum_from_proc_auxv(), and linux_read_memory().
Referenced by get_r_debug().
Definition at line 582 of file linux-low.c.
References current_thread, debug_printf(), debug_threads, get_lwp_thread, linux_target_ops::get_pc, get_thread_regcache(), and the_low_target.
Referenced by check_stopped_by_breakpoint(), linux_low_filter_event(), linux_resume_one_lwp_throw(), need_step_over_p(), start_step_over(), and thread_still_has_status_pending_p().
|
static |
Definition at line 6136 of file linux-low.c.
References Elf32_auxv_t::a_type, Elf64_auxv_t::a_type, Elf32_auxv_t::a_un, Elf64_auxv_t::a_un, Elf32_auxv_t::a_val, Elf64_auxv_t::a_val, warning(), and xsnprintf().
Referenced by get_dynamic().
|
static |
Definition at line 6279 of file linux-low.c.
References get_dynamic(), and linux_read_memory().
Referenced by linux_qxfer_libraries_svr4().
|
static |
Definition at line 427 of file linux-low.c.
References _, __WALL, add_lwp(), process_info::attached, process_info::breakpoints, clone_all_breakpoints(), copy_target_description(), debug_printf(), debug_threads, gdb_assert, get_lwp_thread, get_thread_process(), internal_error(), thread_info::last_resume_kind, thread_info::last_status, linux_add_process(), linux_ptrace_get_extended_event(), lwpid_of, lwp_info::must_set_ptrace_flags, my_waitpid(), linux_target_ops::new_fork, perror_with_name(), pid_of, ptid_build(), ptid_get_lwp(), ptid_get_pid(), ptid_of, PTRACE_EVENT_CLONE, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK, PTRACE_EVENT_VFORK_DONE, PTRACE_GETEVENTMSG, PTRACE_TYPE_ARG3, pull_pid_from_list(), process_info::raw_breakpoints, lwp_info::status_pending, lwp_info::status_pending_p, lwp_info::stop_expected, lwp_info::stopped, STOPPING_AND_SUSPENDING_THREADS, stopping_threads, lwp_info::suspended, process_info::tdesc, the_low_target, lwp_info::waitstatus, warning(), WIFSTOPPED, WSTOPSIG, and xmalloc().
Referenced by linux_low_filter_event().
|
static |
Definition at line 1738 of file linux-low.c.
References lwp_info::collecting_fast_tracepoint, debug_printf(), debug_threads, gdb_assert, get_lwp_thread, handle_tracepoint_bkpts(), lwp_suspended_decr(), lwp_suspended_inc(), stabilizing_threads, lwp_info::stop_pc, lwp_info::suspended, tracepoint_finished_step(), and tracepoint_was_hit().
Referenced by linux_wait_1().
|
static |
Definition at line 2779 of file linux-low.c.
References async_file_mark(), and null_ptid.
Referenced by linux_wait_1().
void initialize_low | ( | void | ) |
Definition at line 6935 of file linux-low.c.
Referenced by captured_main().
struct lwp_info* iterate_over_lwps | ( | ptid_t | filter, |
iterate_over_lwps_ftype | callback, | ||
void * | data | ||
) |
Definition at line 1599 of file linux-low.c.
References all_threads, iterate_over_lwps_args::callback, iterate_over_lwps_args::filter, find_inferior(), get_thread_lwp, and iterate_over_lwps_filter().
Referenced by x86_linux_dr_set_addr(), and x86_linux_dr_set_control().
|
static |
Definition at line 1580 of file linux-low.c.
References iterate_over_lwps_args::callback, iterate_over_lwps_args::data, iterate_over_lwps_args::filter, get_thread_lwp, inferior_list_entry::id, and ptid_match().
Referenced by iterate_over_lwps().
|
static |
Definition at line 3441 of file linux-low.c.
References errno.
Referenced by linux_attach_lwp(), linux_detach_one_lwp(), linux_kill_one_lwp(), and send_sigstop().
|
static |
Definition at line 1133 of file linux-low.c.
References debug_printf(), debug_threads, get_thread_lwp, inferior_list_entry::id, kill_wait_lwp(), lwpid_of, ptid_get_pid(), and target_pid_to_str().
Referenced by linux_kill().
|
static |
Definition at line 1089 of file linux-low.c.
References __WCLONE, debug_printf(), debug_threads, errno, get_lwp_thread, linux_kill_one_lwp(), my_waitpid(), perror_with_name(), ptid_get_lwp(), ptid_get_pid(), ptid_of, and WIFSTOPPED.
Referenced by kill_one_lwp_callback(), and linux_kill().
|
static |
Definition at line 1033 of file linux-low.c.
References all_threads, find_inferior(), counter::pid, and second_thread_of_pid_p().
Referenced by check_zombie_leaders(), and linux_wait_for_event_filtered().
|
static |
Definition at line 404 of file linux-low.c.
References add_process(), process_info_private::arch_private, process_info_private::new_inferior, linux_target_ops::new_process, process_info::priv, the_low_target, and xcalloc().
Referenced by handle_extended_wait(), linux_attach(), and linux_create_inferior().
|
static |
Definition at line 5695 of file linux-low.c.
References add_file_handler(), async_file_mark(), debug_printf(), debug_threads, delete_file_handler(), handle_target_event(), linux_event_pipe, target_is_async_p, and warning().
Referenced by linux_start_non_stop().
|
static |
Definition at line 975 of file linux-low.c.
References attach_proc_task_lwp_callback(), error(), find_thread_ptid(), thread_info::last_resume_kind, linux_add_process(), linux_attach_lwp(), linux_proc_attach_tgid_threads(), linux_ptrace_attach_fail_reason_string(), non_stop, and ptid_build().
int linux_attach_lwp | ( | ptid_t | ptid | ) |
Definition at line 846 of file linux-low.c.
References add_lwp(), debug_printf(), debug_threads, errno, kill_lwp(), linux_proc_pid_is_stopped(), lwp_info::must_set_ptrace_flags, ptid_get_lwp(), PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, and lwp_info::stop_expected.
Referenced by attach_proc_task_lwp_callback(), attach_thread(), and linux_attach().
|
static |
Definition at line 779 of file linux-low.c.
References __SIGRTMIN, add_lwp(), close_most_fds(), disable_randomization, do_cleanups(), errno, linux_add_process(), maybe_disable_address_space_randomization(), lwp_info::must_set_ptrace_flags, perror_with_name(), ptid_build(), PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, remote_connection_is_stdio(), and strerror().
|
static |
Definition at line 1318 of file linux-low.c.
References all_threads, complete_ongoing_step_over(), find_inferior(), find_process_pid(), linux_detach_one_lwp(), target_ops::mourn, stabilize_threads, stop_all_lwps(), the_target, thread_db_detach(), and unstop_all_lwps().
|
static |
Definition at line 1277 of file linux-low.c.
References _, debug_printf(), debug_threads, delete_lwp(), errno, error(), get_detach_signal(), get_thread_lwp, inferior_list_entry::id, kill_lwp(), lwpid_of, linux_target_ops::prepare_to_resume, ptid_get_pid(), ptid_of, PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, regcache_invalidate_thread(), lwp_info::stop_expected, strerror(), target_pid_to_str(), and the_low_target.
Referenced by linux_detach().
|
static |
Definition at line 6088 of file linux-low.c.
References linux_unpause_all(), and non_stop.
|
static |
Definition at line 6119 of file linux-low.c.
References linux_target_ops::emit_ops, and the_low_target.
|
static |
Definition at line 1784 of file linux-low.c.
References fast_tracepoint_collecting(), get_lwp_thread, linux_target_ops::get_thread_area, lwpid_of, lwp_info::stop_pc, and the_low_target.
Referenced by linux_wait_1(), maybe_move_out_of_jump_pad(), and stuck_in_jump_pad_callback().
void linux_fetch_registers | ( | struct regcache * | regcache, |
int | regno | ||
) |
Definition at line 5138 of file linux-low.c.
References linux_target_ops::fetch_register, linux_register_in_regsets(), usrregs_info::num_regs, linux_target_ops::regs_info, regsets_fetch_inferior_registers, the_low_target, usr_fetch_inferior_registers, and regs_info::usrregs.
|
static |
Definition at line 6128 of file linux-low.c.
References linux_target_ops::get_min_fast_tracepoint_insn_len, and the_low_target.
|
static |
Definition at line 5817 of file linux-low.c.
References all_threads, find_inferior(), and reset_lwp_ptrace_options_callback().
|
static |
|
static |
Definition at line 5441 of file linux-low.c.
References insert_memory_breakpoint(), linux_target_ops::insert_point, raw_bkpt_type_sw, and the_low_target.
|
static |
Definition at line 6097 of file linux-low.c.
References linux_target_ops::install_fast_tracepoint_jump_pad, and the_low_target.
|
static |
Definition at line 1390 of file linux-low.c.
References errno, my_waitpid(), WIFEXITED, and WIFSIGNALED.
|
static |
Definition at line 1160 of file linux-low.c.
References all_threads, debug_printf(), debug_threads, find_inferior(), find_lwp_pid(), find_process_pid(), kill_one_lwp_callback(), kill_wait_lwp(), target_ops::mourn, pid_to_ptid(), stop_all_lwps(), the_target, and unstop_all_lwps().
|
static |
Definition at line 1044 of file linux-low.c.
References debug_printf(), debug_threads, errno, get_lwp_thread, kill_lwp(), lwpid_of, ptid_of, PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, strerror(), and target_pid_to_str().
Referenced by kill_wait_lwp().
|
static |
Definition at line 5377 of file linux-low.c.
References current_process(), linux_supports_traceclone(), process_info::priv, process_info_private::thread_db, and thread_db_init().
|
static |
Definition at line 2101 of file linux-low.c.
References add_to_pid_list(), linux_target_ops::arch_setup, process_info::attached, check_stopped_by_breakpoint(), check_stopped_by_watchpoint(), current_thread, debug_printf(), debug_threads, delete_lwp(), find_lwp_pid(), find_process_pid(), gdb_assert, get_lwp_thread, get_pc(), handle_extended_wait(), thread_info::last_resume_kind, lwp_info::last_status, linux_enable_event_reporting(), linux_is_extended_waitstatus(), linux_low_ptrace_options(), linux_resume_one_lwp(), linux_wstatus_maybe_breakpoint(), mark_lwp_dead(), lwp_info::must_set_ptrace_flags, process_info_private::new_inferior, NOT_STOPPING_THREADS, num_lwps(), pid_of, pid_to_ptid(), process_info::priv, ptid_of, lwp_info::status_pending, lwp_info::status_pending_p, lwp_info::stepping, lwp_info::stop_expected, lwp_info::stop_pc, lwp_info::stop_reason, lwp_info::stopped, stopping_threads, target_pid_to_str(), the_low_target, WIFEXITED, WIFSIGNALED, WIFSTOPPED, and WSTOPSIG.
Referenced by linux_wait_for_event_filtered().
|
static |
Definition at line 2080 of file linux-low.c.
References PTRACE_O_EXITKILL, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK, PTRACE_O_TRACEVFORKDONE, report_fork_events, and report_vfork_events.
Referenced by linux_low_filter_event(), and reset_lwp_ptrace_options_callback().
|
static |
Definition at line 1370 of file linux-low.c.
References all_threads, process_info_private::arch_private, delete_lwp_callback(), find_inferior(), process_info::priv, remove_process(), and thread_db_mourn().
|
static |
Definition at line 6063 of file linux-low.c.
References stop_all_lwps().
Referenced by linux_prepare_to_access_memory().
int linux_pid_exe_is_elf_64_file | ( | int | pid, |
unsigned int * | machine | ||
) |
Definition at line 379 of file linux-low.c.
References elf_64_file_p().
Referenced by tile_arch_setup(), x86_linux_read_description(), and x86_siginfo_fixup().
|
static |
Definition at line 6078 of file linux-low.c.
References linux_pause_all(), and non_stop.
|
static |
Definition at line 6022 of file linux-low.c.
References linux_target_ops::process_qsupported, and the_low_target.
|
static |
Definition at line 6411 of file linux-low.c.
References current_process(), current_thread, decode_address_to_semicolon(), elf_64_file_p(), get_r_debug(), link_map_offsets::l_addr_offset, link_map_offsets::l_ld_offset, link_map_offsets::l_name_offset, link_map_offsets::l_next_offset, link_map_offsets::l_prev_offset, linux_read_memory(), lwpid_of, name, offset, process_info::priv, process_info_private::r_debug, link_map_offsets::r_map_offset, link_map_offsets::r_version_offset, read_one_ptr(), startswith(), warning(), xfree(), xmalloc(), xml_escape_text(), xrealloc(), and xsnprintf().
|
static |
Definition at line 5583 of file linux-low.c.
References linux_common_xfer_osdata().
|
static |
Definition at line 5902 of file linux-low.c.
References current_thread, lwpid_of, and spu_enumerate_spu_ids().
|
static |
Definition at line 5406 of file linux-low.c.
References current_thread, lwpid_of, and xsnprintf().
|
static |
Definition at line 5200 of file linux-low.c.
References alloca(), current_thread, errno, lwpid_of, O_LARGEFILE, PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, and PTRACE_XFER_TYPE.
Referenced by get_dynamic(), get_r_debug(), linux_qxfer_libraries_svr4(), and read_one_ptr().
Definition at line 6038 of file linux-low.c.
References linux_target_ops::get_pc, and the_low_target.
|
static |
Definition at line 4963 of file linux-low.c.
References regs_info::regset_bitmap, and use_linux_regsets.
Referenced by linux_fetch_registers(), and linux_store_registers().
|
static |
Definition at line 5454 of file linux-low.c.
References raw_bkpt_type_sw, remove_memory_breakpoint(), linux_target_ops::remove_point, and the_low_target.
|
static |
Definition at line 5393 of file linux-low.c.
References signal_pid.
|
static |
Definition at line 4522 of file linux-low.c.
References all_threads, debug_enter, debug_exit, debug_printf(), debug_threads, find_inferior(), get_thread_lwp, linux_resume_one_thread(), linux_set_resume_request(), need_step_over_p(), non_stop, resume_status_pending_p(), start_step_over(), and supports_breakpoints().
|
static |
Definition at line 4010 of file linux-low.c.
References CATCH, check_ptrace_stopped_lwp_gone(), END_CATCH, linux_resume_one_lwp_throw(), RETURN_MASK_ERROR, throw_exception(), and TRY.
Referenced by linux_low_filter_event(), linux_resume_one_thread(), linux_wait_1(), linux_wait_for_event_filtered(), move_out_of_jump_pad_callback(), proceed_one_lwp(), resume_stopped_resumed_lwps(), start_step_over(), and status_pending_p_callback().
|
static |
Definition at line 3770 of file linux-low.c.
References lwp_info::bp_reinsert, can_hardware_single_step(), lwp_info::collecting_fast_tracepoint, current_thread, debug_printf(), debug_threads, errno, gdb_assert, get_lwp_thread, linux_target_ops::get_pc, get_pc(), get_thread_regcache(), pending_signals::info, internal_error(), lwpid_of, paddress(), lwp_info::pending_signals, perror_with_name(), linux_target_ops::prepare_to_resume, pending_signals::prev, PTRACE_SETSIGINFO, PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, regcache_invalidate_thread(), release_while_stepping_state_list(), pending_signals::signal, stabilizing_threads, lwp_info::status_pending_p, lwp_info::stepping, lwp_info::stop_expected, lwp_info::stop_pc, lwp_info::stop_reason, lwp_info::stopped, lwp_info::suspended, the_low_target, thread_info::while_stepping, and xmalloc().
Referenced by linux_resume_one_lwp().
|
static |
Definition at line 4410 of file linux-low.c.
References debug_printf(), debug_threads, get_thread_lwp, pending_signals::info, thread_resume::kind, thread_info::last_status, lwp_info::last_status, linux_resume_one_lwp(), lwpid_of, lwp_info::pending_signals, lwp_info::pending_signals_to_report, pending_signals::prev, PTRACE_GETSIGINFO, PTRACE_TYPE_ARG3, lwp_info::resume, send_sigstop(), thread_resume::sig, pending_signals::signal, lwp_info::status_pending_p, lwp_info::stopped, lwp_info::suspended, WIFSTOPPED, WSTOPSIG, and xmalloc().
Referenced by linux_resume().
|
static |
Definition at line 4041 of file linux-low.c.
References debug_printf(), debug_threads, dequeue_one_deferred_signal(), get_thread_lwp, inferior_list_entry::id, thread_resume::kind, thread_info::last_resume_kind, thread_info::last_status, lwpid_of, minus_one_ptid, thread_resume_array::n, pid_of, ptid_equal(), ptid_get_lwp(), ptid_get_pid(), ptid_is_pid(), lwp_info::resume, thread_resume_array::resume, lwp_info::status_pending, lwp_info::status_pending_p, thread_resume::step_range_end, lwp_info::step_range_end, thread_resume::step_range_start, lwp_info::step_range_start, lwp_info::stopped, thread_resume::thread, and WSTOPSIG.
Referenced by linux_resume().
|
static |
Definition at line 2703 of file linux-low.c.
References all_threads, current_thread, debug_printf(), debug_threads, enqueue_one_deferred_signal(), find_inferior(), for_each_inferior(), gdb_signal_to_host(), get_thread_lwp, thread_info::last_resume_kind, linux_wait_1(), lwp_running(), lwp_suspended_inc(), lwpid_of, minus_one_ptid, move_out_of_jump_pad_callback(), stabilizing_threads, stuck_in_jump_pad_callback(), unsuspend_one_lwp(), and W_STOPCODE.
|
static |
Definition at line 5750 of file linux-low.c.
References linux_async(), and target_is_async_p.
void linux_stop_lwp | ( | struct lwp_info * | lwp | ) |
Definition at line 3467 of file linux-low.c.
References send_sigstop().
Referenced by debug_reg_change_callback(), reset_lwp_ptrace_options_callback(), update_debug_registers_callback(), update_registers_callback(), and update_watch_registers_callback().
|
static |
Definition at line 5490 of file linux-low.c.
References current_thread, get_thread_lwp, and lwp_info::stop_reason.
|
static |
Definition at line 5470 of file linux-low.c.
References current_thread, get_thread_lwp, and lwp_info::stop_reason.
|
static |
Definition at line 5520 of file linux-low.c.
References current_thread, get_thread_lwp, and lwp_info::stop_reason.
|
static |
Definition at line 5528 of file linux-low.c.
References current_thread, get_thread_lwp, and lwp_info::stopped_data_address.
void linux_store_registers | ( | struct regcache * | regcache, |
int | regno | ||
) |
Definition at line 5171 of file linux-low.c.
References linux_register_in_regsets(), linux_target_ops::regs_info, regsets_store_inferior_registers, the_low_target, usr_store_inferior_registers, and regs_info::usrregs.
|
static |
Definition at line 5836 of file linux-low.c.
|
static |
Definition at line 5510 of file linux-low.c.
References can_hardware_single_step().
|
static |
Definition at line 5826 of file linux-low.c.
|
static |
Definition at line 5770 of file linux-low.c.
References linux_supports_tracefork().
|
static |
Definition at line 5762 of file linux-low.c.
|
static |
Definition at line 5689 of file linux-low.c.
|
static |
Definition at line 5842 of file linux-low.c.
References linux_target_ops::supports_range_stepping, and the_low_target.
|
static |
Definition at line 5501 of file linux-low.c.
References USE_SIGTRAP_SIGINFO.
|
static |
Definition at line 5481 of file linux-low.c.
References USE_SIGTRAP_SIGINFO.
|
static |
Definition at line 6029 of file linux-low.c.
References linux_target_ops::supports_tracepoints, and the_low_target.
|
static |
Definition at line 5778 of file linux-low.c.
References linux_supports_tracefork().
|
static |
Definition at line 5434 of file linux-low.c.
References linux_target_ops::supports_z_point_type, and the_low_target.
|
static |
Definition at line 1403 of file linux-low.c.
References find_lwp_pid(), and lwp_is_marked_dead().
Referenced by wait_for_sigstop().
|
static |
Definition at line 6055 of file linux-low.c.
References get_thread_lwp.
|
static |
Definition at line 6072 of file linux-low.c.
References unstop_all_lwps().
Referenced by linux_done_accessing_memory().
|
static |
Definition at line 3411 of file linux-low.c.
References async_file_flush(), async_file_mark(), linux_wait_1(), null_ptid, ptid_equal(), and target_is_async_p.
|
static |
Definition at line 2793 of file linux-low.c.
References __SIGRTMIN, __WALL, agent_loaded_p(), linux_target_ops::breakpoint_at, breakpoint_here(), breakpoint_inserted_here(), linux_target_ops::breakpoint_len, check_breakpoints(), lwp_info::collecting_fast_tracepoint, current_process(), current_thread, debug_enter, debug_exit, debug_printf(), debug_threads, linux_target_ops::decr_pc_after_break, delete_breakpoint(), dequeue_one_deferred_signal(), enqueue_one_deferred_signal(), enqueue_pending_signal(), lwp_info::exit_jump_pad_bkpt, finish_step_over(), gdb_assert, gdb_breakpoint_here(), gdb_condition_true_at_breakpoint(), gdb_no_commands_at_breakpoint(), gdb_signal_from_host(), get_lwp_thread, get_thread_lwp, get_thread_regcache(), handle_tracepoints(), ignore_event(), thread_info::last_resume_kind, linux_fast_tracepoint_collecting(), linux_resume_one_lwp(), linux_wait_for_event(), linux_wstatus_maybe_breakpoint(), lwp_in_step_range(), lwpid_of, maybe_move_out_of_jump_pad(), minus_one_ptid, lwp_info::need_step_over, non_stop, null_ptid, paddress(), pass_signals, proceed_all_lwps(), ptid_equal(), ptid_of, PTRACE_GETSIGINFO, PTRACE_TYPE_ARG3, run_breakpoint_commands(), select_event_lwp(), linux_target_ops::set_pc, stabilize_threads, stabilizing_threads, lwp_info::status_pending, lwp_info::status_pending_p, lwp_info::step_range_end, lwp_info::step_range_start, lwp_info::stepping, stop_all_lwps(), lwp_info::stop_pc, lwp_info::stop_reason, supports_breakpoints(), supports_fast_tracepoints(), lwp_info::suspended, swbreak_feature, target_pid_to_str(), the_low_target, unstop_all_lwps(), unsuspend_all_lwps(), USE_THREAD_DB, lwp_info::waitstatus, WEXITSTATUS, WIFEXITED, WIFSIGNALED, WIFSTOPPED, WNOHANG, WSTOPSIG, WTERMSIG, and xfree().
Referenced by linux_stabilize_threads(), and linux_wait().
|
static |
Definition at line 2516 of file linux-low.c.
References linux_wait_for_event_filtered().
Referenced by linux_wait_1().
|
static |
Definition at line 2307 of file linux-low.c.
References all_threads, check_zombie_leaders(), lwp_info::collecting_fast_tracepoint, current_thread, debug_printf(), debug_threads, enqueue_one_deferred_signal(), errno, find_inferior(), find_lwp_pid(), for_each_inferior(), gdb_assert, get_lwp_thread, get_thread_lwp, internal_error(), last_thread_of_process_p(), linux_low_filter_event(), linux_resume_one_lwp(), lwpid_of, minus_one_ptid, my_waitpid(), not_stopped_callback(), NOT_STOPPING_THREADS, null_ptid, pid_of, ptid_equal(), ptid_is_pid(), resume_stopped_resumed_lwps(), lwp_info::status_pending, lwp_info::status_pending_p, status_pending_p_callback(), status_to_str(), stopping_threads, strerror(), lwp_info::suspended, WIFSTOPPED, and WNOHANG.
Referenced by complete_ongoing_step_over(), linux_wait_for_event(), and wait_for_sigstop().
|
static |
Definition at line 5289 of file linux-low.c.
References alloca(), current_thread, debug_printf(), debug_threads, errno, lwpid_of, PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, and PTRACE_XFER_TYPE.
Definition at line 6047 of file linux-low.c.
References gdb_assert, linux_target_ops::set_pc, and the_low_target.
|
static |
Definition at line 5613 of file linux-low.c.
References current_thread, debug_printf(), debug_threads, lwpid_of, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO, PTRACE_TYPE_ARG3, and siginfo_fixup().
struct arch_lwp_info* lwp_arch_private_info | ( | struct lwp_info * | lwp | ) |
Definition at line 164 of file linux-low.c.
References lwp_info::arch_private.
Referenced by lwp_debug_registers_changed(), and lwp_set_debug_registers_changed().
|
static |
Definition at line 309 of file linux-low.c.
References lwp_info::step_range_end, lwp_info::step_range_start, and lwp_info::stop_pc.
Referenced by linux_wait_1().
|
static |
Definition at line 3562 of file linux-low.c.
References lwp_info::status_pending, lwp_info::status_pending_p, WIFEXITED, and WIFSIGNALED.
Referenced by linux_thread_alive(), and lwp_running().
int lwp_is_stopped | ( | struct lwp_info * | lwp | ) |
Definition at line 172 of file linux-low.c.
References lwp_info::stopped.
Referenced by update_debug_registers_callback(), and x86_linux_update_debug_registers().
|
static |
Definition at line 3697 of file linux-low.c.
References get_thread_lwp, lwp_is_marked_dead(), and lwp_info::stopped.
Referenced by linux_stabilize_threads().
void lwp_set_arch_private_info | ( | struct lwp_info * | lwp, |
struct arch_lwp_info * | info | ||
) |
Definition at line 155 of file linux-low.c.
References lwp_info::arch_private.
Referenced by lwp_set_debug_registers_changed().
enum target_stop_reason lwp_stop_reason | ( | struct lwp_info * | lwp | ) |
Definition at line 180 of file linux-low.c.
References lwp_info::stop_reason.
Referenced by x86_linux_update_debug_registers().
|
static |
Definition at line 1718 of file linux-low.c.
References get_lwp_thread, internal_error(), lwpid_of, and lwp_info::suspended.
Referenced by handle_tracepoints(), unsuspend_and_proceed_one_lwp(), and unsuspend_one_lwp().
|
static |
Definition at line 1702 of file linux-low.c.
References debug_printf(), debug_threads, get_lwp_thread, lwpid_of, and lwp_info::suspended.
Referenced by handle_tracepoints(), linux_stabilize_threads(), move_out_of_jump_pad_callback(), and suspend_and_send_sigstop_callback().
|
static |
Definition at line 3532 of file linux-low.c.
References gdb_signal_from_host(), lwp_info::status_pending, lwp_info::status_pending_p, lwp_info::stop_expected, lwp_info::stopped, lwp_info::waitstatus, WEXITSTATUS, WIFEXITED, WIFSIGNALED, and WTERMSIG.
Referenced by linux_low_filter_event().
|
static |
Definition at line 1809 of file linux-low.c.
References fast_tpoint_collect_status::adjusted_insn_addr, fast_tpoint_collect_status::adjusted_insn_addr_end, agent_loaded_p(), lwp_info::collecting_fast_tracepoint, current_thread, debug_printf(), debug_threads, delete_breakpoint(), lwp_info::exit_jump_pad_bkpt, force_unlock_trace_buffer(), gdb_assert, get_lwp_thread, get_thread_regcache(), linux_fast_tracepoint_collecting(), lwpid_of, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO, PTRACE_TYPE_ARG3, set_breakpoint_at(), linux_target_ops::set_pc, stop_all_lwps(), lwp_info::stop_pc, supports_fast_tracepoints(), lwp_info::suspended, the_low_target, fast_tpoint_collect_status::tpoint_addr, unstop_all_lwps(), WIFSTOPPED, and WSTOPSIG.
Referenced by linux_wait_1(), and move_out_of_jump_pad_callback().
|
static |
Definition at line 3646 of file linux-low.c.
References current_thread, debug_printf(), debug_threads, enqueue_one_deferred_signal(), gdb_assert, gdb_breakpoint_here(), get_thread_lwp, internal_error(), thread_info::last_resume_kind, linux_resume_one_lwp(), lwp_suspended_inc(), lwpid_of, maybe_move_out_of_jump_pad(), lwp_info::status_pending, lwp_info::status_pending_p, lwp_info::stop_pc, lwp_info::stop_reason, lwp_info::stopped, lwp_info::suspended, lwp_info::thread, and WSTOPSIG.
Referenced by linux_stabilize_threads().
|
static |
Definition at line 4133 of file linux-low.c.
References breakpoint_here(), current_thread, debug_printf(), debug_threads, fast_tracepoint_jump_here(), gdb_assert, gdb_breakpoint_here(), gdb_condition_true_at_breakpoint(), gdb_no_commands_at_breakpoint(), get_pc(), get_thread_lwp, thread_info::last_resume_kind, lwpid_of, lwp_info::need_step_over, paddress(), lwp_info::status_pending_p, lwp_info::stop_pc, lwp_info::stopped, and lwp_info::suspended.
Referenced by linux_resume(), and proceed_all_lwps().
|
static |
Definition at line 1683 of file linux-low.c.
References get_thread_lwp, ptid_match(), ptid_of, and lwp_info::stopped.
Referenced by linux_wait_for_event_filtered().
|
static |
Definition at line 1545 of file linux-low.c.
References ALL_INFERIORS, all_threads, inferior_list_entry::id, and ptid_get_pid().
Referenced by check_zombie_leaders(), and linux_low_filter_event().
|
static |
Definition at line 4702 of file linux-low.c.
References all_threads, debug_printf(), debug_threads, find_inferior(), get_thread_lwp, lwpid_of, need_step_over_p(), proceed_one_lwp(), start_step_over(), and supports_breakpoints().
Referenced by linux_wait_1().
|
static |
Definition at line 4595 of file linux-low.c.
References lwp_info::bp_reinsert, lwp_info::collecting_fast_tracepoint, debug_printf(), debug_threads, gdb_assert, get_thread_lwp, thread_info::last_resume_kind, thread_info::last_status, linux_resume_one_lwp(), lwpid_of, lwp_info::pending_signals_to_report, send_sigstop(), lwp_info::status_pending_p, lwp_info::stopped, and lwp_info::suspended.
Referenced by proceed_all_lwps(), unstop_all_lwps(), and unsuspend_and_proceed_one_lwp().
Definition at line 147 of file linux-low.c.
References get_lwp_thread, and ptid_of.
Referenced by x86_linux_update_debug_registers().
|
static |
Definition at line 217 of file linux-low.c.
References simple_pid_list::next, simple_pid_list::status, and xfree().
Referenced by handle_extended_wait().
Definition at line 6356 of file linux-low.c.
References gdb_assert_not_reached, and linux_read_memory().
Referenced by linux_qxfer_libraries_svr4().
|
static |
Definition at line 5787 of file linux-low.c.
References process_info::attached, find_process_pid(), get_thread_lwp, linux_enable_event_reporting(), linux_low_ptrace_options(), linux_stop_lwp(), lwpid_of, lwp_info::must_set_ptrace_flags, pid_of, and lwp_info::stopped.
Referenced by linux_handle_new_gdb_connection().
|
static |
Definition at line 4111 of file linux-low.c.
References get_thread_lwp, lwp_info::resume, and thread_still_has_status_pending_p().
Referenced by linux_resume().
|
static |
Definition at line 2274 of file linux-low.c.
References debug_printf(), debug_threads, get_thread_lwp, thread_info::last_resume_kind, thread_info::last_status, linux_resume_one_lwp(), paddress(), ptid_of, lwp_info::status_pending_p, lwp_info::stop_pc, lwp_info::stopped, lwp_info::suspended, and target_pid_to_str().
Referenced by linux_wait_for_event_filtered().
|
static |
Definition at line 1514 of file linux-low.c.
References inferior_list_entry::id, ptid_get_lwp(), and ptid_get_pid().
Referenced by find_lwp_pid().
|
static |
Definition at line 1019 of file linux-low.c.
References counter::count, inferior_list_entry::id, counter::pid, and ptid_get_pid().
Referenced by last_thread_of_process_p().
|
static |
Definition at line 2579 of file linux-low.c.
References all_threads, count_events_callback(), debug_printf(), debug_threads, find_inferior(), gdb_assert, get_thread_lwp, non_stop, ptid_of, select_event_lwp_callback(), select_singlestep_lwp_callback(), and target_pid_to_str().
Referenced by linux_wait_1().
|
static |
Definition at line 2559 of file linux-low.c.
References gdb_assert, get_thread_lwp, thread_info::last_status, and lwp_info::status_pending_p.
Referenced by select_event_lwp().
|
static |
Definition at line 2543 of file linux-low.c.
References get_thread_lwp, thread_info::last_resume_kind, thread_info::last_status, and lwp_info::status_pending_p.
Referenced by select_event_lwp().
|
static |
Definition at line 3473 of file linux-low.c.
References debug_printf(), debug_threads, get_lwp_thread, kill_lwp(), lwpid_of, and lwp_info::stop_expected.
Referenced by linux_resume_one_thread(), linux_stop_lwp(), proceed_one_lwp(), and send_sigstop_callback().
|
static |
Definition at line 3497 of file linux-low.c.
References get_thread_lwp, send_sigstop(), and lwp_info::stopped.
Referenced by stop_all_lwps(), and suspend_and_send_sigstop_callback().
|
static |
Definition at line 5666 of file linux-low.c.
References async_file_mark(), debug_threads, errno, and target_is_async_p.
Referenced by initialize_low().
|
static |
Definition at line 5594 of file linux-low.c.
References linux_target_ops::siginfo_fixup, and the_low_target.
Referenced by linux_xfer_siginfo().
|
static |
Definition at line 5852 of file linux-low.c.
References S_ISDIR, and SPUFS_MAGIC.
Referenced by linux_qxfer_spu().
|
static |
Definition at line 4273 of file linux-low.c.
References lwp_info::bp_reinsert, linux_target_ops::breakpoint_reinsert_addr, can_hardware_single_step(), current_thread, debug_printf(), debug_threads, thread_info::entry, get_lwp_thread, get_pc(), inferior_list_entry::id, internal_error(), linux_resume_one_lwp(), lwpid_of, set_reinsert_breakpoint(), stop_all_lwps(), lwp_info::suspended, the_low_target, uninsert_breakpoints_at(), and uninsert_fast_tracepoint_jumps_at().
Referenced by linux_resume(), and proceed_all_lwps().
|
static |
Definition at line 1492 of file linux-low.c.
References get_thread_lwp, linux_resume_one_lwp(), ptid_match(), ptid_of, lwp_info::status_pending_p, lwp_info::stepping, and thread_still_has_status_pending_p().
Referenced by linux_wait_for_event_filtered().
|
static |
Definition at line 3714 of file linux-low.c.
References all_threads, debug_enter, debug_exit, debug_printf(), debug_threads, find_inferior(), gdb_assert, get_lwp_thread, NOT_STOPPING_THREADS, ptid_of, send_sigstop_callback(), STOPPING_AND_SUSPENDING_THREADS, stopping_threads, STOPPING_THREADS, suspend_and_send_sigstop_callback(), target_pid_to_str(), and wait_for_sigstop().
Referenced by linux_detach(), linux_kill(), linux_pause_all(), linux_wait_1(), maybe_move_out_of_jump_pad(), and start_step_over().
|
static |
Definition at line 3623 of file linux-low.c.
References agent_loaded_p(), gdb_assert, gdb_breakpoint_here(), get_thread_lwp, internal_error(), thread_info::last_resume_kind, linux_fast_tracepoint_collecting(), lwpid_of, lwp_info::stop_pc, lwp_info::stop_reason, lwp_info::stopped, supports_fast_tracepoints(), and lwp_info::suspended.
Referenced by linux_stabilize_threads().
|
static |
Definition at line 291 of file linux-low.c.
References linux_target_ops::get_pc, and the_low_target.
Referenced by linux_resume(), linux_wait_1(), and proceed_all_lwps().
|
static |
Definition at line 301 of file linux-low.c.
References linux_target_ops::install_fast_tracepoint_jump_pad, and the_low_target.
Referenced by linux_wait_1(), maybe_move_out_of_jump_pad(), and stuck_in_jump_pad_callback().
|
static |
Definition at line 3516 of file linux-low.c.
References get_thread_lwp, lwp_suspended_inc(), and send_sigstop_callback().
Referenced by stop_all_lwps().
|
static |
Definition at line 1421 of file linux-low.c.
References linux_target_ops::breakpoint_at, current_thread, debug_printf(), debug_threads, gdb_assert, get_pc(), get_thread_lwp, hardware_breakpoint_inserted_here(), thread_info::last_resume_kind, thread_info::last_status, lwp_info::last_status, lwpid_of, lwp_info::status_pending_p, lwp_info::stop_pc, lwp_info::stop_reason, and the_low_target.
Referenced by resume_status_pending_p(), and status_pending_p_callback().
|
static |
Definition at line 4740 of file linux-low.c.
References all_threads, debug_enter, debug_exit, debug_printf(), debug_threads, find_inferior(), get_lwp_thread, lwpid_of, proceed_one_lwp(), and unsuspend_and_proceed_one_lwp().
Referenced by linux_detach(), linux_kill(), linux_unpause_all(), linux_wait_1(), and maybe_move_out_of_jump_pad().
|
static |
Definition at line 2659 of file linux-low.c.
References all_threads, find_inferior(), and unsuspend_one_lwp().
Referenced by complete_ongoing_step_over(), and linux_wait_1().
|
static |
Definition at line 4684 of file linux-low.c.
References get_thread_lwp, lwp_suspended_decr(), and proceed_one_lwp().
Referenced by unstop_all_lwps().
|
static |
Definition at line 2642 of file linux-low.c.
References get_thread_lwp, and lwp_suspended_decr().
Referenced by linux_stabilize_threads(), and unsuspend_all_lwps().
|
static |
Definition at line 3572 of file linux-low.c.
References __WALL, current_thread, debug_printf(), debug_threads, thread_info::entry, gdb_assert, inferior_list_entry::id, linux_thread_alive(), linux_wait_for_event_filtered(), minus_one_ptid, non_stop, null_ptid, and set_desired_thread().
Referenced by stop_all_lwps().
|
static |
Definition at line 325 of file linux-low.c.
Referenced by async_file_flush(), async_file_mark(), and linux_async().
|
static |
Definition at line 6819 of file linux-low.c.
|
static |
Definition at line 254 of file linux-low.c.
Referenced by handle_tracepoints(), linux_resume_one_lwp_throw(), linux_stabilize_threads(), and linux_wait_1().
ptid_t step_over_bkpt |
Definition at line 276 of file linux-low.c.
struct simple_pid_list* stopped_pids |
Definition at line 200 of file linux-low.c.
enum stopping_threads_kind stopping_threads = NOT_STOPPING_THREADS |
Definition at line 247 of file linux-low.c.
Referenced by handle_extended_wait(), linux_low_filter_event(), linux_wait_for_event_filtered(), and stop_all_lwps().
int using_threads = 1 |
Definition at line 250 of file linux-low.c.