GDB (xrefs)
Loading...
Searching...
No Matches
Functions | Variables
blockframe.c File Reference
#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 blockget_frame_block (frame_info_ptr frame, CORE_ADDR *addr_in_block)
 
CORE_ADDR get_pc_function_start (CORE_ADDR pc)
 
struct symbolget_frame_function (frame_info_ptr frame)
 
struct symbolfind_pc_sect_function (CORE_ADDR pc, struct obj_section *section)
 
struct symbolfind_pc_function (CORE_ADDR pc)
 
struct symbolfind_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 typefind_function_type (CORE_ADDR pc)
 
struct typefind_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_infocache_pc_function_sym = nullptr
 
static struct obj_sectioncache_pc_function_section = NULL
 
static const struct blockcache_pc_function_block = nullptr
 

Function Documentation

◆ block_innermost_frame()

frame_info_ptr block_innermost_frame ( const struct block * block)

◆ clear_pc_function_cache()

void clear_pc_function_cache ( void )

◆ find_function_entry_range_from_pc()

bool find_function_entry_range_from_pc ( CORE_ADDR pc,
const char ** name,
CORE_ADDR * address,
CORE_ADDR * endaddr )

◆ find_function_type()

struct type * find_function_type ( CORE_ADDR pc)

◆ find_gnu_ifunc_target_type()

struct type * find_gnu_ifunc_target_type ( CORE_ADDR resolver_funaddr)

◆ find_pc_function()

struct symbol * find_pc_function ( CORE_ADDR pc)

◆ find_pc_partial_function()

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().

◆ find_pc_partial_function_sym()

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 )

◆ find_pc_sect_containing_function()

struct symbol * find_pc_sect_containing_function ( CORE_ADDR pc,
struct obj_section * section )

◆ find_pc_sect_function()

struct symbol * find_pc_sect_function ( CORE_ADDR pc,
struct obj_section * section )

◆ get_frame_block()

const struct block * get_frame_block ( frame_info_ptr frame,
CORE_ADDR * addr_in_block )

◆ get_frame_function()

struct symbol * get_frame_function ( frame_info_ptr frame)

◆ get_pc_function_start()

CORE_ADDR get_pc_function_start ( CORE_ADDR pc)

Variable Documentation

◆ cache_pc_function_block

const struct block* cache_pc_function_block = nullptr
static

Definition at line 196 of file blockframe.c.

Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().

◆ cache_pc_function_high

CORE_ADDR cache_pc_function_high = 0
static

Definition at line 193 of file blockframe.c.

Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().

◆ cache_pc_function_low

CORE_ADDR cache_pc_function_low = 0
static

Definition at line 192 of file blockframe.c.

Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().

◆ cache_pc_function_section

struct obj_section* cache_pc_function_section = NULL
static

Definition at line 195 of file blockframe.c.

Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().

◆ cache_pc_function_sym

const general_symbol_info* cache_pc_function_sym = nullptr
static

Definition at line 194 of file blockframe.c.

Referenced by clear_pc_function_cache(), and find_pc_partial_function_sym().