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 "dwarf2/loc.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 | follow_static_link (frame_info_ptr frame, const struct dynamic_prop *static_link) |
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 1072 of file findvar.c.
Referenced by initialize_all_files().
CORE_ADDR address_from_register | ( | int | regnum, |
frame_info_ptr | frame | ||
) |
Definition at line 931 of file findvar.c.
References builtin_type::builtin_data_ptr, 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, read_frame_register_value(), regnum, release_value(), unpack_long(), value_as_address(), and value_optimized_out().
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 337 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 215 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 800 of file findvar.c.
References allocate_value(), frame_find_by_id(), get_frame_id(), get_next_frame_sentinel_okay(), type::length(), lval_register, null_frame_id, register_size(), regnum, set_value_offset(), type_byte_order(), VALUE_LVAL, 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 103 of file findvar.c.
References extract_unsigned_integer().
CORE_ADDR extract_typed_address | ( | const gdb_byte * | buf, |
struct type * | type | ||
) |
Definition at line 153 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 399 of file findvar.c.
References dwarf2_evaluate_property(), get_frame_base(), get_frame_function(), get_prev_frame(), QUIT, and SYMBOL_BLOCK_OPS.
Referenced by get_hosting_frame().
|
static |
Definition at line 442 of file findvar.c.
References block_global_block(), block_inlined_p(), block_innermost_frame(), block_static_block(), block_static_link(), follow_static_link(), block::function(), get_frame_block(), get_prev_frame(), 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 841 of file findvar.c.
References check_typedef(), get_frame_arch(), get_frame_register_value(), lval_register, reg_offset, register_size(), regnum, type_length_units(), value_contents_copy(), VALUE_LVAL, value_offset(), VALUE_REGNUM, and value_type().
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 787 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(), return_command(), 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 317 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 163 of file findvar.c.
Referenced by aarch64_linux_supply_sve_regset(), regcache::cooked_write(), regcache::raw_write(), selftests::store_and_read_back(), store_signed_integer(), and store_unsigned_integer().
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 202 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 348 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 389 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 328 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 308 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 881 of file findvar.c.
References allocate_value(), check_typedef(), 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, mark_value_bytes_optimized_out(), mark_value_bytes_unavailable(), read_frame_register_value(), regnum, value_contents_raw(), VALUE_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 254 of file findvar.c.
References gdbarch_num_cooked_regs(), get_frame_arch(), regnum, value_fetch_lazy(), 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_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 274 of file findvar.c.
References allocate_value_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_LVAL, VALUE_NEXT_FRAME_ID, and VALUE_REGNUM.
Referenced by frame_unwind_got_register(), and value_of_register().