GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "frame.h"
#include "value.h"
#include "gdbcore.h"
#include "inferior.h"
#include "target.h"
#include "symfile.h"
#include "regcache.h"
#include "user-regs.h"
#include "block.h"
#include "objfiles.h"
#include "language.h"
#include "gdbsupport/selftest.h"
Go to the source code of this file.
Functions | |
template<typename T , typename > | |
you lose T | extract_integer (gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order) |
template LONGEST | extract_integer< LONGEST > (gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order) |
template ULONGEST | extract_integer< ULONGEST > (gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order) |
int | extract_long_unsigned_integer (const gdb_byte *addr, int orig_len, enum bfd_endian byte_order, LONGEST *pval) |
CORE_ADDR | extract_typed_address (const gdb_byte *buf, struct type *type) |
template<typename T , typename > | |
void | store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, T val) |
template void | store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, LONGEST val) |
template void | store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val) |
void | store_typed_address (gdb_byte *buf, struct type *type, CORE_ADDR addr) |
void | copy_integer_to_size (gdb_byte *dest, int dest_size, const gdb_byte *source, int source_size, bool is_signed, enum bfd_endian byte_order) |
struct value * | value_of_register (int regnum, frame_info_ptr frame) |
struct value * | value_of_register_lazy (frame_info_ptr frame, int regnum) |
CORE_ADDR | unsigned_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) |
CORE_ADDR | signed_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) |
void | unsigned_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr) |
void | address_to_signed_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr) |
enum symbol_needs_kind | symbol_read_needs (struct symbol *sym) |
int | symbol_read_needs_frame (struct symbol *sym) |
static frame_info_ptr | get_hosting_frame (struct symbol *var, const struct block *var_block, frame_info_ptr frame) |
struct value * | read_var_value (struct symbol *var, const struct block *var_block, frame_info_ptr frame) |
struct value * | default_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_id frame_id) |
void | read_frame_register_value (struct value *value, frame_info_ptr frame) |
struct value * | value_from_register (struct type *type, int regnum, frame_info_ptr frame) |
CORE_ADDR | address_from_register (int regnum, frame_info_ptr frame) |
void | _initialize_findvar () |
void _initialize_findvar | ( | ) |
Definition at line 1024 of file findvar.c.
Referenced by initialize_all_files().
CORE_ADDR address_from_register | ( | int | regnum, |
frame_info_ptr | frame ) |
Definition at line 883 of file findvar.c.
References builtin_type::builtin_data_ptr, builtin_type(), error_value_optimized_out(), gdbarch_convert_register_p(), gdbarch_num_cooked_regs(), gdbarch_register_to_value(), gdbarch_value_from_register(), get_frame_arch(), type::length(), null_frame_id, value::optimized_out(), read_frame_register_value(), regnum, release_value(), unpack_long(), value, and value_as_address().
Referenced by read_addr_from_reg().
void address_to_signed_pointer | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
gdb_byte * | buf, | ||
CORE_ADDR | addr ) |
Definition at line 336 of file findvar.c.
References type::length(), store_signed_integer(), and type_byte_order().
Referenced by mips_gdbarch_init().
void copy_integer_to_size | ( | gdb_byte * | dest, |
int | dest_size, | ||
const gdb_byte * | source, | ||
int | source_size, | ||
bool | is_signed, | ||
enum bfd_endian | byte_order ) |
Definition at line 214 of file findvar.c.
Referenced by reg_buffer::raw_collect_integer(), and reg_buffer::raw_supply_integer().
struct value * default_value_from_register | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
int | regnum, | ||
struct frame_id frame_id frame_id | ) |
Definition at line 752 of file findvar.c.
References value::allocate(), frame_find_by_id(), get_frame_id(), get_next_frame_sentinel_okay(), type::length(), lval_register, null_frame_id, register_size(), regnum, value::set_lval(), value::set_offset(), type_byte_order(), value, VALUE_NEXT_FRAME_ID, and VALUE_REGNUM.
Referenced by s390_value_from_register().
template LONGEST extract_integer< LONGEST > | ( | gdb::array_view< const gdb_byte > | buf, |
enum bfd_endian | byte_order ) |
Referenced by extract_signed_integer().
template ULONGEST extract_integer< ULONGEST > | ( | gdb::array_view< const gdb_byte > | buf, |
enum bfd_endian | byte_order ) |
Referenced by extract_unsigned_integer().
int extract_long_unsigned_integer | ( | const gdb_byte * | addr, |
int | orig_len, | ||
enum bfd_endian | byte_order, | ||
LONGEST * | pval ) |
Definition at line 102 of file findvar.c.
References extract_unsigned_integer().
CORE_ADDR extract_typed_address | ( | const gdb_byte * | buf, |
struct type * | type ) |
Definition at line 152 of file findvar.c.
References type::arch(), gdbarch_pointer_to_address(), and type::is_pointer_or_reference().
Referenced by ada_value_print_num(), amd64_get_longjmp_target(), c_value_print_ptr(), c_value_print_struct(), cp_print_value_fields(), darwin_current_sos(), darwin_load_image_infos(), darwin_read_exec_load_addr_from_dyld(), elf_gnu_ifunc_resolve_by_got(), elf_locate_base(), gdb_bfd_scan_elf_dyntag(), get_running_thread_id(), gnuv3_decode_method_ptr(), handle_stap_probe(), i386_unwind_pc(), jit_read_code_entry(), jit_read_descriptor(), ld_so_xfer_auxv(), lm_info_read(), m68k_unwind_pc(), microblaze_unwind_pc(), nios2_unwind_pc(), open_symbol_file_object(), print_ref_address(), read_known_tasks_array(), read_known_tasks_list(), read_memory_typed_address(), resolve_dynamic_type_internal(), rs6000_aix_extract_ld_info(), tic6x_unwind_pc(), unpack_long(), and xtensa_unwind_pc().
|
static |
Definition at line 406 of file findvar.c.
References block_innermost_frame(), frame_follow_static_link(), block::function(), get_frame_block(), get_prev_frame(), block::inlined_p(), block::is_global_block(), block::is_static_block(), general_symbol_info::print_name(), QUIT, block::superblock(), and symbol_read_needs_frame().
Referenced by language_defn::read_var_value().
void read_frame_register_value | ( | struct value * | value, |
frame_info_ptr | frame ) |
Definition at line 793 of file findvar.c.
References check_typedef(), value::contents_copy(), get_frame_arch(), get_frame_register_value(), value::lval(), lval_register, value::offset(), reg_offset, register_size(), regnum, value::type(), type_length_units(), and VALUE_REGNUM.
Referenced by address_from_register(), and value_from_register().
struct value * read_var_value | ( | struct symbol * | var, |
const struct block * | var_block, | ||
frame_info_ptr | frame ) |
Definition at line 739 of file findvar.c.
References general_symbol_info::language(), language_def(), and language_defn::read_var_value().
Referenced by bpfinishpy_init(), convert_one_symbol(), convert_one_symbol(), do_compile_dwarf_expr_to_c(), enumerate_locals(), finish_command(), frapy_read_var(), gdbscm_frame_read_var(), gdbscm_symbol_value(), insert_exception_resume_breakpoint(), print_variable_and_value(), read_frame_arg(), read_frame_local(), finish_command_fsm::should_stop(), sympy_value(), value_of_this(), value_of_variable(), and value_struct_elt_for_reference().
CORE_ADDR signed_pointer_to_address | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
const gdb_byte * | buf ) |
Definition at line 316 of file findvar.c.
References extract_signed_integer(), type::length(), and type_byte_order().
Referenced by mips_gdbarch_init().
template void store_integer | ( | gdb_byte * | addr, |
int | len, | ||
enum bfd_endian | byte_order, | ||
LONGEST | val ) |
void store_integer | ( | gdb_byte * | addr, |
int | len, | ||
enum bfd_endian | byte_order, | ||
T | val ) |
Definition at line 162 of file findvar.c.
Referenced by regcache::cooked_write(), regcache::raw_write(), selftests::store_and_read_back(), store_signed_integer(), store_unsigned_integer(), and supply_sve_regset().
template void store_integer | ( | gdb_byte * | addr, |
int | len, | ||
enum bfd_endian | byte_order, | ||
ULONGEST | val ) |
void store_typed_address | ( | gdb_byte * | buf, |
struct type * | type, | ||
CORE_ADDR | addr ) |
Definition at line 201 of file findvar.c.
References type::arch(), gdbarch_address_to_pointer(), and type::is_pointer_or_reference().
Referenced by pack_long(), pack_unsigned_long(), tlb_value_read(), and value_from_pointer().
enum symbol_needs_kind symbol_read_needs | ( | struct symbol * | sym | ) |
Definition at line 347 of file findvar.c.
References symbol::aclass(), LOC_ARG, LOC_BLOCK, LOC_COMPUTED, LOC_CONST, LOC_CONST_BYTES, LOC_LABEL, LOC_LOCAL, LOC_OPTIMIZED_OUT, LOC_REF_ARG, LOC_REGISTER, LOC_REGPARM_ADDR, LOC_STATIC, LOC_TYPEDEF, LOC_UNDEF, LOC_UNRESOLVED, SYMBOL_COMPUTED_OPS, SYMBOL_NEEDS_FRAME, and SYMBOL_NEEDS_NONE.
Referenced by language_defn::read_var_value(), and symbol_read_needs_frame().
int symbol_read_needs_frame | ( | struct symbol * | sym | ) |
Definition at line 388 of file findvar.c.
References SYMBOL_NEEDS_FRAME, and symbol_read_needs().
Referenced by convert_one_symbol(), convert_one_symbol(), gdbscm_symbol_needs_frame_p(), gdbscm_symbol_value(), get_hosting_frame(), maybe_overload(), parser_state::push_symbol(), sympy_needs_frame(), sympy_value(), rust_parser::update_innermost_block(), value_of_variable(), write_var_from_sym(), and yyparse().
void unsigned_address_to_pointer | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
gdb_byte * | buf, | ||
CORE_ADDR | addr ) |
Definition at line 327 of file findvar.c.
References type::length(), store_unsigned_integer(), and type_byte_order().
CORE_ADDR unsigned_pointer_to_address | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
const gdb_byte * | buf ) |
Definition at line 307 of file findvar.c.
References extract_unsigned_integer(), type::length(), and type_byte_order().
struct value * value_from_register | ( | struct type * | type, |
int | regnum, | ||
frame_info_ptr | frame ) |
Definition at line 833 of file findvar.c.
References value::allocate(), check_typedef(), value::contents_raw(), gdbarch_convert_register_p(), gdbarch_register_to_value(), gdbarch_value_from_register(), get_frame_arch(), get_frame_id(), get_next_frame_sentinel_okay(), type::length(), lval_register, value::mark_bytes_optimized_out(), value::mark_bytes_unavailable(), read_frame_register_value(), regnum, value::set_lval(), VALUE_NEXT_FRAME_ID, and VALUE_REGNUM.
Referenced by dwarf_expr_context::execute_stack_op(), dwarf_expr_context::fetch_result(), language_defn::read_var_value(), set_gdbarch_value_from_register(), and store_regs().
struct value * value_of_register | ( | int | regnum, |
frame_info_ptr | frame ) |
Definition at line 253 of file findvar.c.
References value::fetch_lazy(), gdbarch_num_cooked_regs(), get_frame_arch(), regnum, value_of_register_lazy(), and value_of_user_reg().
Referenced by default_print_registers_info(), eval_op_register(), frapy_read_register(), gdbscm_frame_read_register(), output_register(), pending_framepy_read_register(), riscv_print_one_register_info(), s12z_print_ccw_info(), value_of_aarch64_user_reg(), value_of_arm_user_reg(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), value_of_builtin_frame_ps_reg(), value_of_builtin_frame_sp_reg(), value_of_loongarch_user_reg(), value_of_mips_user_reg(), value_of_nds32_reg(), and value_of_riscv_user_reg().
struct value * value_of_register_lazy | ( | frame_info_ptr | frame, |
int | regnum ) |
Definition at line 273 of file findvar.c.
References value::allocate_lazy(), frame_id_p(), gdbarch_num_cooked_regs(), get_frame_arch(), get_frame_id(), get_frame_type(), get_next_frame_sentinel_okay(), INLINE_FRAME, lval_register, register_type(), regnum, value::set_lval(), VALUE_NEXT_FRAME_ID, and VALUE_REGNUM.
Referenced by frame_unwind_got_register(), and value_of_register().