GDB (xrefs)
|
#include "defs.h"
#include "target.h"
#include "gdbtypes.h"
#include "command.h"
#include "inferior.h"
#include "valprint.h"
#include "gdbcore.h"
#include "observable.h"
#include "gdbsupport/filestuff.h"
#include "objfiles.h"
#include "auxv.h"
#include "elf/common.h"
#include <unistd.h>
#include <fcntl.h>
Go to the source code of this file.
Classes | |
struct | auxv_info |
Macros | |
#define | TAG(tag, text, kind) case tag: name = #tag; description = text; format = kind; break |
Functions | |
static enum target_xfer_status | procfs_xfer_auxv (gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) |
static enum target_xfer_status | ld_so_xfer_auxv (gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) |
enum target_xfer_status | memory_xfer_auxv (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) |
static int | generic_auxv_parse (struct gdbarch *gdbarch, const gdb_byte **readptr, const gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp, int sizeof_auxv_type) |
int | default_auxv_parse (struct target_ops *ops, const gdb_byte **readptr, const gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) |
int | svr4_auxv_parse (struct gdbarch *gdbarch, const gdb_byte **readptr, const gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) |
static int | parse_auxv (target_ops *ops, gdbarch *gdbarch, const gdb_byte **readptr, const gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) |
static void | invalidate_auxv_cache_inf (struct inferior *inf) |
static void | auxv_all_objfiles_removed (program_space *pspace) |
const gdb::optional< gdb::byte_vector > & | target_read_auxv () |
gdb::optional< gdb::byte_vector > | target_read_auxv_raw (target_ops *ops) |
int | target_auxv_search (const gdb::byte_vector &auxv, target_ops *ops, gdbarch *gdbarch, CORE_ADDR match, CORE_ADDR *valp) |
int | target_auxv_search (CORE_ADDR match, CORE_ADDR *valp) |
void | fprint_auxv_entry (struct ui_file *file, const char *name, const char *description, enum auxv_format format, CORE_ADDR type, CORE_ADDR val) |
void | default_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file, CORE_ADDR type, CORE_ADDR val) |
static int | fprint_target_auxv (struct ui_file *file) |
static void | info_auxv_command (const char *cmd, int from_tty) |
void | _initialize_auxv () |
Variables | |
static const registry< inferior >::key< auxv_info > | auxv_inferior_data |
#define TAG | ( | tag, | |
text, | |||
kind ) case tag: name = #tag; description = text; format = kind; break |
void _initialize_auxv | ( | ) |
Definition at line 613 of file auxv.c.
Referenced by initialize_all_files().
|
static |
Definition at line 350 of file auxv.c.
References all_inferiors(), current_program_space, and invalidate_auxv_cache_inf().
int default_auxv_parse | ( | struct target_ops * | ops, |
const gdb_byte ** | readptr, | ||
const gdb_byte * | endptr, | ||
CORE_ADDR * | typep, | ||
CORE_ADDR * | valp ) |
Definition at line 284 of file auxv.c.
References builtin_type::builtin_data_ptr, builtin_type(), generic_auxv_parse(), type::length(), and target_gdbarch().
Referenced by dummy_target::auxv_parse().
void default_print_auxv_entry | ( | struct gdbarch * | gdbarch, |
struct ui_file * | file, | ||
CORE_ADDR | type, | ||
CORE_ADDR | val ) |
Definition at line 459 of file auxv.c.
References AUXV_FORMAT_DEC, AUXV_FORMAT_HEX, AUXV_FORMAT_STR, value_print_options::format, fprint_auxv_entry(), name, and TAG.
Referenced by fbsd_print_auxv_entry().
void fprint_auxv_entry | ( | struct ui_file * | file, |
const char * | name, | ||
const char * | description, | ||
enum auxv_format | format, | ||
CORE_ADDR | type, | ||
CORE_ADDR | val ) |
Definition at line 427 of file auxv.c.
References AUXV_FORMAT_DEC, AUXV_FORMAT_HEX, AUXV_FORMAT_STR, gdb_printf(), get_user_print_options(), name, paddress(), target_gdbarch(), and val_print_string().
Referenced by default_print_auxv_entry(), and fbsd_print_auxv_entry().
|
static |
Definition at line 568 of file auxv.c.
References current_inferior(), gdbarch_print_auxv_entry(), parse_auxv(), target_gdbarch(), target_read_auxv(), and type.
Referenced by info_auxv_command().
|
static |
Definition at line 253 of file auxv.c.
References builtin_type::builtin_data_ptr, builtin_type(), extract_unsigned_integer(), gdbarch_byte_order(), and type::length().
Referenced by default_auxv_parse(), and svr4_auxv_parse().
|
static |
Definition at line 596 of file auxv.c.
References fprint_target_auxv(), gdb_stdout, and target_has_stack().
|
static |
Definition at line 342 of file auxv.c.
References auxv_inferior_data.
Referenced by auxv_all_objfiles_removed().
|
static |
Definition at line 79 of file auxv.c.
References builtin_type::builtin_data_ptr, builtin_type(), extract_typed_address(), type::length(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, minimal_symbol::size(), target_gdbarch(), target_read_memory(), target_write_memory(), TARGET_XFER_E_IO, TARGET_XFER_EOF, TARGET_XFER_OK, and bound_minimal_symbol::value_address().
Referenced by memory_xfer_auxv().
enum target_xfer_status memory_xfer_auxv | ( | struct target_ops * | ops, |
enum target_object | object, | ||
const char * | annex, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf, | ||
ULONGEST | offset, | ||
ULONGEST | len, | ||
ULONGEST * | xfered_len ) |
Definition at line 219 of file auxv.c.
References current_inferior(), ld_so_xfer_auxv(), procfs_xfer_auxv(), TARGET_OBJECT_AUXV, and TARGET_XFER_E_IO.
|
static |
Definition at line 318 of file auxv.c.
References target_ops::auxv_parse(), gdbarch_auxv_parse(), and gdbarch_auxv_parse_p().
Referenced by fprint_target_auxv(), and target_auxv_search().
|
static |
Definition at line 43 of file auxv.c.
References inferior_ptid, read(), SEEK_SET, TARGET_XFER_E_IO, TARGET_XFER_EOF, and TARGET_XFER_OK.
Referenced by memory_xfer_auxv().
int svr4_auxv_parse | ( | struct gdbarch * | gdbarch, |
const gdb_byte ** | readptr, | ||
const gdb_byte * | endptr, | ||
CORE_ADDR * | typep, | ||
CORE_ADDR * | valp ) |
Definition at line 298 of file auxv.c.
References builtin_type::builtin_int, builtin_type(), generic_auxv_parse(), and type::length().
Referenced by nbsd_init_abi(), and obsd_init_abi().
int target_auxv_search | ( | const gdb::byte_vector & | auxv, |
target_ops * | ops, | ||
gdbarch * | gdbarch, | ||
CORE_ADDR | match, | ||
CORE_ADDR * | valp ) |
Definition at line 385 of file auxv.c.
References parse_auxv(), and type.
Referenced by adi_available(), arm_fbsd_read_description_auxv(), elf_gnu_ifunc_resolve_addr(), enable_break(), fbsd_vdso_range(), linux_displaced_step_location(), linux_get_hwcap_helper(), linux_is_uclinux(), linux_vsyscall_range_raw(), ppc_process_record_op31(), read_program_header(), svr4_exec_displacement(), and target_auxv_search().
int target_auxv_search | ( | CORE_ADDR | match, |
CORE_ADDR * | valp ) |
Definition at line 413 of file auxv.c.
References current_inferior(), target_auxv_search(), and target_read_auxv().
const gdb::optional< gdb::byte_vector > & target_read_auxv | ( | ) |
Definition at line 360 of file auxv.c.
References auxv_inferior_data, current_inferior(), registry< T >::get(), and target_read_auxv_raw().
Referenced by arm_fbsd_read_description_auxv(), fprint_target_auxv(), linux_get_hwcap(), linux_get_hwcap2(), and target_auxv_search().
gdb::optional< gdb::byte_vector > target_read_auxv_raw | ( | target_ops * | ops | ) |
Definition at line 377 of file auxv.c.
References TARGET_OBJECT_AUXV, and target_read_alloc().
Referenced by aarch64_linux_core_read_description(), arm_fbsd_core_read_description(), arm_linux_core_read_description(), ppc_linux_core_read_description(), s390_core_read_description(), and target_read_auxv().
Definition at line 337 of file auxv.c.
Referenced by invalidate_auxv_cache_inf(), and target_read_auxv().