|
GDBserver
|
#include "nat/linux-nat.h"#include "nat/gdb_thread_db.h"#include <signal.h>#include "gdbthread.h"#include "gdb_proc_service.h"#include "nat/linux-ptrace.h"#include "target/waitstatus.h"#include "tracepoint.h"Go to the source code of this file.
Classes | |
| struct | usrregs_info |
| struct | regs_info |
| struct | process_info_private |
| struct | linux_target_ops |
| struct | lwp_info |
Macros | |
| #define | PTRACE_XFER_TYPE long |
| #define | get_thread_lwp(thr) ((struct lwp_info *) (thread_target_data (thr))) |
| #define | get_lwp_thread(lwp) ((lwp)->thread) |
Functions | |
| int | linux_pid_exe_is_elf_64_file (int pid, unsigned int *machine) |
| int | linux_attach_lwp (ptid_t ptid) |
| struct lwp_info * | find_lwp_pid (ptid_t ptid) |
| void | initialize_low_arch (void) |
| void | linux_set_pc_32bit (struct regcache *regcache, CORE_ADDR pc) |
| CORE_ADDR | linux_get_pc_32bit (struct regcache *regcache) |
| void | linux_set_pc_64bit (struct regcache *regcache, CORE_ADDR pc) |
| CORE_ADDR | linux_get_pc_64bit (struct regcache *regcache) |
| int | thread_db_init (void) |
| void | thread_db_detach (struct process_info *) |
| void | thread_db_mourn (struct process_info *) |
| int | thread_db_handle_monitor_command (char *) |
| int | thread_db_get_tls_address (struct thread_info *thread, CORE_ADDR offset, CORE_ADDR load_module, CORE_ADDR *address) |
| int | thread_db_look_up_one_symbol (const char *name, CORE_ADDR *addrp) |
| void | thread_db_notice_clone (struct thread_info *parent_thr, ptid_t child_ptid) |
| bool | thread_db_thread_handle (ptid_t ptid, gdb_byte **handle, int *handle_len) |
Variables | |
| struct linux_target_ops | the_low_target |
| int | have_ptrace_getregset |
| #define get_lwp_thread | ( | lwp | ) | ((lwp)->thread) |
Definition at line 264 of file linux-low.h.
Referenced by arm_prepare_to_resume(), check_ptrace_stopped_lwp_gone(), check_stopped_by_watchpoint(), delete_lwp(), dequeue_one_deferred_signal(), enqueue_one_deferred_signal(), filter_exit_event(), finish_step_over(), gdb_catch_this_syscall_p(), gdb_catching_syscalls_p(), get_pc(), get_syscall_trapinfo(), handle_extended_wait(), handle_tracepoints(), install_software_single_step_breakpoints(), kill_wait_lwp(), linux_detach_one_lwp(), linux_fast_tracepoint_collecting(), linux_kill_one_lwp(), linux_low_filter_event(), linux_resume_one_lwp_throw(), linux_wait_1(), linux_wait_for_event_filtered(), lwp_resumed(), lwp_suspended_decr(), lwp_suspended_inc(), maybe_move_out_of_jump_pad(), mips_linux_prepare_to_resume(), ppc_get_thread_area(), ps_lgetregs(), ptid_of_lwp(), save_stop_reason(), send_sigstop(), start_step_over(), stop_all_lwps(), unstop_all_lwps(), and x86_get_thread_area().
| #define get_thread_lwp | ( | thr | ) | ((struct lwp_info *) (thread_target_data (thr))) |
Definition at line 263 of file linux-low.h.
Referenced by arm_stopped_by_watchpoint(), arm_stopped_data_address(), find_lwp_pid(), find_one_thread(), get_detach_signal(), iterate_over_lwps(), kill_one_lwp_callback(), linux_detach_lwp_callback(), linux_handle_new_gdb_connection(), linux_post_create_inferior(), linux_resume(), linux_resume_one_thread(), linux_set_resume_request(), linux_stabilize_threads(), linux_stopped_by_hw_breakpoint(), linux_stopped_by_sw_breakpoint(), linux_stopped_by_watchpoint(), linux_stopped_data_address(), linux_thread_stopped(), linux_wait_1(), linux_wait_for_event_filtered(), lwp_running(), move_out_of_jump_pad_callback(), need_step_over_p(), not_stopped_callback(), proceed_all_lwps(), proceed_one_lwp(), resume_status_pending_p(), resume_stopped_resumed_lwps(), select_event_lwp(), send_sigstop(), status_pending_p_callback(), stuck_in_jump_pad_callback(), suspend_and_send_sigstop(), thread_db_get_tls_address(), thread_db_thread_handle(), thread_still_has_status_pending_p(), unsuspend_all_lwps(), unsuspend_and_proceed_one_lwp(), update_registers_callback(), and update_watch_registers_callback().
| #define PTRACE_XFER_TYPE long |
Definition at line 31 of file linux-low.h.
Referenced by linux_read_memory(), and linux_write_memory().
Definition at line 1812 of file linux-low.c.
References find_thread(), get_thread_lwp, thread_info::id, ptid_t::lwp(), ptid_t::pid(), and lwp_info::thread.
Referenced by arm_new_fork(), attach_thread(), check_zombie_leaders(), complete_ongoing_step_over(), linux_attach(), linux_detach(), linux_kill(), linux_low_filter_event(), linux_thread_alive(), linux_wait_for_event_filtered(), maybe_attach_thread(), ppc_get_thread_area(), ps_lgetregs(), and x86_get_thread_area().
| void initialize_low_arch | ( | void | ) |
Definition at line 2996 of file linux-aarch64-low.c.
References aarch64_regsets_info, allocate_target_description(), arm_regsets_info, copy_target_description(), cris_regsets_info, i386_linux_read_description(), init_registers_arm(), init_registers_arm_with_iwmmxt(), init_registers_arm_with_vfpv2(), init_registers_arm_with_vfpv3(), init_registers_bfin(), init_registers_cris(), init_registers_crisv32(), init_registers_ia64(), init_registers_m32r(), init_registers_m68k(), init_registers_mips64_dsp_linux(), init_registers_mips64_linux(), init_registers_mips_dsp_linux(), init_registers_mips_linux(), init_registers_nios2_linux(), init_registers_powerpc_32l(), init_registers_powerpc_altivec32l(), init_registers_powerpc_cell32l(), init_registers_powerpc_e500l(), init_registers_powerpc_isa205_32l(), init_registers_powerpc_isa205_altivec32l(), init_registers_powerpc_isa205_vsx32l(), init_registers_powerpc_vsx32l(), init_registers_s390_gs_linux64(), init_registers_s390_linux32(), init_registers_s390_linux32v1(), init_registers_s390_linux32v2(), init_registers_s390_linux64(), init_registers_s390_linux64v1(), init_registers_s390_linux64v2(), init_registers_s390_te_linux64(), init_registers_s390_tevx_linux64(), init_registers_s390_vx_linux64(), init_registers_sh(), init_registers_sparc64(), init_registers_tic6x_c62x_linux(), init_registers_tic6x_c64x_linux(), init_registers_tic6x_c64xp_linux(), init_registers_tilegx(), init_registers_tilegx32(), init_registers_xtensa(), initialize_low_arch_aarch32(), initialize_low_tdesc(), m68k_regsets_info, mips_regsets_info, nios2_regsets_info, ppc_regsets_info, selftests::register_test(), s390_regsets_info, s390_regsets_info_3264, sh_regsets_info, sparc_regsets_info, tdesc_i386_linux_no_xml, tic6x_regsets_info, tile_regsets_info, x86_regsets_info, X86_XSTATE_SSE_MASK, target_desc::xmltarget, xmltarget_i386_linux_no_xml, and xtensa_regsets_info.
Referenced by initialize_low().
| int linux_attach_lwp | ( | ptid_t | ptid | ) |
Definition at line 1047 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(), PTRACE_TYPE_ARG3, PTRACE_TYPE_ARG4, and lwp_info::stop_expected.
Referenced by attach_proc_task_lwp_callback(), attach_thread(), and linux_attach().
Definition at line 7411 of file linux-low.c.
References collect_register_by_name(), debug_printf(), and debug_threads.
Referenced by aarch64_get_pc().
Definition at line 7436 of file linux-low.c.
References collect_register_by_name(), debug_printf(), and debug_threads.
Referenced by aarch64_get_pc().
| int linux_pid_exe_is_elf_64_file | ( | int | pid, |
| unsigned int * | machine | ||
| ) |
Definition at line 400 of file linux-low.c.
References elf_64_file_p().
Referenced by aarch64_arch_setup(), tile_arch_setup(), x86_linux_read_description(), and x86_siginfo_fixup().
Definition at line 7400 of file linux-low.c.
References supply_register_by_name().
Referenced by aarch64_set_pc().
Definition at line 7425 of file linux-low.c.
References supply_register_by_name().
Referenced by aarch64_set_pc().
| void thread_db_detach | ( | struct process_info * | ) |
Definition at line 815 of file thread-db.c.
References disable_thread_event_reporting(), process_info::priv, and process_info_private::thread_db.
Referenced by linux_detach().
| int thread_db_get_tls_address | ( | struct thread_info * | thread, |
| CORE_ADDR | offset, | ||
| CORE_ADDR | load_module, | ||
| CORE_ADDR * | address | ||
| ) |
Definition at line 384 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_thread, find_one_thread(), get_thread_lwp, get_thread_process(), thread_info::id, offset, process_info::priv, TD_ERR, TD_NOTHR, TD_OK, thread_db::td_thr_tls_get_addr_p, thread_db::td_thr_tlsbase_p, and process_info_private::thread_db.
| int thread_db_handle_monitor_command | ( | char * | ) |
Definition at line 857 of file thread-db.c.
References free(), LIBTHREAD_DB_SEARCH_PATH, libthread_db_search_path, monitor_output(), and xstrdup().
| int thread_db_init | ( | void | ) |
Definition at line 735 of file thread-db.c.
References current_process(), linux_proc_task_list_dir_exists(), pid_of(), thread_db_find_new_threads(), thread_db_load_search(), and thread_db_look_up_symbols().
Referenced by linux_look_up_symbols().
| int thread_db_look_up_one_symbol | ( | const char * | name, |
| CORE_ADDR * | addrp | ||
| ) |
Definition at line 370 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_process(), look_up_one_symbol(), name, process_info::priv, and process_info_private::thread_db.
Referenced by ps_pglobal_lookup().
| void thread_db_mourn | ( | struct process_info * | ) |
Definition at line 828 of file thread-db.c.
References free(), thread_db::handle, process_info::priv, td_ta_delete(), thread_db::thread_agent, and process_info_private::thread_db.
Referenced by linux_mourn().
| void thread_db_notice_clone | ( | struct thread_info * | parent_thr, |
| ptid_t | child_ptid | ||
| ) |
Definition at line 892 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_thread, find_one_thread(), get_thread_process(), make_scoped_restore(), process_info::priv, process_info_private::thread_db, and warning().
Referenced by handle_extended_wait().
Definition at line 450 of file thread-db.c.
References find_one_thread(), find_thread_ptid(), gdb_assert, get_thread_lwp, get_thread_process(), thread_info::id, process_info::priv, lwp_info::thread, and process_info_private::thread_db.
| int have_ptrace_getregset |
Definition at line 137 of file linux-low.c.
Referenced by arm_arch_setup(), arm_regs_info(), and x86_linux_read_description().
| struct linux_target_ops the_low_target |
Definition at line 2955 of file linux-aarch64-low.c.
1.8.14