GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "bfd.h"
#include "objfiles.h"
#include "frame.h"
#include "gdbcore.h"
#include "value.h"
#include "target.h"
#include "inferior.h"
#include "annotate.h"
#include "regcache.h"
#include "dummy-frame.h"
#include "command.h"
#include "gdbcmd.h"
#include "block.h"
#include "inline-frame.h"
Go to the source code of this file.
Functions | |
const struct block * | get_frame_block (frame_info_ptr frame, CORE_ADDR *addr_in_block) |
CORE_ADDR | get_pc_function_start (CORE_ADDR pc) |
struct symbol * | get_frame_function (frame_info_ptr frame) |
struct symbol * | find_pc_sect_function (CORE_ADDR pc, struct obj_section *section) |
struct symbol * | find_pc_function (CORE_ADDR pc) |
struct symbol * | find_pc_sect_containing_function (CORE_ADDR pc, struct obj_section *section) |
void | clear_pc_function_cache (void) |
bool | find_pc_partial_function_sym (CORE_ADDR pc, const struct general_symbol_info **sym, CORE_ADDR *address, CORE_ADDR *endaddr, const struct block **block) |
bool | find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr, const struct block **block) |
bool | find_function_entry_range_from_pc (CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr) |
struct type * | find_function_type (CORE_ADDR pc) |
struct type * | find_gnu_ifunc_target_type (CORE_ADDR resolver_funaddr) |
frame_info_ptr | block_innermost_frame (const struct block *block) |
Variables | |
static CORE_ADDR | cache_pc_function_low = 0 |
static CORE_ADDR | cache_pc_function_high = 0 |
static const general_symbol_info * | cache_pc_function_sym = nullptr |
static struct obj_section * | cache_pc_function_section = NULL |
static const struct block * | cache_pc_function_block = nullptr |
frame_info_ptr block_innermost_frame | ( | const struct block * | block | ) |
Definition at line 463 of file blockframe.c.
References block::contains(), get_frame_block(), get_prev_frame(), and get_selected_frame().
Referenced by bpstat_check_breakpoint_conditions(), get_hosting_frame(), and watch_command_1().
void clear_pc_function_cache | ( | void | ) |
Definition at line 201 of file blockframe.c.
References cache_pc_function_block, cache_pc_function_high, cache_pc_function_low, cache_pc_function_section, and cache_pc_function_sym.
Referenced by clear_symtab_users(), and objfile::~objfile().
bool find_function_entry_range_from_pc | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr ) |
Definition at line 387 of file blockframe.c.
References block::entry_pc(), find_pc_partial_function(), block::is_contiguous(), name, block::ranges(), and status.
struct type * find_function_type | ( | CORE_ADDR | pc | ) |
Definition at line 422 of file blockframe.c.
References block::entry_pc(), find_pc_function(), symbol::type(), and symbol::value_block().
Referenced by find_function_addr(), and find_gnu_ifunc_target_type().
struct type * find_gnu_ifunc_target_type | ( | CORE_ADDR | resolver_funaddr | ) |
Definition at line 435 of file blockframe.c.
References check_typedef(), code, type::code(), find_function_type(), and type::target_type().
Referenced by evaluate_subexp_do_call(), and find_function_addr().
struct symbol * find_pc_function | ( | CORE_ADDR | pc | ) |
Definition at line 150 of file blockframe.c.
References find_pc_mapped_section(), and find_pc_sect_function().
Referenced by bpfinishpy_init(), edit_command(), eval_op_objc_msgcall(), find_function_alias_target(), find_function_type(), finish_command(), frv_fdpic_find_canonical_descriptor(), ftrace_update_function(), func_addr_to_tail_call_list(), gdbscm_frame_function(), get_function_name(), list_command(), print_stop_location(), process_event_stop_test(), set_step_frame(), set_traceframe_context(), sparc32_dwarf2_struct_return_p(), sparc32_frame_cache(), and until_next_command().
bool find_pc_partial_function | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr, | ||
const struct block ** | block ) |
Definition at line 373 of file blockframe.c.
References find_pc_partial_function_sym(), general_symbol_info::linkage_name(), and name.
Referenced by aarch64_scan_prologue(), aarch64_skip_prologue(), aarch64_stack_frame_destroyed_p(), after_prologue(), alpha_sigtramp_frame_sniffer(), amd64_linux_sigtramp_p(), amd64_skip_prologue(), amd64_windows_skip_prologue(), amd64nbsd_sigtramp_p(), amd64obsd_sigtramp_p(), amd64obsd_trapframe_cache(), amd64obsd_trapframe_sniffer(), arc_make_frame_cache(), arc_skip_prologue(), arm_adjust_breakpoint_address(), arm_exidx_unwind_sniffer(), arm_scan_prologue(), arm_skip_prologue(), arm_skip_stub(), arm_stack_frame_destroyed_p_1(), arm_stub_unwind_sniffer(), avr_skip_prologue(), BP_MANIPULATION(), call0_analyze_prologue(), call0_frame_cache(), cris_skip_prologue(), csky_frame_unwind_cache(), csky_skip_prologue(), csky_stack_frame_destroyed_p(), csky_stub_unwind_sniffer(), disassemble_current_function(), elf_gnu_ifunc_resolve_addr(), find_frame_for_function(), find_func_descr(), find_function_entry_range_from_pc(), find_proc_desc(), finish_backward(), frv_linux_sigtramp_frame_sniffer(), frv_skip_prologue(), ft32_skip_prologue(), h8300_skip_prologue(), windows_per_inferior::handle_access_violation(), i386_gnu_sigtramp_p(), i386_in_stack_tramp_p(), i386_linux_dwarf_signal_frame_p(), i386_linux_sigtramp_p(), i386_sigtramp_p(), i386_skip_prologue(), i386_svr4_sigtramp_p(), i386nto_sigtramp_p(), i386obsd_sigtramp_p(), i386obsd_trapframe_cache(), i386obsd_trapframe_sniffer(), iq2000_frame_cache(), iq2000_skip_prologue(), lm32_skip_prologue(), loongarch_skip_prologue(), m32c_skip_prologue(), m32c_skip_trampoline_code(), m32c_virtual_frame_pointer(), m32r_linux_sigtramp_frame_sniffer(), m32r_skip_prologue(), m68hc11_skip_prologue(), tui_disasm_window::maybe_update(), mep_skip_prologue(), mi_cmd_disassemble(), microblaze_analyze_prologue(), microblaze_skip_prologue(), micromips_stack_frame_destroyed_p(), mips16_stack_frame_destroyed_p(), mips32_stack_frame_destroyed_p(), mips_adjust_breakpoint_address(), mips_in_frame_stub(), mips_in_return_stub(), mips_insn16_frame_cache(), mips_insn32_frame_cache(), mips_micro_frame_cache(), mips_sde_frame_cache(), mips_sde_frame_sniffer(), mips_skip_mips16_trampoline_code(), mips_skip_prologue(), mips_stub_frame_cache(), mn10300_skip_prologue(), moxie_skip_prologue(), msp430_skip_prologue(), nds32_skip_prologue(), nios2_skip_prologue(), nios2_stack_frame_destroyed_p(), nios2_stub_frame_cache(), or1k_frame_cache(), or1k_skip_prologue(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_sniffer(), prepare_one_step(), refine_prologue_limit(), riscv_skip_prologue(), rl78_skip_prologue(), rs6000_in_function_epilogue_frame_p(), rs6000_skip_prologue(), rx_frame_type(), rx_skip_prologue(), s12z_frame_cache(), s12z_skip_prologue(), s390_skip_prologue(), set_breakpoint_location_function(), sh_skip_prologue(), sh_stack_frame_destroyed_p(), skip_prologue_using_lineinfo(), skip_prologue_using_linetable(), skip_prologue_using_sal(), sol2_sigtramp_p(), sparc32_skip_prologue(), sparc32nbsd_sigcontext_frame_sniffer(), sparc32obsd_sigtramp_frame_sniffer(), sparc64_skip_prologue(), sparc64fbsd_sigtramp_frame_sniffer(), sparc64nbsd_sigtramp_frame_sniffer(), sparc64obsd_sigtramp_frame_sniffer(), sparc64obsd_trapframe_sniffer(), thumb_scan_prologue(), thumb_stack_frame_destroyed_p(), tic6x_skip_prologue(), tilegx_skip_prologue(), tilegx_stack_frame_destroyed_p(), v850_skip_prologue(), xstormy16_skip_prologue(), xstormy16_stack_frame_destroyed_p(), xtensa_scan_prologue(), xtensa_skip_prologue(), and z80_skip_prologue().
bool find_pc_partial_function_sym | ( | CORE_ADDR | pc, |
const struct general_symbol_info ** | sym, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr, | ||
const struct block ** | block ) |
Definition at line 213 of file blockframe.c.
References cache_pc_function_block, cache_pc_function_high, cache_pc_function_low, cache_pc_function_section, cache_pc_function_sym, block::end(), f(), find_pc_overlay(), find_pc_sect_compunit_symtab(), find_pc_sect_function(), find_pc_section(), block::is_contiguous(), lookup_minimal_symbol_by_pc_section(), minimal_symbol_upper_bound(), bound_minimal_symbol::minsym, overlay_mapped_address(), overlay_unmapped_address(), pc_in_unmapped_range(), block::ranges(), block::start(), and bound_minimal_symbol::value_address().
Referenced by disassemble_command(), fill_in_stop_func(), and find_pc_partial_function().
struct symbol * find_pc_sect_containing_function | ( | CORE_ADDR | pc, |
struct obj_section * | section ) |
Definition at line 158 of file blockframe.c.
References block_for_pc_sect(), and block::containing_function().
Referenced by convert_address_location_to_sals(), find_function_start_sal(), and jump_command().
struct symbol * find_pc_sect_function | ( | CORE_ADDR | pc, |
struct obj_section * | section ) |
Definition at line 136 of file blockframe.c.
References block_for_pc_sect(), and block::linkage_function().
Referenced by build_address_symbolic(), find_pc_function(), find_pc_partial_function_sym(), print_one_static_tracepoint_marker(), skip_prologue_sal(), and update_static_tracepoint().
const struct block * get_frame_block | ( | frame_info_ptr | frame, |
CORE_ADDR * | addr_in_block ) |
Definition at line 55 of file blockframe.c.
References block_for_pc(), frame_inlined_callees(), get_frame_address_in_block_if_available(), block::inlined_p(), and block::superblock().
Referenced by ada_add_exceptions_from_frame(), block_innermost_frame(), frame_follow_static_link(), frapy_block(), frapy_read_var(), gdbpy_lookup_static_symbol(), gdbpy_lookup_symbol(), gdbscm_frame_block(), gdbscm_frame_read_var(), gdbscm_lookup_symbol(), dwarf_expr_context::get_frame_base(), get_frame_function(), get_hosting_frame(), get_selected_block(), info_common_command(), list_args_or_locals(), pending_framepy_block(), print_frame_local_vars(), ada_language::read_var_value(), value_of_this(), and varobj_create().
struct symbol * get_frame_function | ( | frame_info_ptr | frame | ) |
Definition at line 118 of file blockframe.c.
References block::function(), get_frame_block(), and block::superblock().
Referenced by check_exception_resume(), find_frame_funname(), find_frame_sal(), frame_follow_static_link(), info_frame_command_core(), inline_frame_is_marked_for_skip(), inline_frame_this_id(), jump_command(), prepare_one_step(), print_frame_arg_vars(), skip_function_command(), and watchpoint_check().
CORE_ADDR get_pc_function_start | ( | CORE_ADDR | pc | ) |
Definition at line 86 of file blockframe.c.
References block_for_pc(), block::entry_pc(), find_pc_section(), block::linkage_function(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, bound_minimal_symbol::value_address(), and symbol::value_block().
Referenced by collection_list::add_local_symbols(), alpha_heuristic_proc_start(), BP_MANIPULATION(), call_site_find_chain_1(), ftrace_update_function(), get_frame_func_if_available(), refine_prologue_limit(), rs6000_frame_cache(), and s390_prologue_frame_unwind_cache().
Definition at line 196 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().
|
static |
Definition at line 193 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().
|
static |
Definition at line 192 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().
|
static |
Definition at line 195 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().
|
static |
Definition at line 194 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().