GDB (xrefs)
|
#include "defs.h"
#include "gdbtypes.h"
#include "linux-tdep.h"
#include "auxv.h"
#include "target.h"
#include "gdbthread.h"
#include "gdbcore.h"
#include "regcache.h"
#include "regset.h"
#include "elf/common.h"
#include "elf-bfd.h"
#include "inferior.h"
#include "cli/cli-utils.h"
#include "arch-utils.h"
#include "gdbsupport/gdb_obstack.h"
#include "observable.h"
#include "objfiles.h"
#include "infcall.h"
#include "gdbcmd.h"
#include "gdbsupport/gdb_regex.h"
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/gdb_optional.h"
#include "gcore.h"
#include "gcore-elf.h"
#include "solib-svr4.h"
#include "memtag.h"
#include <ctype.h>
#include <unordered_map>
Go to the source code of this file.
Classes | |
struct | smaps_vmflags |
struct | smaps_data |
struct | linux_gdbarch_data |
struct | linux_info |
struct | linux_info::vsyscall_range |
struct | mapping |
struct | mapping_regexes |
struct | linux_find_memory_regions_data |
struct | linux_make_mappings_data |
Macros | |
#define | SELFMAG 4 |
#define | GDB_MMAP_MAP_PRIVATE 0x02 /* Changes are private. */ |
#define | GDB_MMAP_MAP_ANONYMOUS 0x20 /* Don't use a file. */ |
Typedefs | |
typedef int | linux_find_memory_region_ftype(ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, bool memory_tagged, const char *filename, void *data) |
typedef int | linux_dump_mapping_p_ftype(filter_flags filterflags, const struct smaps_vmflags *v, int maybe_private_p, int mapping_anon_p, int mapping_file_p, const char *filename, ULONGEST addr, ULONGEST offset) |
Functions | |
DEF_ENUM_FLAGS_TYPE (enum filter_flag, filter_flags) | |
static struct linux_gdbarch_data * | get_linux_gdbarch_data (struct gdbarch *gdbarch) |
static void | invalidate_linux_cache_inf (struct inferior *inf) |
static void | linux_inferior_execd (inferior *exec_inf, inferior *follow_inf) |
static struct linux_info * | get_linux_inferior_data (inferior *inf) |
struct type * | linux_get_siginfo_type_with_fields (struct gdbarch *gdbarch, linux_siginfo_extra_fields extra_fields) |
static struct type * | linux_get_siginfo_type (struct gdbarch *gdbarch) |
int | linux_is_uclinux (void) |
static int | linux_has_shared_address_space (struct gdbarch *gdbarch) |
static std::string | linux_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid) |
static mapping | read_mapping (const char *line) |
static void | decode_vmflags (char *p, struct smaps_vmflags *v) |
static int | mapping_is_anonymous_p (const char *filename) |
static int | dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v, int maybe_private_p, int mapping_anon_p, int mapping_file_p, const char *filename, ULONGEST addr, ULONGEST offset) |
static int | dump_note_entry_p (filter_flags filterflags, const struct smaps_vmflags *v, int maybe_private_p, int mapping_anon_p, int mapping_file_p, const char *filename, ULONGEST addr, ULONGEST offset) |
static void | linux_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what) |
static void | linux_read_core_file_mappings (struct gdbarch *gdbarch, struct bfd *cbfd, read_core_file_mappings_pre_loop_ftype pre_loop_cb, read_core_file_mappings_loop_ftype loop_cb) |
static void | linux_core_info_proc_mappings (struct gdbarch *gdbarch, const char *args) |
static void | linux_core_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what) |
static LONGEST | linux_core_xfer_siginfo (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) |
static std::vector< struct smaps_data > | parse_smaps_data (const char *data, const std::string maps_filename) |
static bool | linux_process_address_in_memtag_page (CORE_ADDR address) |
static bool | linux_core_file_address_in_memtag_page (CORE_ADDR address) |
bool | linux_address_in_memtag_page (CORE_ADDR address) |
static int | linux_find_memory_regions_full (struct gdbarch *gdbarch, linux_dump_mapping_p_ftype *should_dump_mapping_p, linux_find_memory_region_ftype *func, void *obfd) |
static int | linux_find_memory_regions_thunk (ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, bool memory_tagged, const char *filename, void *arg) |
static int | linux_find_memory_regions (struct gdbarch *gdbarch, find_memory_region_ftype func, void *obfd) |
static int | linux_make_mappings_callback (ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, bool memory_tagged, const char *filename, void *data) |
static void | linux_make_mappings_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, gdb::unique_xmalloc_ptr< char > ¬e_data, int *note_size) |
static gdb::byte_vector | linux_get_siginfo_data (thread_info *thread, struct gdbarch *gdbarch) |
static void | linux_corefile_thread (struct thread_info *info, struct gdbarch *gdbarch, bfd *obfd, gdb::unique_xmalloc_ptr< char > ¬e_data, int *note_size, gdb_signal stop_signal) |
static int | linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p) |
static gdb::unique_xmalloc_ptr< char > | linux_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size) |
enum gdb_signal | linux_gdb_signal_from_target (struct gdbarch *gdbarch, int signal) |
int | linux_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal) |
static int | linux_vsyscall_range_raw (struct gdbarch *gdbarch, struct mem_range *range) |
static int | linux_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range) |
static CORE_ADDR | linux_infcall_mmap (CORE_ADDR size, unsigned prot) |
static void | linux_infcall_munmap (CORE_ADDR addr, CORE_ADDR size) |
CORE_ADDR | linux_displaced_step_location (struct gdbarch *gdbarch) |
displaced_step_prepare_status | linux_displaced_step_prepare (gdbarch *arch, thread_info *thread, CORE_ADDR &displaced_pc) |
displaced_step_finish_status | linux_displaced_step_finish (gdbarch *arch, thread_info *thread, const target_waitstatus &status) |
const displaced_step_copy_insn_closure * | linux_displaced_step_copy_insn_closure_by_addr (inferior *inf, CORE_ADDR addr) |
void | linux_displaced_step_restore_all_in_ptid (inferior *parent_inf, ptid_t ptid) |
static CORE_ADDR | linux_get_hwcap_helper (const gdb::optional< gdb::byte_vector > &auxv, target_ops *target, gdbarch *gdbarch, CORE_ADDR match) |
CORE_ADDR | linux_get_hwcap (const gdb::optional< gdb::byte_vector > &auxv, target_ops *target, gdbarch *gdbarch) |
CORE_ADDR | linux_get_hwcap () |
CORE_ADDR | linux_get_hwcap2 (const gdb::optional< gdb::byte_vector > &auxv, target_ops *target, gdbarch *gdbarch) |
CORE_ADDR | linux_get_hwcap2 () |
static void | show_use_coredump_filter (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_dump_excluded_mappings (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
void | linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch, int num_disp_step_buffers) |
void | _initialize_linux_tdep () |
link_map_offsets * | linux_ilp32_fetch_link_map_offsets () |
link_map_offsets * | linux_lp64_fetch_link_map_offsets () |
Variables | |
static bool | use_coredump_filter = true |
static bool | dump_excluded_mappings = false |
static const registry< gdbarch >::key< linux_gdbarch_data > | linux_gdbarch_data_handle |
static const registry< inferior >::key< linux_info > | linux_inferior_data |
static linux_find_memory_region_ftype | linux_make_mappings_callback |
#define GDB_MMAP_MAP_ANONYMOUS 0x20 /* Don't use a file. */ |
Definition at line 2501 of file linux-tdep.c.
Referenced by linux_infcall_mmap().
#define GDB_MMAP_MAP_PRIVATE 0x02 /* Changes are private. */ |
Definition at line 2500 of file linux-tdep.c.
Referenced by linux_infcall_mmap().
#define SELFMAG 4 |
typedef int linux_dump_mapping_p_ftype(filter_flags filterflags, const struct smaps_vmflags *v, int maybe_private_p, int mapping_anon_p, int mapping_file_p, const char *filename, ULONGEST addr, ULONGEST offset) |
Definition at line 1336 of file linux-tdep.c.
typedef int linux_find_memory_region_ftype(ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, bool memory_tagged, const char *filename, void *data) |
Definition at line 1328 of file linux-tdep.c.
anonymous enum |
Definition at line 155 of file linux-tdep.c.
enum filter_flag |
Enumerator | |
---|---|
COREFILTER_ANON_PRIVATE | |
COREFILTER_ANON_SHARED | |
COREFILTER_MAPPED_PRIVATE | |
COREFILTER_MAPPED_SHARED | |
COREFILTER_ELF_HEADERS | |
COREFILTER_HUGETLB_PRIVATE | |
COREFILTER_HUGETLB_SHARED |
Definition at line 56 of file linux-tdep.c.
void _initialize_linux_tdep | ( | ) |
Definition at line 2793 of file linux-tdep.c.
Referenced by initialize_all_files().
|
static |
Definition at line 515 of file linux-tdep.c.
References smaps_vmflags::exclude_coredump, smaps_vmflags::initialized_p, smaps_vmflags::io_page, smaps_vmflags::memory_tagging, smaps_vmflags::shared_mapping, and smaps_vmflags::uses_huge_tlb.
Referenced by parse_smaps_data().
DEF_ENUM_FLAGS_TYPE | ( | enum | filter_flag, |
filter_flags | ) |
|
static |
Definition at line 679 of file linux-tdep.c.
References COREFILTER_ANON_PRIVATE, COREFILTER_ANON_SHARED, COREFILTER_ELF_HEADERS, COREFILTER_HUGETLB_PRIVATE, COREFILTER_HUGETLB_SHARED, COREFILTER_MAPPED_PRIVATE, COREFILTER_MAPPED_SHARED, dump_excluded_mappings, smaps_vmflags::exclude_coredump, smaps_vmflags::initialized_p, smaps_vmflags::io_page, SELFMAG, smaps_vmflags::shared_mapping, target_read_memory(), and smaps_vmflags::uses_huge_tlb.
Referenced by linux_find_memory_regions().
|
static |
Definition at line 796 of file linux-tdep.c.
Referenced by linux_make_mappings_corefile_notes().
|
static |
Definition at line 206 of file linux-tdep.c.
References registry< T >::get(), and linux_gdbarch_data_handle.
Referenced by linux_displaced_step_prepare(), linux_get_siginfo_type_with_fields(), and linux_init_abi().
|
static |
Definition at line 259 of file linux-tdep.c.
References registry< T >::get(), and linux_inferior_data.
Referenced by linux_displaced_step_finish(), linux_displaced_step_prepare(), and linux_vsyscall_range().
|
static |
Definition at line 242 of file linux-tdep.c.
References linux_inferior_data.
Referenced by linux_inferior_execd().
bool linux_address_in_memtag_page | ( | CORE_ADDR | address | ) |
Definition at line 1535 of file linux-tdep.c.
References linux_core_file_address_in_memtag_page(), linux_process_address_in_memtag_page(), and target_has_execution().
Referenced by aarch64_linux_tagged_address_p().
|
static |
Definition at line 1523 of file linux-tdep.c.
References core_bfd, and get_next_core_memtag_section().
Referenced by linux_address_in_memtag_page().
|
static |
Definition at line 1284 of file linux-tdep.c.
References core_bfd, gdb_printf(), IP_ALL, IP_EXE, IP_MAPPINGS, IP_MINIMAL, and linux_core_info_proc_mappings().
Referenced by linux_init_abi().
|
static |
Definition at line 1240 of file linux-tdep.c.
References core_bfd, mapping::filename, gdb_printf(), gdbarch_addr_bit(), linux_read_core_file_mappings(), and paddress().
Referenced by linux_core_info_proc().
|
static |
Definition at line 446 of file linux-tdep.c.
References normal_pid_to_str().
Referenced by linux_init_abi().
|
static |
Definition at line 1314 of file linux-tdep.c.
References thread_section_name::c_str(), core_bfd, inferior_ptid, and mapping::offset.
Referenced by linux_init_abi().
|
static |
Definition at line 1827 of file linux-tdep.c.
References gcore_elf_build_thread_register_notes(), and linux_get_siginfo_data().
Referenced by linux_make_corefile_notes().
const displaced_step_copy_insn_closure * linux_displaced_step_copy_insn_closure_by_addr | ( | inferior * | inf, |
CORE_ADDR | addr ) |
Definition at line 2650 of file linux-tdep.c.
References linux_info::disp_step_bufs, registry< T >::get(), and linux_inferior_data.
Referenced by linux_init_abi().
displaced_step_finish_status linux_displaced_step_finish | ( | gdbarch * | arch, |
thread_info * | thread, | ||
const target_waitstatus & | status ) |
Definition at line 2637 of file linux-tdep.c.
References value::arch(), linux_info::disp_step_bufs, get_linux_inferior_data(), thread_info::inf, and status.
Referenced by linux_init_abi().
CORE_ADDR linux_displaced_step_location | ( | struct gdbarch * | gdbarch | ) |
Definition at line 2576 of file linux-tdep.c.
References current_inferior(), gdbarch_breakpoint_from_pc(), gdbarch_convert_from_func_ptr_addr(), and target_auxv_search().
Referenced by linux_displaced_step_prepare(), and ppc_linux_displaced_step_prepare().
displaced_step_prepare_status linux_displaced_step_prepare | ( | gdbarch * | arch, |
thread_info * | thread, | ||
CORE_ADDR & | displaced_pc ) |
Definition at line 2608 of file linux-tdep.c.
References value::arch(), linux_info::disp_step_bufs, inferior::gdbarch, gdbarch_displaced_step_buffer_length(), get_linux_gdbarch_data(), get_linux_inferior_data(), thread_info::inf, linux_displaced_step_location(), and linux_gdbarch_data::num_disp_step_buffers.
Referenced by linux_init_abi().
void linux_displaced_step_restore_all_in_ptid | ( | inferior * | parent_inf, |
ptid_t | ptid ) |
Definition at line 2664 of file linux-tdep.c.
References linux_info::disp_step_bufs, registry< T >::get(), and linux_inferior_data.
Referenced by linux_init_abi().
|
static |
Definition at line 1857 of file linux-tdep.c.
References inferior::args(), current_inferior(), inferior_ptid, pid, and target_fileio_read_stralloc().
Referenced by linux_make_corefile_notes().
|
static |
Definition at line 1674 of file linux-tdep.c.
References dump_mapping_p(), func, linux_find_memory_regions_full(), and linux_find_memory_regions_thunk().
Referenced by linux_init_abi().
|
static |
Definition at line 1546 of file linux-tdep.c.
References COREFILTER_ANON_PRIVATE, COREFILTER_ANON_SHARED, COREFILTER_ELF_HEADERS, COREFILTER_HUGETLB_PRIVATE, current_inferior(), inferior::fake_pid_p, flags, func, parse_smaps_data(), pid, inferior::pid, target_fileio_read_stralloc(), and use_coredump_filter.
Referenced by linux_find_memory_regions(), and linux_make_mappings_corefile_notes().
|
static |
Definition at line 1657 of file linux-tdep.c.
Referenced by linux_find_memory_regions().
enum gdb_signal linux_gdb_signal_from_target | ( | struct gdbarch * | gdbarch, |
int | signal ) |
Definition at line 2142 of file linux-tdep.c.
References LINUX_SIGABRT, LINUX_SIGALRM, LINUX_SIGBUS, LINUX_SIGCHLD, LINUX_SIGCONT, LINUX_SIGFPE, LINUX_SIGHUP, LINUX_SIGILL, LINUX_SIGINT, LINUX_SIGIO, LINUX_SIGKILL, LINUX_SIGPIPE, LINUX_SIGPROF, LINUX_SIGPWR, LINUX_SIGQUIT, LINUX_SIGRTMAX, LINUX_SIGRTMIN, LINUX_SIGSEGV, LINUX_SIGSTOP, LINUX_SIGSYS, LINUX_SIGTERM, LINUX_SIGTRAP, LINUX_SIGTSTP, LINUX_SIGTTIN, LINUX_SIGTTOU, LINUX_SIGURG, LINUX_SIGUSR1, LINUX_SIGUSR2, LINUX_SIGVTALRM, LINUX_SIGWINCH, LINUX_SIGXCPU, and LINUX_SIGXFSZ.
Referenced by alpha_linux_gdb_signal_from_target(), linux_init_abi(), mips_gdb_signal_from_target(), sparc32_linux_gdb_signal_from_target(), and xtensa_linux_gdb_signal_from_target().
int linux_gdb_signal_to_target | ( | struct gdbarch * | gdbarch, |
enum gdb_signal | signal ) |
Definition at line 2265 of file linux-tdep.c.
References LINUX_SIGABRT, LINUX_SIGALRM, LINUX_SIGBUS, LINUX_SIGCHLD, LINUX_SIGCONT, LINUX_SIGFPE, LINUX_SIGHUP, LINUX_SIGILL, LINUX_SIGINT, LINUX_SIGIO, LINUX_SIGKILL, LINUX_SIGPIPE, LINUX_SIGPOLL, LINUX_SIGPROF, LINUX_SIGPWR, LINUX_SIGQUIT, LINUX_SIGRTMAX, LINUX_SIGRTMIN, LINUX_SIGSEGV, LINUX_SIGSTOP, LINUX_SIGSYS, LINUX_SIGTERM, LINUX_SIGTRAP, LINUX_SIGTSTP, LINUX_SIGTTIN, LINUX_SIGTTOU, LINUX_SIGURG, LINUX_SIGUSR1, LINUX_SIGUSR2, LINUX_SIGVTALRM, LINUX_SIGWINCH, LINUX_SIGXCPU, and LINUX_SIGXFSZ.
Referenced by alpha_linux_gdb_signal_to_target(), linux_init_abi(), mips_gdb_signal_to_target(), sparc32_linux_gdb_signal_to_target(), and xtensa_linux_gdb_signal_to_target().
CORE_ADDR linux_get_hwcap | ( | ) |
Definition at line 2700 of file linux-tdep.c.
References current_inferior(), linux_get_hwcap(), and target_read_auxv().
Referenced by aarch64_linux_core_read_description(), arm_linux_core_read_description(), ppc_linux_nat_target::insert_watchpoint(), linux_get_hwcap(), ppc_linux_core_read_description(), aarch64_linux_nat_target::read_description(), arm_linux_nat_target::read_description(), ppc_linux_nat_target::read_description(), s390_linux_nat_target::read_description(), ppc_linux_nat_target::region_ok_for_hw_watchpoint(), s390_core_read_description(), and ppc_linux_nat_target::watchpoint_addr_within_range().
CORE_ADDR linux_get_hwcap | ( | const gdb::optional< gdb::byte_vector > & | auxv, |
target_ops * | target, | ||
gdbarch * | gdbarch ) |
Definition at line 2691 of file linux-tdep.c.
References linux_get_hwcap_helper().
CORE_ADDR linux_get_hwcap2 | ( | ) |
Definition at line 2719 of file linux-tdep.c.
References current_inferior(), linux_get_hwcap2(), and target_read_auxv().
Referenced by aarch64_linux_core_read_description(), linux_get_hwcap2(), aarch64_linux_nat_target::read_description(), ppc_linux_nat_target::read_description(), and aarch64_linux_nat_target::supports_memory_tagging().
CORE_ADDR linux_get_hwcap2 | ( | const gdb::optional< gdb::byte_vector > & | auxv, |
target_ops * | target, | ||
gdbarch * | gdbarch ) |
Definition at line 2710 of file linux-tdep.c.
References linux_get_hwcap_helper().
|
static |
Definition at line 2678 of file linux-tdep.c.
References target_auxv_search().
Referenced by linux_get_hwcap(), and linux_get_hwcap2().
|
static |
Definition at line 1799 of file linux-tdep.c.
References current_inferior(), gdbarch_get_siginfo_type(), gdbarch_get_siginfo_type_p(), type::length(), switch_to_thread(), TARGET_OBJECT_SIGNAL_INFO, and target_read().
Referenced by linux_corefile_thread().
Definition at line 420 of file linux-tdep.c.
References linux_get_siginfo_type_with_fields().
Referenced by linux_init_abi().
struct type * linux_get_siginfo_type_with_fields | ( | struct gdbarch * | gdbarch, |
linux_siginfo_extra_fields | extra_fields ) |
Definition at line 272 of file linux-tdep.c.
References append_composite_type_field(), append_composite_type_field_aligned(), arch_composite_type(), gdbarch_int_bit(), gdbarch_long_bit(), gdbarch_ptr_bit(), get_linux_gdbarch_data(), init_integer_type(), init_vector_type(), type::length(), LINUX_SIGINFO_FIELD_ADDR_BND, lookup_pointer_type(), type_allocator::new_type(), type::set_name(), type::set_target_is_stub(), type::set_target_type(), linux_gdbarch_data::siginfo_type, and type.
Referenced by linux_get_siginfo_type(), and x86_linux_get_siginfo_type().
|
static |
Definition at line 438 of file linux-tdep.c.
References linux_is_uclinux().
Referenced by linux_init_abi().
link_map_offsets * linux_ilp32_fetch_link_map_offsets | ( | ) |
Definition at line 2832 of file linux-tdep.c.
References 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, link_map_offsets::link_map_size, link_map_offsets::r_brk_offset, link_map_offsets::r_ldsomap_offset, link_map_offsets::r_map_offset, link_map_offsets::r_next_offset, link_map_offsets::r_version_offset, and link_map_offsets::r_version_size.
Referenced by am33_linux_init_osabi(), amd64_x32_linux_init_abi(), arc_linux_init_osabi(), arm_linux_init_abi(), cris_linux_init_abi(), csky_linux_init_abi(), hppa_linux_init_abi(), i386_linux_init_abi(), loongarch_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), microblaze_linux_init_abi(), mips_linux_init_abi(), nios2_linux_init_abi(), or1k_linux_init_abi(), ppc_linux_init_abi(), riscv_linux_init_abi(), s390_linux_init_abi_31(), sh_linux_init_abi(), sparc32_linux_init_abi(), tilegx_linux_init_abi(), and xtensa_linux_init_abi().
|
static |
Definition at line 2506 of file linux-tdep.c.
References objfile::arch(), call_function_by_hand(), find_function_in_inferior(), GDB_MMAP_MAP_ANONYMOUS, GDB_MMAP_MAP_PRIVATE, GDB_MMAP_PROT_EXEC, GDB_MMAP_PROT_READ, GDB_MMAP_PROT_WRITE, size, value_as_address(), value_from_longest(), value_from_pointer(), and value_from_ulongest().
Referenced by linux_init_abi().
|
static |
Definition at line 2547 of file linux-tdep.c.
References objfile::arch(), call_function_by_hand(), find_function_in_inferior(), size, value_as_long(), value_from_pointer(), and value_from_ulongest().
Referenced by linux_init_abi().
Definition at line 250 of file linux-tdep.c.
References invalidate_linux_cache_inf().
|
static |
Definition at line 814 of file linux-tdep.c.
References current_inferior(), mapping::filename, gdb_printf(), gdb_puts(), gdbarch_addr_bit(), IP_ALL, IP_CMDLINE, IP_CWD, IP_EXE, IP_MAPPINGS, IP_MINIMAL, IP_STAT, IP_STATUS, paddress(), pid, inferior::pid, read_mapping(), status, target_fileio_read_alloc(), target_fileio_read_stralloc(), target_fileio_readlink(), and target_has_execution().
Referenced by linux_init_abi().
void linux_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch, | ||
int | num_disp_step_buffers ) |
Definition at line 2755 of file linux-tdep.c.
References get_linux_gdbarch_data(), linux_core_info_proc(), linux_core_pid_to_str(), linux_core_xfer_siginfo(), linux_displaced_step_copy_insn_closure_by_addr(), linux_displaced_step_finish(), linux_displaced_step_prepare(), linux_displaced_step_restore_all_in_ptid(), linux_find_memory_regions(), linux_gdb_signal_from_target(), linux_gdb_signal_to_target(), linux_get_siginfo_type(), linux_has_shared_address_space(), linux_infcall_mmap(), linux_infcall_munmap(), linux_info_proc(), linux_make_corefile_notes(), linux_read_core_file_mappings(), linux_vsyscall_range(), linux_gdbarch_data::num_disp_step_buffers, set_gdbarch_core_info_proc(), set_gdbarch_core_pid_to_str(), set_gdbarch_core_xfer_siginfo(), set_gdbarch_displaced_step_copy_insn_closure_by_addr(), set_gdbarch_displaced_step_finish(), set_gdbarch_displaced_step_prepare(), set_gdbarch_displaced_step_restore_all_in_ptid(), set_gdbarch_find_memory_regions(), set_gdbarch_gdb_signal_from_target(), set_gdbarch_gdb_signal_to_target(), set_gdbarch_get_siginfo_type(), set_gdbarch_has_shared_address_space(), set_gdbarch_infcall_mmap(), set_gdbarch_infcall_munmap(), set_gdbarch_info_proc(), set_gdbarch_make_corefile_notes(), set_gdbarch_read_core_file_mappings(), and set_gdbarch_vsyscall_range().
Referenced by aarch64_linux_init_abi(), alpha_linux_init_abi(), am33_linux_init_osabi(), amd64_linux_init_abi_common(), arc_linux_init_osabi(), arm_linux_init_abi(), bfin_linux_init_abi(), cris_linux_init_abi(), csky_linux_init_abi(), frv_linux_init_abi(), hppa_linux_init_abi(), i386_linux_init_abi(), ia64_linux_init_abi(), loongarch_linux_init_abi(), m32r_linux_init_abi(), m68k_linux_init_abi(), microblaze_linux_init_abi(), mips_linux_init_abi(), nios2_linux_init_abi(), or1k_linux_init_abi(), ppc_linux_init_abi(), riscv_linux_init_abi(), s390_linux_init_abi_any(), sh_linux_init_abi(), sparc32_linux_init_abi(), sparc64_linux_init_abi(), tic6x_uclinux_init_abi(), tilegx_linux_init_abi(), and xtensa_linux_init_abi().
int linux_is_uclinux | ( | void | ) |
Definition at line 429 of file linux-tdep.c.
References dummy, and target_auxv_search().
Referenced by linux_has_shared_address_space(), and m68k_linux_get_sigtramp_info().
link_map_offsets * linux_lp64_fetch_link_map_offsets | ( | ) |
Definition at line 2861 of file linux-tdep.c.
References 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, link_map_offsets::link_map_size, link_map_offsets::r_brk_offset, link_map_offsets::r_ldsomap_offset, link_map_offsets::r_map_offset, link_map_offsets::r_next_offset, link_map_offsets::r_version_offset, and link_map_offsets::r_version_size.
Referenced by aarch64_linux_init_abi(), alpha_linux_init_abi(), amd64_linux_init_abi(), ia64_linux_init_abi(), loongarch_linux_init_abi(), mips_linux_init_abi(), ppc_linux_init_abi(), riscv_linux_init_abi(), s390_linux_init_abi_64(), sparc64_linux_init_abi(), and tilegx_linux_init_abi().
|
static |
Definition at line 2040 of file linux-tdep.c.
References current_inferior(), exception_print(), gcore_elf_make_tdesc_note(), gcore_find_signalled_thread(), gdb_stderr, gdbarch_iterate_over_regset_sections_p(), gdbarch_ptr_bit(), linux_corefile_thread(), linux_fill_prpsinfo(), linux_make_mappings_corefile_notes(), inferior::non_exited_threads(), thread_info::ptid, thread_info::stop_signal(), TARGET_OBJECT_AUXV, target_read_alloc(), target_thread_architecture(), and update_thread_list().
Referenced by linux_init_abi().
|
static |
Definition at line 1716 of file linux-tdep.c.
References linux_make_mappings_data::data_obstack, linux_make_mappings_data::file_count, linux_make_mappings_data::filename_obstack, type::length(), linux_make_mappings_data::long_type, pack_long(), and size.
|
static |
Definition at line 1748 of file linux-tdep.c.
References linux_make_mappings_data::data_obstack, dump_note_entry_p(), linux_make_mappings_data::file_count, linux_make_mappings_data::filename_obstack, gdbarch_long_bit(), init_integer_type(), type::length(), linux_find_memory_regions_full(), linux_make_mappings_callback, linux_make_mappings_data::long_type, pack_long(), and size.
Referenced by linux_make_corefile_notes().
|
static |
Definition at line 1487 of file linux-tdep.c.
References current_inferior(), parse_smaps_data(), pid, inferior::pid, and target_fileio_read_stralloc().
Referenced by linux_address_in_memtag_page().
|
static |
Definition at line 1125 of file linux-tdep.c.
References core_bfd, f(), mapping::filename, gdb_static_assert(), and gdbarch_addr_bit().
Referenced by linux_core_info_proc_mappings(), and linux_init_abi().
Definition at line 2479 of file linux-tdep.c.
References current_inferior(), get_linux_inferior_data(), and linux_vsyscall_range_raw().
Referenced by linux_init_abi().
Definition at line 2392 of file linux-tdep.c.
References core_bfd, current_inferior(), range::length, pid, inferior::pid, target_auxv_search(), target_fileio_read_stralloc(), target_has_execution(), and xmalloc().
Referenced by linux_vsyscall_range().
|
static |
Definition at line 590 of file linux-tdep.c.
Referenced by parse_smaps_data().
|
static |
Definition at line 1352 of file linux-tdep.c.
References decode_vmflags(), smaps_data::end_address, smaps_data::exec, smaps_data::filename, smaps_data::has_anonymous, smaps_data::inode, smaps_data::mapping_anon_p, smaps_data::mapping_file_p, mapping_is_anonymous_p(), smaps_data::offset, smaps_data::priv, read(), smaps_data::read, read_mapping(), smaps_data::start_address, smaps_data::vmflags, and smaps_data::write.
Referenced by linux_find_memory_regions_full(), and linux_process_address_in_memtag_page().
|
static |
Definition at line 473 of file linux-tdep.c.
References mapping::addr, mapping::device, mapping::endaddr, mapping::filename, mapping::inode, mapping::offset, and mapping::permissions.
Referenced by linux_info_proc(), and parse_smaps_data().
|
static |
Definition at line 2741 of file linux-tdep.c.
References gdb_printf().
|
static |
Definition at line 2730 of file linux-tdep.c.
References gdb_printf().
|
static |
Definition at line 129 of file linux-tdep.c.
Referenced by dump_mapping_p().
|
static |
Definition at line 203 of file linux-tdep.c.
Referenced by get_linux_gdbarch_data().
|
static |
Definition at line 236 of file linux-tdep.c.
Referenced by get_linux_inferior_data(), invalidate_linux_cache_inf(), linux_displaced_step_copy_insn_closure_by_addr(), and linux_displaced_step_restore_all_in_ptid().
|
static |
Definition at line 1707 of file linux-tdep.c.
Referenced by linux_make_mappings_corefile_notes().
|
static |
Definition at line 124 of file linux-tdep.c.
Referenced by linux_find_memory_regions_full().