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 "gdb_assert.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 | |
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 | ) | [read] |
Definition at line 359 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(), watch_command_1(), and wrap_block_innermost_frame().
void clear_pc_function_cache | ( | void | ) |
Definition at line 168 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().
struct symbol* find_pc_function | ( | CORE_ADDR | pc | ) | [read] |
Definition at line 151 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(), func_addr_to_tail_call_list(), get_function_name(), handle_inferior_event(), jump_command(), list_command(), normal_stop(), pc_function_name(), proceed(), set_traceframe_context(), sparc32_dwarf2_struct_return_p(), sparc32_frame_cache(), until_next_command(), and VEC().
int find_pc_partial_function | ( | CORE_ADDR | pc, |
const char ** | name, | ||
CORE_ADDR * | address, | ||
CORE_ADDR * | endaddr | ||
) |
Definition at line 348 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_in_function_epilogue_p(), arm_scan_prologue(), arm_skip_prologue(), arm_skip_stub(), 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(), func_command(), gdb_load_disassembly(), h8300_skip_prologue(), handle_exception(), hppa32_hpux_search_dummy_call_sequence(), hppa64_hpux_search_dummy_call_sequence(), hppa_hpux_find_dummy_bpaddr(), 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(), in_prologue(), 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_in_function_epilogue_p(), mips16_in_function_epilogue_p(), mips32_in_function_epilogue_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_skip_mips16_trampoline_code(), mips_skip_prologue(), mips_stub_frame_cache(), mn10300_skip_prologue(), moxie_skip_prologue(), msp430_skip_prologue(), mt_skip_prologue(), nios2_in_function_epilogue_p(), nios2_skip_prologue(), nios2_stub_frame_cache(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_sniffer(), refine_prologue_limit(), rl78_skip_prologue(), rs6000_in_function_epilogue_p(), rs6000_skip_prologue(), rx_skip_prologue(), score_make_prologue_cache(), sh_in_function_epilogue_p(), sh_skip_prologue(), 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_in_function_epilogue_p(), step_once(), thumb_in_function_epilogue_p(), thumb_scan_prologue(), tic6x_skip_prologue(), tilegx_in_function_epilogue_p(), tilegx_skip_prologue(), tui_show_frame_info(), v850_skip_prologue(), vaxobsd_sigtramp_sniffer(), xstormy16_in_function_epilogue_p(), xstormy16_skip_prologue(), 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 192 of file blockframe.c.
References ALL_OBJFILES, BLOCK_END, BLOCK_START, cache_pc_function_high, cache_pc_function_is_gnu_ifunc, cache_pc_function_low, cache_pc_function_name, find_pc_overlay(), find_pc_sect_function(), quick_symbol_functions::find_pc_sect_symtab, find_pc_section(), lookup_minimal_symbol_by_pc_section(), bound_minimal_symbol::minsym, mst_text_gnu_ifunc, MSYMBOL_SIZE, MSYMBOL_TYPE, obj_section_endaddr, overlay_mapped_address(), overlay_unmapped_address(), pc_in_unmapped_range(), sym_fns::qf, objfile::sf, SYMBOL_BLOCK_VALUE, SYMBOL_LINKAGE_NAME, SYMBOL_SECTION, SYMBOL_TYPE, SYMBOL_VALUE_ADDRESS, 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 | ||
) | [read] |
Definition at line 137 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().
struct block* get_frame_block | ( | struct frame_info * | frame, |
CORE_ADDR * | addr_in_block | ||
) | [read] |
Definition at line 56 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_read_var_value(), block_innermost_frame(), dwarf_expr_frame_base(), frapy_block(), frapy_read_var(), gdb_block_vars(), gdb_get_blocks(), gdb_get_vars_command(), gdb_selected_block(), gdbpy_lookup_symbol(), get_frame_function(), get_selected_block(), info_common_command(), list_args_or_locals(), print_frame_local_vars(), value_of_this(), varobj_create(), and wrap_get_frame_block().
struct symbol* get_frame_function | ( | struct frame_info * | frame | ) | [read] |
Definition at line 119 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 87 of file blockframe.c.
References block_for_pc(), block_linkage_function(), BLOCK_START, find_pc_section(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, SYMBOL_BLOCK_VALUE, and SYMBOL_VALUE_ADDRESS.
Referenced by add_local_symbols(), alpha_heuristic_proc_start(), call_site_find_chain_1(), frv_adjust_breakpoint_address(), get_frame_func_if_available(), hppa_hpux_unwind_adjust_stub(), refine_prologue_limit(), rs6000_frame_cache(), and s390_prologue_frame_unwind_cache().
CORE_ADDR cache_pc_function_high = 0 [static] |
Definition at line 160 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
int cache_pc_function_is_gnu_ifunc = 0 [static] |
Definition at line 163 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
CORE_ADDR cache_pc_function_low = 0 [static] |
Definition at line 159 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
const char* cache_pc_function_name = 0 [static] |
Definition at line 161 of file blockframe.c.
Referenced by clear_pc_function_cache(), and find_pc_partial_function_gnu_ifunc().
struct obj_section* cache_pc_function_section = NULL [static] |
Definition at line 162 of file blockframe.c.