GDB (xrefs)
|
#include "dwarf2expr.h"
Go to the source code of this file.
Classes | |
struct | property_addr_info |
struct | dwarf2_locexpr_baton |
struct | dwarf2_loclist_baton |
struct | dwarf2_offset_baton |
struct | dwarf2_property_baton |
struct | call_site_chain |
Variables | |
unsigned int | entry_values_debug |
const struct symbol_computed_ops | dwarf2_locexpr_funcs |
const struct symbol_computed_ops | dwarf2_loclist_funcs |
const struct symbol_block_ops | dwarf2_block_frame_base_locexpr_funcs |
const struct symbol_block_ops | dwarf2_block_frame_base_loclist_funcs |
struct call_site_chain* call_site_find_chain | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | caller_pc, | ||
CORE_ADDR | callee_pc | ||
) |
Definition at line 982 of file dwarf2loc.c.
References call_site_find_chain_1(), CATCH, END_CATCH, exception_print(), gdb_stdout, NO_ENTRY_VALUE_ERROR, RETURN_MASK_ERROR, throw_exception(), and TRY.
Referenced by dwarf2_tailcall_sniffer_first().
void dwarf2_compile_expr_to_ax | ( | struct agent_expr * | expr, |
struct axs_value * | loc, | ||
struct gdbarch * | arch, | ||
unsigned int | addr_size, | ||
const gdb_byte * | op_ptr, | ||
const gdb_byte * | op_end, | ||
struct dwarf2_per_cu_data * | per_cu | ||
) |
Definition at line 2855 of file dwarf2loc.c.
References _, access_memory(), ax_const_l(), ax_ext(), ax_goto(), ax_label(), ax_pick(), ax_reg(), ax_simple(), ax_zero_ext(), axs_lvalue_memory, axs_lvalue_register, axs_rvalue, block_for_pc(), block_linkage_function(), cu_offset::cu_off, dwarf2_locexpr_baton::data, do_cleanups(), dwarf2_compile_expr_to_ax(), dwarf2_fetch_cfa_info(), dwarf2_fetch_die_loc_cu_off(), dwarf2_per_cu_text_offset(), dwarf2_reg_to_regnum_or_error(), dwarf_expr_require_composition(), error(), extract_signed_integer(), extract_unsigned_integer(), func_get_frame_base_dwarf_block(), gdb_assert, gdbarch_bits_big_endian(), gdbarch_byte_order(), get_ax_pc(), internal_error(), axs_value::kind, agent_expr::len, len, make_cleanup(), offset, dwarf2_locexpr_baton::per_cu, axs_value::reg, regnum, require_rvalue(), safe_read_sleb128(), safe_read_uleb128(), agent_expr::scope, dwarf2_locexpr_baton::size, size, TARGET_CHAR_BIT, axs_value::u, unimplemented(), VEC, VEC_cleanup, VEC_index, VEC_length, VEC_safe_push, xfree(), and xmalloc().
Referenced by dwarf2_compile_expr_to_ax(), locexpr_tracepoint_var_ref(), and loclist_tracepoint_var_ref().
void dwarf2_compile_property_to_c | ( | struct ui_file * | stream, |
const char * | result_name, | ||
struct gdbarch * | gdbarch, | ||
unsigned char * | registers_used, | ||
const struct dynamic_prop * | prop, | ||
CORE_ADDR | address, | ||
struct symbol * | sym | ||
) |
Definition at line 2546 of file dwarf2loc.c.
References dynamic_prop_data::baton, compile_dwarf_bounds_to_c(), dwarf2_locexpr_baton::data, dynamic_prop::data, dwarf2_find_location_expression(), dwarf2_per_cu_addr_size(), gdb_assert, dynamic_prop::kind, dwarf2_property_baton::locexpr, dwarf2_property_baton::loclist, dwarf2_locexpr_baton::per_cu, dwarf2_loclist_baton::per_cu, PROP_LOCEXPR, PROP_LOCLIST, dwarf2_locexpr_baton::size, and size.
Referenced by generate_vla_size().
struct value* dwarf2_evaluate_loc_desc | ( | struct type * | type, |
struct frame_info * | frame, | ||
const gdb_byte * | data, | ||
size_t | size, | ||
struct dwarf2_per_cu_data * | per_cu | ||
) |
Definition at line 2391 of file dwarf2loc.c.
References dwarf2_evaluate_loc_desc_full().
Referenced by call_site_to_target_addr(), dwarf2_compute_name(), dwarf2_evaluate_property(), dwarf_entry_parameter_to_value(), locexpr_read_variable(), and loclist_read_variable().
int dwarf2_evaluate_property | ( | const struct dynamic_prop * | prop, |
struct property_addr_info * | addr_stack, | ||
CORE_ADDR * | value | ||
) |
Definition at line 2463 of file dwarf2loc.c.
References _, property_addr_info::addr, dynamic_prop_data::baton, dynamic_prop_data::const_val, dynamic_prop::data, dwarf2_evaluate_loc_desc(), dwarf2_find_location_expression(), dwarf2_locexpr_baton_eval(), error(), get_frame_address_in_block(), get_selected_frame(), dynamic_prop::kind, dwarf2_property_baton::locexpr, dwarf2_property_baton::loclist, property_addr_info::next, dwarf2_offset_baton::offset, dwarf2_property_baton::offset_info, dwarf2_loclist_baton::per_cu, PROP_ADDR_OFFSET, PROP_CONST, PROP_LOCEXPR, PROP_LOCLIST, dwarf2_property_baton::referenced_type, size, property_addr_info::type, dwarf2_offset_baton::type, property_addr_info::valaddr, value_as_address(), value_at(), value_from_contents(), and value_optimized_out().
Referenced by resolve_dynamic_range(), and resolve_dynamic_type_internal().
const gdb_byte* dwarf2_fetch_constant_bytes | ( | sect_offset | , |
struct dwarf2_per_cu_data * | , | ||
struct obstack * | , | ||
LONGEST * | |||
) |
Definition at line 20085 of file dwarf2read.c.
References _, comp_unit_head::addr_size, complaint(), dwarf2_per_cu_data::cu, die_type(), dw2_setup(), DW_ADDR, DW_BLOCK, DW_SND, DW_STRING, DW_UNSND, dwarf2_attr(), dwarf2_const_value_data(), dwarf_form_name(), error(), follow_die_offset(), attribute::form, dwarf2_cu::header, dwarf2_per_cu_data::is_dwz, load_cu(), objfile::obfd, dwarf2_per_cu_data::objfile, objfile_name(), sect_offset::sect_off, store_unsigned_integer(), symfile_complaints, type, and write_constant_as_bytes().
Referenced by indirect_pieced_value().
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off | ( | cu_offset | offset_in_cu, |
struct dwarf2_per_cu_data * | per_cu, | ||
CORE_ADDR(*)(void *baton) | get_frame_pc, | ||
void * | baton | ||
) |
Definition at line 20050 of file dwarf2read.c.
References dwarf2_fetch_die_loc_sect_off(), get_frame_pc(), and offset.
Referenced by dwarf2_compile_expr_to_ax(), and per_cu_dwarf_call().
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off | ( | sect_offset | offset_in_cu, |
struct dwarf2_per_cu_data * | per_cu, | ||
CORE_ADDR(*)(void *baton) | get_frame_pc, | ||
void * | baton | ||
) |
Definition at line 19987 of file dwarf2read.c.
References _, age_cached_comp_units(), attr_form_is_block(), attr_form_is_section_offset(), dwarf2_locexpr_baton::data, dw2_setup(), DW_BLOCK, dwarf2_attr(), dwarf2_find_location_expression(), error(), fill_in_loclist_baton(), follow_die_offset(), load_cu(), objfile_name(), offset, dwarf2_locexpr_baton::per_cu, dwarf2_cu::per_cu, dwarf2_locexpr_baton::size, and size.
Referenced by dwarf2_fetch_die_loc_cu_off(), and indirect_pieced_value().
const gdb_byte* dwarf2_find_location_expression | ( | struct dwarf2_loclist_baton * | baton, |
size_t * | locexpr_length, | ||
CORE_ADDR | pc | ||
) |
Definition at line 205 of file dwarf2loc.c.
References _, dwarf2_loclist_baton::base_address, block_for_pc(), block_linkage_function(), BLOCK_START, gdbarch::byte_order, dwarf2_loclist_baton::data, DEBUG_LOC_BASE_ADDRESS, DEBUG_LOC_BUFFER_OVERFLOW, DEBUG_LOC_END_OF_LIST, DEBUG_LOC_INVALID_ENTRY, DEBUG_LOC_START_END, DEBUG_LOC_START_LENGTH, decode_debug_loc_addresses(), decode_debug_loc_dwo_addresses(), dwarf2_per_cu_addr_size(), dwarf2_per_cu_objfile(), dwarf2_per_cu_text_offset(), error(), extract_unsigned_integer(), dwarf2_loclist_baton::from_dwo, gdb_assert_not_reached, gdbarch_byte_order(), get_objfile_arch(), objfile::obfd, dwarf2_loclist_baton::per_cu, dwarf2_loclist_baton::size, and SYMBOL_BLOCK_VALUE.
Referenced by dwarf2_compile_property_to_c(), dwarf2_evaluate_property(), dwarf2_fetch_die_loc_sect_off(), loclist_find_frame_base_location(), loclist_generate_c_location(), loclist_read_variable(), loclist_read_variable_at_entry(), and loclist_tracepoint_var_ref().
struct type* dwarf2_get_die_type | ( | cu_offset | die_offset, |
struct dwarf2_per_cu_data * | per_cu | ||
) |
Definition at line 20208 of file dwarf2read.c.
References cu_offset::cu_off, dw2_setup(), get_die_type_at_offset(), dwarf2_per_cu_data::objfile, dwarf2_per_cu_data::offset, and sect_offset::sect_off.
Referenced by disassemble_dwarf_expression(), and dwarf_expr_get_base_type().
int dwarf2_per_cu_addr_size | ( | struct dwarf2_per_cu_data * | cu | ) |
Definition at line 21893 of file dwarf2read.c.
References comp_unit_head::addr_size, and per_cu_header_read_in().
Referenced by dwarf2_compile_property_to_c(), dwarf2_evaluate_loc_desc_full(), dwarf2_find_location_expression(), dwarf2_loc_desc_needs_frame(), dwarf2_locexpr_baton_eval(), dwarf_expr_push_dwarf_reg_entry_value(), locexpr_describe_location(), locexpr_generate_c_location(), locexpr_tracepoint_var_ref(), loclist_describe_location(), loclist_generate_c_location(), and loclist_tracepoint_var_ref().
struct objfile* dwarf2_per_cu_objfile | ( | struct dwarf2_per_cu_data * | cu | ) |
Definition at line 21857 of file dwarf2read.c.
References dwarf2_per_cu_data::objfile, and objfile::separate_debug_objfile_backlink.
Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_find_location_expression(), dwarf2_loc_desc_needs_frame(), dwarf2_locexpr_baton_eval(), dwarf_expr_push_dwarf_reg_entry_value(), dwarf_expr_tls_address(), locexpr_describe_location(), and loclist_describe_location().
int dwarf2_per_cu_offset_size | ( | struct dwarf2_per_cu_data * | cu | ) |
Definition at line 21906 of file dwarf2read.c.
References comp_unit_head::offset_size, and per_cu_header_read_in().
Referenced by locexpr_describe_location(), and loclist_describe_location().
int dwarf2_per_cu_ref_addr_size | ( | struct dwarf2_per_cu_data * | cu | ) |
Definition at line 21919 of file dwarf2read.c.
References comp_unit_head::addr_size, comp_unit_head::offset_size, per_cu_header_read_in(), and comp_unit_head::version.
Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_loc_desc_needs_frame(), and dwarf2_locexpr_baton_eval().
CORE_ADDR dwarf2_per_cu_text_offset | ( | struct dwarf2_per_cu_data * | cu | ) |
Definition at line 21938 of file dwarf2read.c.
References ANOFFSET, dwarf2_per_cu_data::objfile, SECT_OFF_TEXT, and objfile::section_offsets.
Referenced by do_compile_dwarf_expr_to_c(), dwarf2_compile_expr_to_ax(), dwarf2_evaluate_loc_desc_full(), dwarf2_find_location_expression(), dwarf2_loc_desc_needs_frame(), dwarf2_locexpr_baton_eval(), dwarf_expr_push_dwarf_reg_entry_value(), and loclist_describe_location().
CORE_ADDR dwarf2_read_addr_index | ( | struct dwarf2_per_cu_data * | per_cu, |
unsigned int | addr_index | ||
) |
Definition at line 16861 of file dwarf2read.c.
References dwarf2_read_addr_index_data::addr_base, comp_unit_head::addr_size, dwarf2_read_addr_index_data::addr_size, dwarf2_per_cu_data::cu, dw2_setup(), dwarf2_read_addr_index_reader(), dwarf2_cu::header, init_cutu_and_read_dies(), dwarf2_per_cu_data::objfile, and read_addr_index_1().
Referenced by decode_debug_loc_dwo_addresses(), disassemble_dwarf_expression(), dwarf_expr_get_addr_index(), and locexpr_describe_location_piece().
Definition at line 2780 of file dwarf2loc.c.
References _, error(), and gdbarch_dwarf2_reg_to_regnum().
Referenced by do_compile_dwarf_expr_to_c(), and dwarf2_compile_expr_to_ax().
void func_get_frame_base_dwarf_block | ( | struct symbol * | framefunc, |
CORE_ADDR | pc, | ||
const gdb_byte ** | start, | ||
size_t * | length | ||
) |
Definition at line 415 of file dwarf2loc.c.
References _, error(), symbol_block_ops::find_frame_base_location, SYMBOL_BLOCK_OPS, and SYMBOL_NATURAL_NAME.
Referenced by do_compile_dwarf_expr_to_c(), dwarf2_compile_expr_to_ax(), dwarf_expr_frame_base(), and locexpr_describe_location_piece().
const struct symbol_block_ops dwarf2_block_frame_base_locexpr_funcs |
Definition at line 387 of file dwarf2loc.c.
Referenced by _initialize_dwarf2_read().
const struct symbol_block_ops dwarf2_block_frame_base_loclist_funcs |
Definition at line 407 of file dwarf2loc.c.
Referenced by _initialize_dwarf2_read().
const struct symbol_computed_ops dwarf2_locexpr_funcs |
Definition at line 4268 of file dwarf2loc.c.
Referenced by _initialize_dwarf2_read().
const struct symbol_computed_ops dwarf2_loclist_funcs |
Definition at line 4474 of file dwarf2loc.c.
Referenced by _initialize_dwarf2_read().
unsigned int entry_values_debug |
Definition at line 509 of file dwarf2loc.c.
Referenced by dwarf2_tailcall_sniffer_first().