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 (struct frame_info *frame, CORE_ADDR *addr_in_block) |
CORE_ADDR | get_pc_function_start (CORE_ADDR pc) |
struct symbol * | get_frame_function (struct frame_info *frame) |
struct symbol * | find_pc_sect_function (CORE_ADDR pc, struct obj_section *section) |
struct symbol * | find_pc_function (CORE_ADDR pc) |
void | clear_pc_function_cache (void) |
int | find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr, int *is_gnu_ifunc_p) |
int | find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr) |
struct frame_info * | 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 char * | cache_pc_function_name = 0 |
static struct obj_section * | cache_pc_function_section = NULL |
static int | cache_pc_function_is_gnu_ifunc = 0 |
struct frame_info* block_innermost_frame | ( | const struct block * | block | ) |
Definition at line 332 of file blockframe.c.
References contained_in(), get_current_frame(), get_frame_block(), get_prev_frame(), and get_selected_frame_if_set().
Referenced by bpstat_check_breakpoint_conditions(), value_of_variable(), and watch_command_1().
void clear_pc_function_cache | ( | void | ) |
Definition at line 167 of file blockframe.c.
References cache_pc_function_high, cache_pc_function_is_gnu_ifunc, cache_pc_function_low, and cache_pc_function_name.
Referenced by clear_symtab_users(), and free_objfile().
Definition at line 150 of file blockframe.c.
References find_pc_mapped_section(), and find_pc_sect_function().
Referenced by bpfinishpy_init(), edit_command(), evaluate_subexp_standard(), find_function_return_type(), finish_command(), frapy_function(), frv_fdpic_find_canonical_descriptor(), ftrace_update_function(), func_addr_to_tail_call_list(), gdbscm_frame_function(), get_function_name(), jump_command(), list_command(), print_stop_event(), process_event_stop_test(), set_step_frame(), set_traceframe_context(), sparc32_dwarf2_struct_return_p(), sparc32_frame_cache(), and until_next_command().
int find_pc_partial_function | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr | ||
) |
Definition at line 321 of file blockframe.c.
References find_pc_partial_function_gnu_ifunc().
Referenced by aarch64_scan_prologue(), aarch64_skip_prologue(), after_prologue(), alpha_after_prologue(), alpha_sigtramp_frame_sniffer(), amd64_linux_sigtramp_p(), amd64_skip_prologue(), amd64_sol2_sigtramp_p(), amd64_windows_skip_prologue(), amd64nbsd_sigtramp_p(), amd64obsd_sigtramp_p(), amd64obsd_trapframe_cache(), amd64obsd_trapframe_sniffer(), arm_adjust_breakpoint_address(), arm_exidx_unwind_sniffer(), arm_scan_prologue(), arm_skip_prologue(), arm_skip_stub(), arm_stack_frame_destroyed_p(), arm_stub_unwind_sniffer(), avr_skip_prologue(), call0_analyze_prologue(), call0_frame_cache(), cris_skip_prologue(), disassemble_command(), disassemble_current_function(), elf_gnu_ifunc_resolve_addr(), fill_in_stop_func(), find_func_descr(), find_proc_desc(), finish_backward(), frv_linux_sigtramp_frame_sniffer(), frv_skip_prologue(), ft32_skip_prologue(), func_command(), h8300_skip_prologue(), handle_exception(), i386_in_stack_tramp_p(), i386_linux_dwarf_signal_frame_p(), i386_linux_sigtramp_p(), i386_sigtramp_p(), i386_skip_prologue(), i386_sol2_sigtramp_p(), 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(), m32c_skip_prologue(), m32c_skip_trampoline_code(), m32c_virtual_frame_pointer(), m32r_linux_sigtramp_frame_sniffer(), m32r_skip_prologue(), m68hc11_skip_prologue(), m88k_skip_prologue(), 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(), mips_wait(), mn10300_skip_prologue(), moxie_skip_prologue(), msp430_skip_prologue(), mt_skip_prologue(), nios2_skip_prologue(), nios2_stack_frame_destroyed_p(), nios2_stub_frame_cache(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_sniffer(), refine_prologue_limit(), rl78_skip_prologue(), rs6000_in_function_epilogue_frame_p(), rs6000_skip_prologue(), rx_frame_type(), rx_skip_prologue(), s390_skip_prologue(), score_make_prologue_cache(), sh_skip_prologue(), sh_stack_frame_destroyed_p(), skip_function_command(), skip_prologue_using_lineinfo(), skip_prologue_using_sal(), sparc32_skip_prologue(), sparc32_sol2_sigtramp_frame_sniffer(), sparc32nbsd_sigcontext_frame_sniffer(), sparc32obsd_sigtramp_frame_sniffer(), sparc64_skip_prologue(), sparc64_sol2_sigtramp_frame_sniffer(), sparc64fbsd_sigtramp_frame_sniffer(), sparc64nbsd_sigtramp_frame_sniffer(), sparc64obsd_sigtramp_frame_sniffer(), sparc64obsd_trapframe_sniffer(), spu_stack_frame_destroyed_p(), step_once(), thumb_scan_prologue(), thumb_stack_frame_destroyed_p(), tic6x_skip_prologue(), tilegx_skip_prologue(), tilegx_stack_frame_destroyed_p(), tui_show_frame_info(), v850_skip_prologue(), vaxobsd_sigtramp_sniffer(), xstormy16_skip_prologue(), xstormy16_stack_frame_destroyed_p(), xtensa_scan_prologue(), and xtensa_skip_prologue().
int find_pc_partial_function_gnu_ifunc | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr, | ||
int * | is_gnu_ifunc_p | ||
) |
Definition at line 191 of file blockframe.c.
References ALL_OBJFILES, BLOCK_END, BLOCK_START, BMSYMBOL_VALUE_ADDRESS, cache_pc_function_high, cache_pc_function_is_gnu_ifunc, cache_pc_function_low, cache_pc_function_name, find_pc_overlay(), quick_symbol_functions::find_pc_sect_compunit_symtab, find_pc_sect_function(), find_pc_section(), lookup_minimal_symbol_by_pc_section(), minimal_symbol_upper_bound(), bound_minimal_symbol::minsym, mst_text_gnu_ifunc, MSYMBOL_LINKAGE_NAME, MSYMBOL_TYPE, overlay_mapped_address(), overlay_unmapped_address(), pc_in_unmapped_range(), sym_fns::qf, objfile::sf, SYMBOL_BLOCK_VALUE, SYMBOL_LINKAGE_NAME, SYMBOL_TYPE, and TYPE_GNU_IFUNC.
Referenced by find_pc_partial_function(), and set_breakpoint_location_function().
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_gnu_ifunc(), print_breakpoint_location(), print_one_static_tracepoint_marker(), skip_prologue_sal(), and update_static_tracepoint().
const struct block* get_frame_block | ( | struct frame_info * | frame, |
CORE_ADDR * | addr_in_block | ||
) |
Definition at line 55 of file blockframe.c.
References block_for_pc(), block_inlined_p(), BLOCK_SUPERBLOCK, frame_inlined_callees(), gdb_assert, and get_frame_address_in_block_if_available().
Referenced by ada_add_exceptions_from_frame(), ada_read_var_value(), block_innermost_frame(), dwarf_expr_frame_base(), frapy_block(), frapy_read_var(), gdbpy_lookup_symbol(), gdbscm_frame_block(), gdbscm_frame_read_var(), gdbscm_lookup_symbol(), get_frame_function(), get_selected_block(), info_common_command(), list_args_or_locals(), print_frame_local_vars(), value_of_this(), and varobj_create().
struct symbol* get_frame_function | ( | struct frame_info * | frame | ) |
Definition at line 118 of file blockframe.c.
References BLOCK_FUNCTION, BLOCK_SUPERBLOCK, and get_frame_block().
Referenced by check_exception_resume(), find_frame_funname(), find_frame_sal(), frame_info(), inline_frame_this_id(), jump_command(), print_frame_arg_vars(), return_command(), and watchpoint_check().
Definition at line 86 of file blockframe.c.
References block_for_pc(), block_linkage_function(), BLOCK_START, BMSYMBOL_VALUE_ADDRESS, find_pc_section(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, and SYMBOL_BLOCK_VALUE.
Referenced by add_local_symbols(), alpha_heuristic_proc_start(), call_site_find_chain_1(), frv_adjust_breakpoint_address(), ftrace_update_function(), get_frame_func_if_available(), refine_prologue_limit(), rs6000_frame_cache(), and s390_prologue_frame_unwind_cache().
|
static |
Definition at line 159 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
|
static |
Definition at line 162 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
|
static |
Definition at line 158 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
|
static |
Definition at line 160 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
|
static |
Definition at line 161 of file blockframe.c.