GDB (xrefs)
|
#include "defs.h"
#include "dwarf2expr.h"
#include "dwarf2.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "symtab.h"
#include "objfiles.h"
#include "regcache.h"
#include "value.h"
#include "record.h"
#include "complaints.h"
#include "dwarf2-frame.h"
#include "ax.h"
#include "dwarf2loc.h"
#include "dwarf2-frame-tailcall.h"
Go to the source code of this file.
Classes | |
struct | dwarf2_cie |
struct | dwarf2_cie_table |
struct | dwarf2_fde |
struct | dwarf2_fde_table |
struct | comp_unit |
struct | dwarf2_frame_state_reg_info |
struct | dwarf2_frame_state |
struct | dwarf2_frame_ops |
struct | dwarf2_frame_cache |
Macros | |
#define | cfa_exp_len cfa_reg |
#define | DW64_CIE_ID 0xffffffffffffffffULL |
Enumerations | |
enum | cfa_how_kind { CFA_UNSET, CFA_REG_OFFSET, CFA_EXP } |
enum | eh_frame_type { EH_CIE_TYPE_ID = 1 << 0, EH_FDE_TYPE_ID = 1 << 1, EH_CIE_OR_FDE_TYPE_ID = EH_CIE_TYPE_ID | EH_FDE_TYPE_ID } |
Variables | |
static const struct dwarf_expr_context_funcs | dwarf2_frame_ctx_funcs |
static struct gdbarch_data * | dwarf2_frame_data |
static const struct frame_unwind | dwarf2_frame_unwind |
static const struct frame_unwind | dwarf2_signal_frame_unwind |
static const struct frame_base | dwarf2_frame_base |
const struct objfile_data * | dwarf2_frame_objfile_data |
#define cfa_exp_len cfa_reg |
Definition at line 222 of file dwarf2-frame.c.
#define DW64_CIE_ID 0xffffffffffffffffULL |
Definition at line 1820 of file dwarf2-frame.c.
Referenced by decode_frame_entry_1().
enum cfa_how_kind |
Enumerator | |
---|---|
CFA_UNSET | |
CFA_REG_OFFSET | |
CFA_EXP |
Definition at line 168 of file dwarf2-frame.c.
enum eh_frame_type |
Enumerator | |
---|---|
EH_CIE_TYPE_ID | |
EH_FDE_TYPE_ID | |
EH_CIE_OR_FDE_TYPE_ID |
Definition at line 1825 of file dwarf2-frame.c.
void _initialize_dwarf2_frame | ( | void | ) |
Definition at line 2475 of file dwarf2-frame.c.
References dwarf2_frame_init(), and gdbarch_data_register_pre_init().
|
static |
Definition at line 1732 of file dwarf2-frame.c.
References dwarf2_cie::cie_pointer, dwarf2_cie_table::entries, gdb_assert, dwarf2_cie_table::num_entries, and xrealloc().
Referenced by decode_frame_entry_1().
|
static |
Definition at line 1807 of file dwarf2-frame.c.
References dwarf2_fde::address_range, dwarf2_fde_table::entries, dwarf2_fde_table::num_entries, and xrealloc().
Referenced by decode_frame_entry_1().
Definition at line 1698 of file dwarf2-frame.c.
References dwarf2_cie::cie_pointer.
Referenced by find_cie().
Definition at line 1746 of file dwarf2-frame.c.
References dwarf2_fde::address_range, and dwarf2_fde::initial_location.
Referenced by dwarf2_frame_find_fde().
|
static |
Definition at line 1011 of file dwarf2-frame.c.
Referenced by dwarf2_frame_cache().
|
static |
Definition at line 2149 of file dwarf2-frame.c.
References _, complaint(), decode_frame_entry_1(), comp_unit::dwarf_frame_buffer, comp_unit::dwarf_frame_section, comp_unit::dwarf_frame_size, and symfile_complaints.
Referenced by decode_frame_entry_1(), and dwarf2_build_frame_info().
|
static |
Definition at line 1843 of file dwarf2-frame.c.
References _, comp_unit::abfd, add_cie(), add_fde(), dwarf2_cie::addr_size, dwarf2_fde::address_range, dwarf2_cie::augmentation, dwarf2_fde::cie, dwarf2_cie::cie_pointer, dwarf2_cie::code_alignment_factor, dwarf2_cie::data_alignment_factor, decode_frame_entry(), DW64_CIE_ID, dwarf2_frame_adjust_regnum(), comp_unit::dwarf_frame_buffer, comp_unit::dwarf_frame_size, EH_CIE_TYPE_ID, EH_FDE_TYPE_ID, dwarf2_fde::eh_frame_p, dwarf2_cie::encoding, encoding, dwarf2_cie::end, dwarf2_fde::end, error(), find_cie(), gdb_assert, gdb_read_sleb128(), gdb_read_uleb128(), gdbarch_adjust_dwarf2_addr(), gdbarch_dwarf2_addr_size(), gdbarch_ptr_bit(), get_objfile_arch(), dwarf2_cie::initial_instructions, dwarf2_fde::initial_location, dwarf2_fde::instructions, comp_unit::objfile, objfile::objfile_obstack, dwarf2_cie::ptr_size, read_1_byte(), read_4_bytes(), read_8_bytes(), read_encoded_value(), read_initial_length(), dwarf2_cie::return_address_register, dwarf2_cie::saw_z_augmentation, dwarf2_cie::segment_size, dwarf2_cie::signal_frame, startswith(), TARGET_CHAR_BIT, dwarf2_cie::unit, and dwarf2_cie::version.
Referenced by decode_frame_entry().
void dwarf2_append_unwinders | ( | struct gdbarch * | gdbarch | ) |
Definition at line 1455 of file dwarf2-frame.c.
References dwarf2_tailcall_frame_unwind, and frame_unwind_append_unwinder().
Referenced by aarch64_gdbarch_init(), alpha_dwarf2_init_abi(), arm_gdbarch_init(), bfin_gdbarch_init(), cris_gdbarch_init(), h8300_gdbarch_init(), hppabsd_init_abi(), i386_gdbarch_init(), iq2000_gdbarch_init(), m68hc11_gdbarch_init(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mn10300_frame_unwind_init(), msp430_gdbarch_init(), mt_gdbarch_init(), nios2_gdbarch_init(), rl78_gdbarch_init(), rs6000_gdbarch_init(), rx_gdbarch_init(), s390_gdbarch_init(), score_gdbarch_init(), sh64_gdbarch_init(), sh_gdbarch_init(), sparc32_linux_init_abi(), sparc64_linux_init_abi(), spu_gdbarch_init(), tic6x_gdbarch_init(), tilegx_gdbarch_init(), v850_gdbarch_init(), xstormy16_gdbarch_init(), and xtensa_gdbarch_init().
void dwarf2_build_frame_info | ( | struct objfile * | objfile | ) |
Definition at line 2265 of file dwarf2-frame.c.
References _, comp_unit::abfd, dwarf2_fde::address_range, CATCH, comp_unit::dbase, decode_frame_entry(), DWARF2_DEBUG_FRAME, DWARF2_EH_FRAME, dwarf2_get_section_info(), comp_unit::dwarf_frame_buffer, comp_unit::dwarf_frame_section, comp_unit::dwarf_frame_size, EH_CIE_OR_FDE_TYPE_ID, END_CATCH, dwarf2_cie_table::entries, dwarf2_fde_table::entries, dwarf2_fde::initial_location, dwarf2_cie_table::num_entries, dwarf2_fde_table::num_entries, objfile::obfd, comp_unit::objfile, objfile_name(), objfile::objfile_obstack, qsort, qsort_fde_cmp(), RETURN_MASK_ERROR, objfile::separate_debug_objfile_backlink, comp_unit::tbase, TRY, warning(), xfree(), and xrealloc().
Referenced by coff_symfile_read(), dwarf2_frame_find_fde(), macho_symfile_read(), and xcoff_initial_scan().
int dwarf2_fetch_cfa_info | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
struct dwarf2_per_cu_data * | data, | ||
int * | regnum_out, | ||
LONGEST * | offset_out, | ||
CORE_ADDR * | text_offset_out, | ||
const gdb_byte ** | cfa_start_out, | ||
const gdb_byte ** | cfa_end_out | ||
) |
Definition at line 893 of file dwarf2-frame.c.
References _, dwarf2_cie::addr_size, dwarf2_frame_state::armcc_cfa_offsets_reversed, CFA_EXP, dwarf2_frame_state_reg_info::cfa_exp, dwarf2_frame_state_reg_info::cfa_how, dwarf2_frame_state_reg_info::cfa_offset, dwarf2_frame_state_reg_info::cfa_reg, CFA_REG_OFFSET, dwarf2_fde::cie, dwarf2_frame_state::code_align, dwarf2_cie::code_alignment_factor, dwarf2_frame_state::data_align, dwarf2_cie::data_alignment_factor, dwarf2_frame_find_fde(), dwarf2_frame_find_quirks(), dwarf2_frame_state_copy_regs(), dwarf2_cie::end, dwarf2_fde::end, error(), execute_cfa_program(), gdbarch_dwarf2_reg_to_regnum(), dwarf2_frame_state::initial, dwarf2_cie::initial_instructions, dwarf2_fde::instructions, internal_error(), dwarf2_frame_state::pc, dwarf2_frame_state_reg_info::reg, regnum, dwarf2_frame_state::regs, dwarf2_frame_state::retaddr_column, and dwarf2_cie::return_address_register.
Referenced by do_compile_dwarf_expr_to_c(), and dwarf2_compile_expr_to_ax().
|
static |
Definition at line 846 of file dwarf2-frame.c.
References dwarf2_frame_ops::adjust_regnum, gdbarch_data(), and regnum.
Referenced by decode_frame_entry_1(), dwarf2_restore_rule(), and execute_cfa_program().
|
static |
Definition at line 1473 of file dwarf2-frame.c.
References dwarf2_frame_cache::cfa, and dwarf2_frame_cache().
const struct frame_base* dwarf2_frame_base_sniffer | ( | struct frame_info * | this_frame | ) |
Definition at line 1490 of file dwarf2-frame.c.
References dwarf2_frame_base, dwarf2_frame_find_fde(), and get_frame_address_in_block().
Referenced by alpha_dwarf2_init_abi(), microblaze_gdbarch_init(), mips_gdbarch_init(), s390_gdbarch_init(), and score_gdbarch_init().
|
static |
Definition at line 1019 of file dwarf2-frame.c.
References _, dwarf2_cie::addr_size, dwarf2_frame_cache::addr_size, dwarf2_frame_state::armcc_cfa_offsets_reversed, CATCH, dwarf2_frame_cache::cfa, CFA_EXP, dwarf2_frame_state_reg_info::cfa_exp, dwarf2_frame_state_reg_info::cfa_how, dwarf2_frame_state_reg_info::cfa_offset, dwarf2_frame_state_reg_info::cfa_reg, CFA_REG_OFFSET, dwarf2_fde::cie, clear_pointer_cleanup(), dwarf2_frame_state::code_align, dwarf2_cie::code_alignment_factor, complaint(), dwarf2_frame_state::data_align, dwarf2_cie::data_alignment_factor, discard_cleanups(), do_cleanups(), dwarf2_frame_find_fde(), dwarf2_frame_find_quirks(), dwarf2_frame_init_reg(), DWARF2_FRAME_REG_RA, DWARF2_FRAME_REG_RA_OFFSET, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_SAVED_REG, DWARF2_FRAME_REG_UNDEFINED, DWARF2_FRAME_REG_UNSPECIFIED, dwarf2_frame_state_copy_regs(), dwarf2_frame_state_free(), dwarf2_cie::end, dwarf2_fde::end, END_CATCH, dwarf2_frame_cache::entry_cfa_sp_offset, dwarf2_frame_cache::entry_cfa_sp_offset_p, execute_cfa_program(), execute_stack_op(), FRAME_OBSTACK_CALLOC, FRAME_OBSTACK_ZALLOC, gdb_assert, gdbarch_dwarf2_reg_to_regnum(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), gdbarch_register_name(), gdbarch_sp_regnum(), get_frame_address_in_block(), get_frame_arch(), get_frame_func_if_available(), dwarf2_frame_state_reg::how, dwarf2_frame_state::initial, dwarf2_cie::initial_instructions, dwarf2_fde::instructions, internal_error(), dwarf2_frame_state_reg::loc, make_cleanup(), NOT_AVAILABLE_ERROR, dwarf2_frame_state_reg_info::num_regs, gdbarch::num_regs, paddress(), dwarf2_frame_state::pc, read_addr_from_reg(), dwarf2_frame_state_reg::reg, dwarf2_frame_state_reg_info::reg, dwarf2_frame_cache::reg, regnum, dwarf2_frame_state::regs, dwarf2_frame_state::retaddr_column, dwarf2_frame_cache::retaddr_reg, dwarf2_cie::return_address_register, RETURN_MASK_ERROR, symfile_complaints, dwarf2_frame_cache::text_offset, throw_exception(), TRY, dwarf2_frame_cache::unavailable_retaddr, and dwarf2_frame_cache::undefined_retaddr.
Referenced by dwarf2_frame_base_address(), dwarf2_frame_dealloc_cache(), dwarf2_frame_prev_register(), dwarf2_frame_this_id(), and dwarf2_frame_unwind_stop_reason().
CORE_ADDR dwarf2_frame_cfa | ( | struct frame_info * | this_frame | ) |
Definition at line 1505 of file dwarf2-frame.c.
References _, FID_STACK_VALID, frame_unwinder_is(), get_frame_base(), get_frame_id(), get_frame_type(), get_frame_unwind_stop_reason(), get_prev_frame(), INLINE_FRAME, NOT_AVAILABLE_ERROR, record_btrace_frame_unwind, record_btrace_tailcall_frame_unwind, and throw_error().
Referenced by dwarf2_tailcall_prev_register_first(), and dwarf_expr_frame_cfa().
|
static |
Definition at line 1388 of file dwarf2-frame.c.
References frame_unwind::dealloc_cache, dwarf2_frame_cache(), dwarf2_tailcall_frame_unwind, and dwarf2_frame_cache::tailcall_cache.
|
static |
Definition at line 728 of file dwarf2-frame.c.
References DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_RA, gdbarch_pc_regnum(), gdbarch_sp_regnum(), and dwarf2_frame_state_reg::how.
Referenced by dwarf2_frame_init().
|
static |
Definition at line 1762 of file dwarf2-frame.c.
References ALL_OBJFILES, ANOFFSET, bsearch_fde_cmp(), dwarf2_build_frame_info(), dwarf2_fde_table::entries, gdb_assert, dwarf2_fde::initial_location, dwarf2_fde_table::num_entries, offset, SECT_OFF_TEXT, and objfile::section_offsets.
Referenced by dwarf2_fetch_cfa_info(), dwarf2_frame_base_sniffer(), dwarf2_frame_cache(), and dwarf2_frame_sniffer().
|
static |
Definition at line 857 of file dwarf2-frame.c.
References dwarf2_frame_state::armcc_cfa_offsets_reversed, dwarf2_frame_state::armcc_cfa_offsets_sf, dwarf2_cie::augmentation, dwarf2_fde::cie, COMPUNIT_PRODUCER, find_pc_compunit_symtab(), dwarf2_frame_state::pc, producer_is_realview(), startswith(), and dwarf2_cie::version.
Referenced by dwarf2_fetch_cfa_info(), and dwarf2_frame_cache().
|
static |
Definition at line 767 of file dwarf2-frame.c.
References dwarf2_frame_default_init_reg(), dwarf2_frame_ops::init_reg, and OBSTACK_ZALLOC.
Referenced by _initialize_dwarf2_frame().
|
static |
Definition at line 793 of file dwarf2-frame.c.
References gdbarch_data(), and dwarf2_frame_ops::init_reg.
Referenced by dwarf2_frame_cache().
|
static |
Definition at line 1280 of file dwarf2-frame.c.
References _, dwarf2_frame_cache::addr_size, dwarf2_frame_cache::cfa, dwarf2_frame_cache::checked_tailcall_bottom, dwarf2_frame_cache(), DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_CFA_OFFSET, DWARF2_FRAME_REG_FN, DWARF2_FRAME_REG_RA_OFFSET, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_SAVED_EXP, DWARF2_FRAME_REG_SAVED_OFFSET, DWARF2_FRAME_REG_SAVED_REG, DWARF2_FRAME_REG_SAVED_VAL_EXP, DWARF2_FRAME_REG_SAVED_VAL_OFFSET, DWARF2_FRAME_REG_UNDEFINED, DWARF2_FRAME_REG_UNSPECIFIED, dwarf2_tailcall_prev_register_first(), dwarf2_tailcall_sniffer_first(), dwarf2_frame_cache::entry_cfa_sp_offset, dwarf2_frame_cache::entry_cfa_sp_offset_p, execute_stack_op(), dwarf2_frame_state_reg::exp, dwarf2_frame_state_reg::exp_len, dwarf2_frame_state_reg::fn, frame_unwind_got_address(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_optimized(), frame_unwind_got_register(), gdbarch_dwarf2_reg_to_regnum(), get_frame_arch(), get_frame_register_unsigned(), dwarf2_frame_state_reg::how, internal_error(), dwarf2_frame_state_reg::loc, dwarf2_frame_state_reg::offset, dwarf2_frame_state_reg::reg, dwarf2_frame_cache::reg, regnum, dwarf2_frame_cache::retaddr_reg, dwarf2_frame_cache::tailcall_cache, and dwarf2_frame_cache::text_offset.
void dwarf2_frame_set_adjust_regnum | ( | struct gdbarch * | gdbarch, |
int(*)(struct gdbarch *, int, int) | adjust_regnum | ||
) |
Definition at line 833 of file dwarf2-frame.c.
References dwarf2_frame_ops::adjust_regnum, and gdbarch_data().
Referenced by rs6000_gdbarch_init(), and s390_gdbarch_init().
void dwarf2_frame_set_init_reg | ( | struct gdbarch * | gdbarch, |
void(*)(struct gdbarch *, int, struct dwarf2_frame_state_reg *, struct frame_info *) | init_reg | ||
) |
Definition at line 780 of file dwarf2-frame.c.
References gdbarch_data(), and dwarf2_frame_ops::init_reg.
Referenced by aarch64_gdbarch_init(), arm_gdbarch_init(), cris_gdbarch_init(), hppabsd_init_abi(), rs6000_gdbarch_init(), s390_gdbarch_init(), sh_gdbarch_init(), sparc32_gdbarch_init(), sparc64_init_abi(), and tic6x_gdbarch_init().
void dwarf2_frame_set_signal_frame_p | ( | struct gdbarch * | gdbarch, |
int(*)(struct gdbarch *, struct frame_info *) | signal_frame_p | ||
) |
Definition at line 806 of file dwarf2-frame.c.
References gdbarch_data(), and dwarf2_frame_ops::signal_frame_p.
Referenced by i386_darwin_init_abi(), i386_linux_init_abi(), and x86_darwin_init_abi_64().
|
static |
Definition at line 819 of file dwarf2-frame.c.
References gdbarch_data(), and dwarf2_frame_ops::signal_frame_p.
Referenced by dwarf2_frame_sniffer().
|
static |
Definition at line 1397 of file dwarf2-frame.c.
References dwarf2_fde::cie, dwarf2_frame_find_fde(), dwarf2_frame_signal_frame_p(), get_frame_address_in_block(), get_frame_arch(), NORMAL_FRAME, dwarf2_cie::signal_frame, and SIGTRAMP_FRAME.
|
static |
Definition at line 228 of file dwarf2-frame.c.
References dwarf2_frame_state_reg_info::num_regs, dwarf2_frame_state_reg_info::reg, size, and xrealloc().
Referenced by dwarf2_restore_rule(), and execute_cfa_program().
|
static |
Definition at line 248 of file dwarf2-frame.c.
References dwarf2_frame_state_reg_info::num_regs, dwarf2_frame_state_reg::reg, dwarf2_frame_state_reg_info::reg, size, and xmalloc().
Referenced by dwarf2_fetch_cfa_info(), dwarf2_frame_cache(), and execute_cfa_program().
|
static |
Definition at line 276 of file dwarf2-frame.c.
References dwarf2_frame_state_free_regs(), dwarf2_frame_state::initial, dwarf2_frame_state_reg_info::prev, dwarf2_frame_state_reg_info::reg, dwarf2_frame_state::regs, and xfree().
Referenced by dwarf2_frame_cache().
|
static |
Definition at line 262 of file dwarf2-frame.c.
References dwarf2_frame_state_reg_info::prev, dwarf2_frame_state_reg_info::reg, and xfree().
Referenced by dwarf2_frame_state_free(), and execute_cfa_program().
|
static |
Definition at line 1265 of file dwarf2-frame.c.
References dwarf2_frame_cache::cfa, dwarf2_frame_cache(), frame_id_build(), frame_id_build_unavailable_stack(), get_frame_func(), dwarf2_frame_cache::unavailable_retaddr, and dwarf2_frame_cache::undefined_retaddr.
|
static |
Definition at line 1249 of file dwarf2-frame.c.
References dwarf2_frame_cache(), dwarf2_frame_cache::unavailable_retaddr, and dwarf2_frame_cache::undefined_retaddr.
|
static |
Definition at line 321 of file dwarf2-frame.c.
References _, complaint(), dwarf2_frame_adjust_regnum(), DWARF2_FRAME_REG_UNSPECIFIED, dwarf2_frame_state_alloc_regs(), gdb_assert, gdbarch_dwarf2_reg_to_regnum(), gdbarch_register_name(), dwarf2_frame_state_reg::how, dwarf2_frame_state::initial, paddress(), dwarf2_frame_state::pc, dwarf2_frame_state_reg_info::reg, dwarf2_frame_state::regs, and symfile_complaints.
Referenced by execute_cfa_program().
Definition at line 1583 of file dwarf2-frame.c.
References _, and internal_error().
Referenced by read_encoded_value().
|
static |
Definition at line 413 of file dwarf2-frame.c.
References _, ANOFFSET, dwarf2_frame_state::armcc_cfa_offsets_sf, CFA_EXP, dwarf2_frame_state_reg_info::cfa_exp, dwarf2_frame_state_reg_info::cfa_how, dwarf2_frame_state_reg_info::cfa_offset, dwarf2_frame_state_reg_info::cfa_reg, CFA_REG_OFFSET, dwarf2_fde::cie, dwarf2_frame_state::code_align, complaint(), dwarf2_frame_state::data_align, dwarf2_frame_adjust_regnum(), DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_SAVED_EXP, DWARF2_FRAME_REG_SAVED_OFFSET, DWARF2_FRAME_REG_SAVED_REG, DWARF2_FRAME_REG_SAVED_VAL_EXP, DWARF2_FRAME_REG_SAVED_VAL_OFFSET, DWARF2_FRAME_REG_UNDEFINED, dwarf2_frame_state_alloc_regs(), dwarf2_frame_state_copy_regs(), dwarf2_frame_state_free_regs(), dwarf2_restore_rule(), dwarf2_fde::eh_frame_p, dwarf2_cie::encoding, dwarf2_frame_state_reg::exp, dwarf2_frame_state_reg::exp_len, extract_unsigned_integer(), gdbarch_byte_order(), dwarf2_frame_state_reg::how, if(), dwarf2_frame_state::initial, dwarf2_fde::initial_location, internal_error(), dwarf2_frame_state_reg::loc, comp_unit::objfile, offset, dwarf2_frame_state_reg::offset, paddress(), dwarf2_frame_state::pc, dwarf2_frame_state_reg_info::prev, dwarf2_cie::ptr_size, read_encoded_value(), dwarf2_frame_state_reg::reg, dwarf2_frame_state_reg_info::reg, register_size(), dwarf2_frame_state::regs, safe_read_sleb128(), safe_read_uleb128(), SECT_OFF_TEXT, objfile::section_offsets, size, symfile_complaints, dwarf2_cie::unit, and xfree().
Referenced by dwarf2_fetch_cfa_info(), and dwarf2_frame_cache().
|
static |
Definition at line 366 of file dwarf2-frame.c.
References _, dwarf_expr_context::addr_size, dwarf_expr_context::baton, do_cleanups(), dwarf2_frame_ctx_funcs, dwarf_expr_eval(), dwarf_expr_fetch(), dwarf_expr_fetch_address(), dwarf_expr_push_address(), DWARF_VALUE_MEMORY, DWARF_VALUE_REGISTER, error(), dwarf_expr_context::funcs, dwarf_expr_context::gdbarch, get_frame_arch(), dwarf_expr_context::location, make_cleanup_free_dwarf_expr_context(), make_cleanup_value_free_to_mark(), new_dwarf_expr_context(), offset, dwarf_expr_context::offset, read_addr_from_reg(), dwarf_expr_context::ref_addr_size, value_as_long(), and value_mark().
Referenced by dwarf2_frame_cache(), and dwarf2_frame_prev_register().
|
static |
Definition at line 1711 of file dwarf2-frame.c.
References bsearch_cie_cmp(), dwarf2_cie_table::entries, gdb_assert, and dwarf2_cie_table::num_entries.
Referenced by decode_frame_entry_1().
Definition at line 303 of file dwarf2-frame.c.
References gdbarch_dwarf2_reg_to_regnum(), get_frame_arch(), regnum, and value_from_register().
Definition at line 2244 of file dwarf2-frame.c.
References dwarf2_fde::address_range, dwarf2_fde::eh_frame_p, and dwarf2_fde::initial_location.
Referenced by dwarf2_build_frame_info().
Definition at line 1530 of file dwarf2-frame.c.
Referenced by decode_frame_entry_1().
Definition at line 1536 of file dwarf2-frame.c.
Referenced by decode_frame_entry_1().
Definition at line 1542 of file dwarf2-frame.c.
Referenced by decode_frame_entry_1().
Definition at line 291 of file dwarf2-frame.c.
References address_from_register(), gdbarch_dwarf2_reg_to_regnum(), get_frame_arch(), and regnum.
Referenced by dwarf2_frame_cache(), and execute_stack_op().
|
static |
Definition at line 1599 of file dwarf2-frame.c.
References _, comp_unit::abfd, comp_unit::dbase, comp_unit::dwarf_frame_buffer, comp_unit::dwarf_frame_section, encoding_for_size(), internal_error(), offset, safe_read_sleb128(), safe_read_uleb128(), and comp_unit::tbase.
Referenced by decode_frame_entry_1(), and execute_cfa_program().
|
static |
Definition at line 1548 of file dwarf2-frame.c.
Referenced by decode_frame_entry_1().
Definition at line 313 of file dwarf2-frame.c.
References read_memory().
|
static |
Definition at line 1481 of file dwarf2-frame.c.
Referenced by dwarf2_frame_base_sniffer().
|
static |
Definition at line 350 of file dwarf2-frame.c.
Referenced by execute_stack_op().
|
static |
Definition at line 708 of file dwarf2-frame.c.
const struct objfile_data* dwarf2_frame_objfile_data |
Definition at line 1527 of file dwarf2-frame.c.
|
static |
Definition at line 1428 of file dwarf2-frame.c.
|
static |
Definition at line 1439 of file dwarf2-frame.c.