GDB (xrefs)
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/frame.c File Reference
#include "defs.h"
#include "frame.h"
#include "target.h"
#include "value.h"
#include "inferior.h"
#include "regcache.h"
#include "user-regs.h"
#include "gdb_obstack.h"
#include "dummy-frame.h"
#include "sentinel-frame.h"
#include "gdbcore.h"
#include "annotate.h"
#include "language.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "command.h"
#include "gdbcmd.h"
#include "observer.h"
#include "objfiles.h"
#include "gdbthread.h"
#include "block.h"
#include "inline-frame.h"
#include "tracepoint.h"
#include "hashtab.h"
#include "valprint.h"
#include "unwind_stop_reasons.def"

Go to the source code of this file.

Classes

struct  frame_info
 

Macros

#define SET(name, description)   case name: return _(description);
 
#define SET(name, description)   case name: return #name;
 

Enumerations

enum  cached_copy_status { CC_UNKNOWN, CC_VALUE, CC_NOT_SAVED, CC_UNAVAILABLE }
 

Functions

static struct frame_infoget_prev_frame_raw (struct frame_info *this_frame)
 
static const char * frame_stop_reason_symbol_string (enum unwind_stop_reason reason)
 
static hashval_t frame_addr_hash (const void *ap)
 
static int frame_addr_hash_eq (const void *a, const void *b)
 
static void frame_stash_create (void)
 
static int frame_stash_add (struct frame_info *frame)
 
static struct frame_infoframe_stash_find (struct frame_id id)
 
static void frame_stash_invalidate (void)
 
static void show_frame_debug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_backtrace_past_main (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_backtrace_past_entry (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_backtrace_limit (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void fprint_field (struct ui_file *file, const char *name, int p, CORE_ADDR addr)
 
void fprint_frame_id (struct ui_file *file, struct frame_id id)
 
static void fprint_frame_type (struct ui_file *file, enum frame_type type)
 
static void fprint_frame (struct ui_file *file, struct frame_info *fi)
 
static struct frame_infoskip_artificial_frames (struct frame_info *frame)
 
static void compute_frame_id (struct frame_info *fi)
 
struct frame_id get_frame_id (struct frame_info *fi)
 
struct frame_id get_stack_frame_id (struct frame_info *next_frame)
 
struct frame_id frame_unwind_caller_id (struct frame_info *next_frame)
 
struct frame_id frame_id_build_special (CORE_ADDR stack_addr, CORE_ADDR code_addr, CORE_ADDR special_addr)
 
struct frame_id frame_id_build_unavailable_stack (CORE_ADDR code_addr)
 
struct frame_id frame_id_build_unavailable_stack_special (CORE_ADDR code_addr, CORE_ADDR special_addr)
 
struct frame_id frame_id_build (CORE_ADDR stack_addr, CORE_ADDR code_addr)
 
struct frame_id frame_id_build_wild (CORE_ADDR stack_addr)
 
int frame_id_p (struct frame_id l)
 
int frame_id_artificial_p (struct frame_id l)
 
int frame_id_eq (struct frame_id l, struct frame_id r)
 
static int frame_id_inner (struct gdbarch *gdbarch, struct frame_id l, struct frame_id r)
 
struct frame_infoframe_find_by_id (struct frame_id id)
 
static CORE_ADDR frame_unwind_pc (struct frame_info *this_frame)
 
CORE_ADDR frame_unwind_caller_pc (struct frame_info *this_frame)
 
int get_frame_func_if_available (struct frame_info *this_frame, CORE_ADDR *pc)
 
CORE_ADDR get_frame_func (struct frame_info *this_frame)
 
static enum register_status do_frame_register_read (void *src, int regnum, gdb_byte *buf)
 
struct regcacheframe_save_as_regcache (struct frame_info *this_frame)
 
void frame_pop (struct frame_info *this_frame)
 
void frame_register_unwind (struct frame_info *frame, int regnum, int *optimizedp, int *unavailablep, enum lval_type *lvalp, CORE_ADDR *addrp, int *realnump, gdb_byte *bufferp)
 
void frame_register (struct frame_info *frame, int regnum, int *optimizedp, int *unavailablep, enum lval_type *lvalp, CORE_ADDR *addrp, int *realnump, gdb_byte *bufferp)
 
void frame_unwind_register (struct frame_info *frame, int regnum, gdb_byte *buf)
 
void get_frame_register (struct frame_info *frame, int regnum, gdb_byte *buf)
 
struct valueframe_unwind_register_value (struct frame_info *frame, int regnum)
 
struct valueget_frame_register_value (struct frame_info *frame, int regnum)
 
LONGEST frame_unwind_register_signed (struct frame_info *frame, int regnum)
 
LONGEST get_frame_register_signed (struct frame_info *frame, int regnum)
 
ULONGEST frame_unwind_register_unsigned (struct frame_info *frame, int regnum)
 
ULONGEST get_frame_register_unsigned (struct frame_info *frame, int regnum)
 
int read_frame_register_unsigned (struct frame_info *frame, int regnum, ULONGEST *val)
 
void put_frame_register (struct frame_info *frame, int regnum, const gdb_byte *buf)
 
int deprecated_frame_register_read (struct frame_info *frame, int regnum, gdb_byte *myaddr)
 
int get_frame_register_bytes (struct frame_info *frame, int regnum, CORE_ADDR offset, int len, gdb_byte *myaddr, int *optimizedp, int *unavailablep)
 
void put_frame_register_bytes (struct frame_info *frame, int regnum, CORE_ADDR offset, int len, const gdb_byte *myaddr)
 
static struct frame_infocreate_sentinel_frame (struct program_space *pspace, struct regcache *regcache)
 
void * frame_obstack_zalloc (unsigned long size)
 
static int unwind_to_current_frame (struct ui_out *ui_out, void *args)
 
struct frame_infoget_current_frame (void)
 
int has_stack_frames (void)
 
struct frame_infoget_selected_frame (const char *message)
 
struct frame_infoget_selected_frame_if_set (void)
 
struct frame_infodeprecated_safe_get_selected_frame (void)
 
void select_frame (struct frame_info *fi)
 
struct frame_infocreate_new_frame (CORE_ADDR addr, CORE_ADDR pc)
 
struct frame_infoget_next_frame (struct frame_info *this_frame)
 
static void frame_observer_target_changed (struct target_ops *target)
 
void reinit_frame_cache (void)
 
static void frame_register_unwind_location (struct frame_info *this_frame, int regnum, int *optimizedp, enum lval_type *lvalp, CORE_ADDR *addrp, int *realnump)
 
static void remove_prev_frame (void *arg)
 
static struct frame_infoget_prev_frame_if_no_cycle (struct frame_info *this_frame)
 
static struct frame_infoget_prev_frame_always_1 (struct frame_info *this_frame)
 
struct frame_infoget_prev_frame_always (struct frame_info *this_frame)
 
static void frame_debug_got_null_frame (struct frame_info *this_frame, const char *reason)
 
static int inside_main_func (struct frame_info *this_frame)
 
static int inside_entry_func (struct frame_info *this_frame)
 
struct frame_infoget_prev_frame (struct frame_info *this_frame)
 
CORE_ADDR get_frame_pc (struct frame_info *frame)
 
int get_frame_pc_if_available (struct frame_info *frame, CORE_ADDR *pc)
 
CORE_ADDR get_frame_address_in_block (struct frame_info *this_frame)
 
int get_frame_address_in_block_if_available (struct frame_info *this_frame, CORE_ADDR *pc)
 
void find_frame_sal (struct frame_info *frame, struct symtab_and_line *sal)
 
CORE_ADDR get_frame_base (struct frame_info *fi)
 
CORE_ADDR get_frame_base_address (struct frame_info *fi)
 
CORE_ADDR get_frame_locals_address (struct frame_info *fi)
 
CORE_ADDR get_frame_args_address (struct frame_info *fi)
 
int frame_unwinder_is (struct frame_info *fi, const struct frame_unwind *unwinder)
 
int frame_relative_level (struct frame_info *fi)
 
enum frame_type get_frame_type (struct frame_info *frame)
 
struct program_spaceget_frame_program_space (struct frame_info *frame)
 
struct program_spaceframe_unwind_program_space (struct frame_info *this_frame)
 
struct address_spaceget_frame_address_space (struct frame_info *frame)
 
void get_frame_memory (struct frame_info *this_frame, CORE_ADDR addr, gdb_byte *buf, int len)
 
LONGEST get_frame_memory_signed (struct frame_info *this_frame, CORE_ADDR addr, int len)
 
ULONGEST get_frame_memory_unsigned (struct frame_info *this_frame, CORE_ADDR addr, int len)
 
int safe_frame_unwind_memory (struct frame_info *this_frame, CORE_ADDR addr, gdb_byte *buf, int len)
 
struct gdbarchget_frame_arch (struct frame_info *this_frame)
 
struct gdbarchframe_unwind_arch (struct frame_info *next_frame)
 
struct gdbarchframe_unwind_caller_arch (struct frame_info *next_frame)
 
CORE_ADDR get_frame_sp (struct frame_info *this_frame)
 
enum unwind_stop_reason get_frame_unwind_stop_reason (struct frame_info *frame)
 
const char * unwind_stop_reason_to_string (enum unwind_stop_reason reason)
 
const char * frame_stop_reason_string (struct frame_info *fi)
 
static void frame_cleanup_after_sniffer (void *arg)
 
struct cleanupframe_prepare_for_sniffer (struct frame_info *frame, const struct frame_unwind *unwind)
 
static void set_backtrace_cmd (char *args, int from_tty)
 
static void show_backtrace_cmd (char *args, int from_tty)
 
void _initialize_frame (void)
 

Variables

static htab_t frame_stash
 
unsigned int frame_debug
 
static int backtrace_past_main
 
static int backtrace_past_entry
 
static unsigned int backtrace_limit = UINT_MAX
 
const struct frame_id null_frame_id
 
const struct frame_id outer_frame_id = { 0, 0, 0, FID_STACK_INVALID, 0, 1, 0 }
 
static struct frame_infocurrent_frame
 
static struct obstack frame_cache_obstack
 
static struct frame_infoselected_frame
 
initialize_file_ftype _initialize_frame
 
static struct cmd_list_elementset_backtrace_cmdlist
 
static struct cmd_list_elementshow_backtrace_cmdlist
 

Macro Definition Documentation

#define SET (   name,
  description 
)    case name: return _(description);
#define SET (   name,
  description 
)    case name: return #name;

Enumeration Type Documentation

Enumerator
CC_UNKNOWN 
CC_VALUE 
CC_NOT_SAVED 
CC_UNAVAILABLE 

Definition at line 51 of file frame.c.

Function Documentation

void _initialize_frame ( void  )
static void compute_frame_id ( struct frame_info fi)
static
struct frame_info* create_new_frame ( CORE_ADDR  addr,
CORE_ADDR  pc 
)
static struct frame_info* create_sentinel_frame ( struct program_space pspace,
struct regcache regcache 
)
static
int deprecated_frame_register_read ( struct frame_info frame,
int  regnum,
gdb_byte myaddr 
)
struct frame_info* deprecated_safe_get_selected_frame ( void  )
static enum register_status do_frame_register_read ( void *  src,
int  regnum,
gdb_byte buf 
)
static

Definition at line 931 of file frame.c.

References deprecated_frame_register_read(), REG_UNAVAILABLE, and REG_VALID.

Referenced by frame_save_as_regcache().

void find_frame_sal ( struct frame_info frame,
struct symtab_and_line sal 
)
static void fprint_field ( struct ui_file file,
const char *  name,
int  p,
CORE_ADDR  addr 
)
static

Definition at line 309 of file frame.c.

References fprintf_unfiltered(), and hex_string().

Referenced by fprint_frame_id().

static void fprint_frame ( struct ui_file file,
struct frame_info fi 
)
static
void fprint_frame_id ( struct ui_file file,
struct frame_id  id 
)
static void fprint_frame_type ( struct ui_file file,
enum frame_type  type 
)
static
static hashval_t frame_addr_hash ( const void *  ap)
static
static int frame_addr_hash_eq ( const void *  a,
const void *  b 
)
static

Definition at line 190 of file frame.c.

References frame_id_eq(), frame_info::this_id, and frame_info::value.

Referenced by frame_stash_create().

static void frame_cleanup_after_sniffer ( void *  arg)
static
static void frame_debug_got_null_frame ( struct frame_info this_frame,
const char *  reason 
)
static

Definition at line 2064 of file frame.c.

References fprintf_unfiltered(), frame_debug, gdb_stdlog, and frame_info::level.

Referenced by get_prev_frame().

struct frame_info* frame_find_by_id ( struct frame_id  id)
int frame_id_artificial_p ( struct frame_id  l)

Definition at line 595 of file frame.c.

References frame_id::artificial_depth, and frame_id_p().

Referenced by set_momentary_breakpoint().

struct frame_id frame_id_build ( CORE_ADDR  stack_addr,
CORE_ADDR  code_addr 
)

Definition at line 554 of file frame.c.

References frame_id::code_addr, FID_STACK_VALID, null_frame_id, and frame_id::stack_addr.

Referenced by aarch64_dummy_id(), aarch64_linux_sigframe_init(), aarch64_prologue_this_id(), aarch64_stub_this_id(), alpha_dummy_id(), alpha_heuristic_frame_this_id(), alpha_mdebug_frame_this_id(), alpha_sigtramp_frame_this_id(), am33_linux_sigframe_cache_init(), amd64_dummy_id(), amd64_epilogue_frame_this_id(), amd64_frame_this_id(), amd64_sigtramp_frame_this_id(), amd64_windows_frame_this_id(), amd64obsd_trapframe_cache(), arm_dummy_id(), arm_linux_restart_syscall_init(), arm_linux_sigtramp_cache(), arm_m_exception_this_id(), arm_prologue_this_id(), arm_stub_this_id(), armobsd_sigframe_init(), avr_dummy_id(), avr_frame_this_id(), bfin_dummy_id(), bfin_frame_this_id(), bfin_linux_sigframe_init(), call_function_by_hand_dummy(), create_new_frame(), cris_dummy_id(), cris_frame_this_id(), cris_sigtramp_frame_this_id(), dwarf2_frame_this_id(), frv_dummy_id(), frv_frame_this_id(), frv_linux_sigtramp_frame_cache(), ft32_dummy_id(), ft32_frame_this_id(), h8300_dummy_id(), h8300_frame_this_id(), hppa_dummy_id(), hppa_fallback_frame_this_id(), hppa_frame_this_id(), hppa_linux_sigtramp_frame_this_id(), hppa_stub_frame_this_id(), hppanbsd_sigtramp_cache_init(), i386_dummy_id(), i386_epilogue_frame_this_id(), i386_frame_this_id(), i386_sigtramp_frame_this_id(), i386nbsd_sigtramp_cache_init(), i386obsd_trapframe_cache(), iq2000_dummy_id(), iq2000_frame_this_id(), jit_frame_this_id(), libunwind_frame_this_id(), lm32_dummy_id(), lm32_frame_this_id(), m32c_dummy_id(), m32c_this_id(), m32r_dummy_id(), m32r_frame_this_id(), m32r_linux_sigtramp_frame_this_id(), m68hc11_dummy_id(), m68hc11_frame_this_id(), m68k_dummy_id(), m68k_frame_this_id(), m68k_linux_sigtramp_frame_cache(), m68kobsd_sigtramp_cache_init(), m88k_dummy_id(), m88k_frame_this_id(), mep_dummy_id(), mep_frame_this_id(), microblaze_frame_this_id(), microblaze_linux_sigtramp_cache(), mips64obsd_sigframe_init(), mips_dummy_id(), mips_insn16_frame_this_id(), mips_insn32_frame_this_id(), mips_linux_n32n64_sigframe_init(), mips_linux_o32_sigframe_init(), mips_micro_frame_this_id(), mips_sde_frame_cache(), mips_stub_frame_cache(), mn10300_dummy_id(), mn10300_frame_this_id(), moxie_dummy_id(), moxie_frame_this_id(), msp430_dummy_id(), msp430_this_id(), mt_dummy_id(), mt_frame_this_id(), nios2_dummy_id(), nios2_frame_this_id(), nios2_linux_rt_sigreturn_init(), nios2_stub_frame_cache(), pending_framepy_create_unwind_info(), ppc_linux_sigtramp_cache(), ppcfbsd_sigtramp_frame_cache(), ppcnbsd_sigtramp_cache_init(), ppcobsd_sigtramp_frame_cache(), ppu2spu_sniffer(), rl78_dummy_id(), rl78_this_id(), rs6000_dummy_id(), rs6000_epilogue_frame_this_id(), rs6000_frame_this_id(), rx_dummy_id(), rx_frame_this_id(), s390_dummy_id(), s390_frame_this_id(), s390_sigtramp_frame_this_id(), s390_stub_frame_this_id(), score_dummy_id(), score_prologue_this_id(), sh64_dummy_id(), sh64_frame_this_id(), sh_dummy_id(), sh_frame_this_id(), sh_linux_sigtramp_cache(), sh_stub_this_id(), sparc32_frame_this_id(), sparc32_linux_sigframe_init(), sparc32_sol2_sigtramp_frame_this_id(), sparc32nbsd_sigcontext_frame_this_id(), sparc32obsd_sigtramp_frame_this_id(), sparc64_frame_this_id(), sparc64_linux_sigframe_init(), sparc64_sol2_sigtramp_frame_this_id(), sparc64fbsd_sigtramp_frame_this_id(), sparc64nbsd_sigcontext_frame_this_id(), sparc64obsd_frame_this_id(), sparc64obsd_trapframe_this_id(), sparc_dummy_id(), spu2ppu_sniffer(), spu_dummy_id(), spu_frame_this_id(), tic6x_dummy_id(), tic6x_frame_this_id(), tic6x_linux_rt_sigreturn_init(), tic6x_stub_this_id(), tilegx_frame_this_id(), tilegx_linux_sigframe_init(), tilegx_unwind_dummy_id(), v850_dummy_id(), v850_frame_this_id(), vax_dummy_id(), vax_frame_this_id(), vaxobsd_sigtramp_frame_cache(), xstormy16_dummy_id(), xstormy16_frame_this_id(), xtensa_dummy_id(), and xtensa_frame_this_id().

struct frame_id frame_id_build_special ( CORE_ADDR  stack_addr,
CORE_ADDR  code_addr,
CORE_ADDR  special_addr 
)
struct frame_id frame_id_build_unavailable_stack ( CORE_ADDR  code_addr)
struct frame_id frame_id_build_unavailable_stack_special ( CORE_ADDR  code_addr,
CORE_ADDR  special_addr 
)
struct frame_id frame_id_build_wild ( CORE_ADDR  stack_addr)
int frame_id_eq ( struct frame_id  l,
struct frame_id  r 
)
static int frame_id_inner ( struct gdbarch gdbarch,
struct frame_id  l,
struct frame_id  r 
)
static
int frame_id_p ( struct frame_id  l)
static void frame_observer_target_changed ( struct target_ops target)
static

Definition at line 1679 of file frame.c.

References reinit_frame_cache().

Referenced by _initialize_frame().

void* frame_obstack_zalloc ( unsigned long  size)

Definition at line 1434 of file frame.c.

References frame_cache_obstack.

Referenced by get_prev_frame_always().

void frame_pop ( struct frame_info this_frame)
struct cleanup* frame_prepare_for_sniffer ( struct frame_info frame,
const struct frame_unwind unwind 
)
void frame_register ( struct frame_info frame,
int  regnum,
int optimizedp,
int unavailablep,
enum lval_type lvalp,
CORE_ADDR addrp,
int realnump,
gdb_byte bufferp 
)
void frame_register_unwind ( struct frame_info frame,
int  regnum,
int optimizedp,
int unavailablep,
enum lval_type lvalp,
CORE_ADDR addrp,
int realnump,
gdb_byte bufferp 
)
static void frame_register_unwind_location ( struct frame_info this_frame,
int  regnum,
int optimizedp,
enum lval_type lvalp,
CORE_ADDR addrp,
int realnump 
)
static
int frame_relative_level ( struct frame_info fi)
struct regcache* frame_save_as_regcache ( struct frame_info this_frame)
static int frame_stash_add ( struct frame_info frame)
static

Definition at line 216 of file frame.c.

References frame_stash, gdb_assert, and frame_info::level.

Referenced by get_prev_frame_if_no_cycle().

static void frame_stash_create ( void  )
static

Definition at line 203 of file frame.c.

References frame_addr_hash(), frame_addr_hash_eq(), and frame_stash.

Referenced by _initialize_frame().

static struct frame_info* frame_stash_find ( struct frame_id  id)
static

Definition at line 243 of file frame.c.

References frame_stash, frame_info::this_id, and frame_info::value.

Referenced by frame_find_by_id().

static void frame_stash_invalidate ( void  )
static

Definition at line 258 of file frame.c.

References frame_stash.

Referenced by reinit_frame_cache().

const char* frame_stop_reason_string ( struct frame_info fi)
static const char * frame_stop_reason_symbol_string ( enum unwind_stop_reason  reason)
static

Definition at line 2643 of file frame.c.

References internal_error().

Referenced by get_prev_frame_always_1().

struct gdbarch* frame_unwind_arch ( struct frame_info next_frame)
struct gdbarch* frame_unwind_caller_arch ( struct frame_info next_frame)
struct frame_id frame_unwind_caller_id ( struct frame_info next_frame)
CORE_ADDR frame_unwind_caller_pc ( struct frame_info this_frame)
static CORE_ADDR frame_unwind_pc ( struct frame_info this_frame)
static
struct program_space* frame_unwind_program_space ( struct frame_info this_frame)

Definition at line 2479 of file frame.c.

References gdb_assert, and frame_info::pspace.

Referenced by insert_step_resume_breakpoint_at_caller().

void frame_unwind_register ( struct frame_info frame,
int  regnum,
gdb_byte buf 
)
LONGEST frame_unwind_register_signed ( struct frame_info frame,
int  regnum 
)
ULONGEST frame_unwind_register_unsigned ( struct frame_info frame,
int  regnum 
)

Definition at line 1182 of file frame.c.

References gdbarch::byte_order, extract_unsigned_integer(), frame_unwind_arch(), frame_unwind_register(), gdbarch_byte_order(), MAX_REGISTER_SIZE, register_size(), and size.

Referenced by aarch64_dwarf2_prev_register(), aarch64_prologue_prev_register(), aarch64_unwind_pc(), aarch64_unwind_sp(), alpha_unwind_pc(), arm_dwarf2_prev_register(), arm_linux_sigreturn_return_addr(), arm_prologue_prev_register(), arm_unwind_pc(), arm_unwind_sp(), avr_unwind_pc(), avr_unwind_sp(), bfin_unwind_pc(), cris_unwind_pc(), cris_unwind_sp(), dwarf2_tailcall_sniffer_first(), frv_unwind_pc(), frv_unwind_sp(), ft32_unwind_pc(), ft32_unwind_sp(), get_frame_register_unsigned(), h8300_unwind_pc(), h8300_unwind_sp(), hppa_unwind_pc(), iq2000_unwind_pc(), iq2000_unwind_sp(), lm32_unwind_pc(), lm32_unwind_sp(), m32c_unwind_pc(), m32c_unwind_sp(), m32r_unwind_pc(), m32r_unwind_sp(), m68hc11_unwind_pc(), m68hc11_unwind_sp(), m88k_unwind_pc(), mep_unwind_pc(), mep_unwind_sp(), microblaze_linux_sigtramp_cache(), mn10300_unwind_pc(), mn10300_unwind_sp(), moxie_unwind_pc(), moxie_unwind_sp(), msp430_unwind_pc(), msp430_unwind_sp(), mt_unwind_pc(), mt_unwind_sp(), nios2_unwind_sp(), rl78_unwind_pc(), rl78_unwind_sp(), rs6000_unwind_pc(), rx_unwind_pc(), rx_unwind_sp(), s390_unwind_pc(), s390_unwind_sp(), score_unwind_pc(), score_unwind_sp(), sh64_unwind_pc(), sh64_unwind_sp(), sh_unwind_pc(), sh_unwind_sp(), sparc_unwind_pc(), spu_unwind_pc(), spu_unwind_sp(), tic6x_unwind_sp(), tilegx_unwind_pc(), tilegx_unwind_sp(), v850_unwind_pc(), v850_unwind_sp(), vax_unwind_pc(), xstormy16_unwind_pc(), and xstormy16_unwind_sp().

struct value* frame_unwind_register_value ( struct frame_info frame,
int  regnum 
)
int frame_unwinder_is ( struct frame_info fi,
const struct frame_unwind unwinder 
)
struct frame_info* get_current_frame ( void  )

Definition at line 1461 of file frame.c.

References _, catch_exceptions(), create_sentinel_frame(), current_frame, current_program_space, current_uiout, error(), get_current_regcache(), get_traceframe_number(), inferior_ptid, is_executing(), is_exited(), null_ptid, ptid_equal(), RETURN_MASK_ERROR, target_has_memory, target_has_registers, target_has_stack, and unwind_to_current_frame().

Referenced by ada_unhandled_exception_name_addr_from_raise(), agent_command_1(), amd64_linux_siginfo_fixup(), arm_linux_copy_svc(), arm_pc_is_thumb(), backtrace_command_1(), block_innermost_frame(), bpfinishpy_init(), bpstat_check_breakpoint_conditions(), call_function_by_hand_dummy(), derive_stack_segment(), elf_gnu_ifunc_resolver_return_stop(), elf_gnu_ifunc_resolver_stop(), find_frame_addr_in_frame_chain(), finish_backward(), finish_command_continuation(), flush_ea_cache(), frame_find_by_id(), gdbpy_newest_frame(), gdbscm_newest_frame(), get_selected_frame(), glibc_skip_solib_resolver(), handle_jit_event(), handle_signal_stop(), handle_step_into_function(), jump_command(), m32c_skip_trampoline_code(), maint_agent_printf_command(), maybe_software_singlestep(), mi_cmd_execute(), mi_cmd_stack_info_depth(), mi_cmd_stack_list_args(), mi_cmd_stack_list_frames(), mi_cmd_trace_frame_collected(), mips_linux_skip_resolver(), mips_linux_syscall_next_pc(), normal_stop(), obsd_skip_solib_resolver(), parse_frame_specification_1(), print_it_exception(), print_stop_event(), proceed(), process_event_stop_test(), record_btrace_start_replaying(), record_full_resume(), record_full_wait_1(), resolve_msgsend(), resolve_msgsend_stret(), resolve_msgsend_super(), resolve_msgsend_super_stret(), restore_infcall_control_state(), restore_selected_frame(), resume(), return_command(), rs6000_stack_frame_destroyed_p(), save_bookmark_command(), set_step_frame(), skip_inline_frames(), sol2_skip_solib_resolver(), solib_event_probe_action(), step_1(), step_once(), store_regs(), svr4_handle_solib_event(), switch_back_to_stepped_thread(), tfind_1(), trace_dump_command(), trace_find_line_command(), until_next_command(), update_watchpoint(), and watchpoint_check().

CORE_ADDR get_frame_address_in_block ( struct frame_info this_frame)
int get_frame_address_in_block_if_available ( struct frame_info this_frame,
CORE_ADDR pc 
)
struct address_space* get_frame_address_space ( struct frame_info frame)
struct gdbarch* get_frame_arch ( struct frame_info this_frame)

Definition at line 2535 of file frame.c.

References frame_unwind_arch(), and frame_info::next.

Referenced by aarch64_dwarf2_prev_register(), aarch64_get_longjmp_target(), aarch64_linux_sigframe_init(), aarch64_make_prologue_cache(), aarch64_prologue_prev_register(), aarch64_prologue_this_id(), aarch64_scan_prologue(), aarch64_software_single_step(), address_from_register(), address_of_variable(), alpha_deal_with_atomic_sequence(), alpha_get_longjmp_target(), alpha_heuristic_frame_unwind_cache(), alpha_linux_sigcontext_addr(), alpha_next_pc(), alpha_register_to_value(), alpha_sigtramp_frame_prev_register(), alpha_sigtramp_frame_sniffer(), alpha_sigtramp_frame_this_id(), alpha_sigtramp_frame_unwind_cache(), alpha_software_single_step(), alpha_value_to_register(), alphaobsd_sigcontext_addr(), amd64_darwin_sigcontext_addr(), amd64_epilogue_frame_cache(), amd64_epilogue_frame_sniffer(), amd64_frame_cache_1(), amd64_frame_prev_register(), amd64_get_longjmp_target(), amd64_linux_sigcontext_addr(), amd64_linux_siginfo_fixup(), amd64_linux_sigtramp_start(), amd64_sigtramp_frame_cache(), amd64_sigtramp_frame_sniffer(), amd64_windows_frame_cache(), amd64_windows_frame_decode_epilogue(), amd64_windows_frame_decode_insns(), amd64_windows_frame_prev_register(), amd64_windows_frame_this_id(), amd64_windows_skip_trampoline_code(), amd64fbsd_sigcontext_addr(), amd64obsd_trapframe_cache(), arm_deal_with_atomic_sequence_raw(), arm_dwarf2_prev_register(), arm_exidx_unwind_sniffer(), arm_frame_is_thumb(), arm_get_longjmp_target(), arm_get_next_pc_raw(), arm_linux_restart_syscall_init(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_linux_software_single_step(), arm_linux_syscall_next_pc(), arm_m_exception_cache(), arm_m_exception_prev_register(), arm_make_prologue_cache(), arm_pe_skip_trampoline_code(), arm_prologue_prev_register(), arm_prologue_unwind_stop_reason(), arm_scan_prologue(), arm_skip_bx_reg(), arm_software_single_step(), arm_symbian_skip_trampoline_code(), avr_frame_prev_register(), avr_frame_unwind_cache(), bfin_frame_prev_register(), bfin_linux_sigframe_init(), branch_dest(), call0_frame_cache(), call_function_by_hand_dummy(), call_site_to_target_addr(), cris_frame_unwind_cache(), cris_scan_prologue(), cris_sigcontext_addr(), cris_sigtramp_frame_unwind_cache(), cris_software_single_step(), crisv32_scan_prologue(), default_read_var_value(), derive_stack_segment(), disassemble_current_function(), dummy_frame_prev_register(), dummy_frame_sniffer(), dwarf2_evaluate_loc_desc_full(), dwarf2_frame_cache(), dwarf2_frame_prev_register(), dwarf2_frame_sniffer(), dwarf2_tailcall_prev_register_first(), dwarf_expr_get_reg_value(), dwarf_expr_read_addr_from_reg(), dwarf_expr_reg_to_entry_parameter(), elf_gnu_ifunc_resolver_return_stop(), elf_gnu_ifunc_resolver_stop(), examine_prologue(), execute_stack_op(), extended_mips16_next_pc(), find_frame_addr_in_frame_chain(), find_step_target(), finish_backward(), finish_forward(), float_info(), frame_base_find_by_frame(), frame_find_by_id(), frame_info(), frame_info_to_frame_object(), frame_save_as_regcache(), frame_unwind_arch(), frame_unwind_find_by_frame(), frapy_read_register(), frscm_scm_from_frame(), frv_frame_unwind_cache(), frv_linux_sigcontext_reg_addr(), frv_linux_sigtramp_frame_cache(), frv_linux_sigtramp_frame_sniffer(), ft32_frame_cache(), gdbpy_apply_frame_filter(), gdbscm_frame_read_register(), get_current_arch(), get_frame_memory_signed(), get_frame_memory_unsigned(), get_frame_register_bytes(), get_frame_sp(), get_prev_frame_always_1(), get_reg_value(), gnuv3_skip_trampoline(), h8300_frame_cache(), h8300_frame_prev_register(), handle_jit_event(), handle_signal_stop(), hppa_fallback_frame_cache(), hppa_find_unwind_entry_in_block(), hppa_frame_cache(), hppa_frame_prev_register_helper(), hppa_linux_sigtramp_frame_sniffer(), hppa_linux_sigtramp_frame_unwind_cache(), hppa_skip_trampoline_code(), hppa_stub_frame_unwind_cache(), hppa_stub_unwind_sniffer(), hppanbsd_sigtramp_cache_init(), i386_darwin_sigcontext_addr(), i386_epilogue_frame_sniffer(), i386_fetch_pointer_argument(), i386_frame_cache_1(), i386_get_longjmp_target(), i386_linux_sigcontext_addr(), i386_pe_skip_trampoline_code(), i386_register_to_value(), i386_sigtramp_frame_cache(), i386_sigtramp_frame_sniffer(), i386_svr4_sigcontext_addr(), i386_value_to_register(), i386bsd_sigcontext_addr(), i386nbsd_sigtramp_cache_init(), i386nto_sigcontext_addr(), i386obsd_trapframe_cache(), i387_print_float_info(), i387_register_to_value(), i387_value_to_register(), ia64_frame_cache(), ia64_frame_prev_register(), ia64_frame_this_id(), ia64_register_to_value(), ia64_sigtramp_frame_cache(), ia64_sigtramp_frame_init_saved_regs(), ia64_sigtramp_frame_prev_register(), ia64_sigtramp_frame_sniffer(), ia64_sigtramp_frame_this_id(), ia64_value_to_register(), indirect_pieced_value(), info_spu_dma_command(), info_spu_event_command(), info_spu_mailbox_command(), info_spu_proxydma_command(), info_spu_signal_command(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), insert_hp_step_resume_breakpoint_at_frame(), inside_main_func(), iq2000_frame_cache(), jit_dealloc_cache(), jit_frame_sniffer(), jit_unwind_reg_get_impl(), jit_unwind_reg_set_impl(), libunwind_frame_cache(), libunwind_frame_prev_register(), libunwind_frame_sniffer(), libunwind_sigtramp_frame_sniffer(), lm32_frame_cache(), m32c_analyze_frame_prologue(), m32c_frame_base(), m32c_prev_register(), m32c_skip_trampoline_code(), m32r_frame_unwind_cache(), m68hc11_frame_prev_register(), m68hc11_frame_unwind_cache(), m68k_frame_cache(), m68k_get_longjmp_target(), m68k_linux_get_sigtramp_info(), m68k_linux_pc_in_sigtramp(), m68k_linux_sigtramp_frame_cache(), m68k_register_to_value(), m68k_value_to_register(), m88k_frame_cache(), make_visible_with_new_height(), mep_analyze_frame_prologue(), mi_cmd_data_list_register_values(), mi_cmd_trace_frame_collected(), microblaze_frame_cache(), microblaze_linux_sigtramp_cache(), micromips_linux_sigframe_validate(), micromips_next_pc(), mips16_next_pc(), mips2_fp_compat(), mips32_next_pc(), mips64_linux_get_longjmp_target(), mips64obsd_sigframe_init(), mips_get_mips16_fn_stub_pc(), mips_insn16_frame_base_sniffer(), mips_insn16_frame_cache(), mips_insn16_frame_sniffer(), mips_insn32_frame_cache(), mips_linux_get_longjmp_target(), mips_linux_n32n64_sigframe_init(), mips_linux_o32_sigframe_init(), mips_micro_frame_base_sniffer(), mips_micro_frame_cache(), mips_micro_frame_sniffer(), mips_next_pc(), mips_print_fp_register(), mips_print_register(), mips_read_fp_register_double(), mips_read_fp_register_single(), mips_register_to_value(), mips_sde_frame_cache(), mips_skip_mips16_trampoline_code(), mips_skip_pic_trampoline_code(), mips_software_single_step(), mips_stub_frame_cache(), mips_value_to_register(), mipsnbsd_get_longjmp_target(), mn10300_analyze_frame_prologue(), mn10300_frame_prev_register(), moxie_frame_cache(), moxie_software_single_step(), msp430_analyze_frame_prologue(), msp430_skip_trampoline_code(), mt_frame_unwind_cache(), nios2_frame_unwind_cache(), nios2_get_longjmp_target(), nios2_get_next_pc(), nios2_software_single_step(), nios2_stub_frame_cache(), objc_skip_trampoline(), output_register(), ppc64_standard_linkage1_target(), ppc64_standard_linkage2_target(), ppc64_standard_linkage3_target(), ppc64_standard_linkage4_target(), ppc_deal_with_atomic_sequence(), ppc_linux_sigtramp_cache(), ppc_skip_trampoline_code(), ppcfbsd_sigtramp_frame_cache(), ppcfbsd_sigtramp_frame_sniffer(), ppcnbsd_sigtramp_cache_init(), ppcobsd_sigtramp_frame_cache(), ppcobsd_sigtramp_frame_sniffer(), ppu2spu_sniffer(), print_frame(), print_frame_args(), print_frame_info(), print_frame_nameless_args(), print_gp_register_row(), print_vector_info(), process_event_stop_test(), put_frame_register(), put_frame_register_bytes(), py_print_frame(), read_addr_from_reg(), read_frame_register_unsigned(), read_frame_register_value(), read_insn(), read_pieced_value(), record_btrace_frame_prev_register(), registers_info(), resolve_msgsend(), resolve_msgsend_stret(), resolve_msgsend_super(), resolve_msgsend_super_stret(), return_command(), rs6000_epilogue_frame_cache(), rs6000_epilogue_frame_sniffer(), rs6000_frame_cache(), rs6000_register_to_value(), rs6000_skip_trampoline_code(), rs6000_software_single_step(), rs6000_value_to_register(), rx_frame_prev_register(), s390_backchain_frame_unwind_cache(), s390_frame_prev_register(), s390_prologue_frame_unwind_cache(), s390_sigtramp_frame_unwind_cache(), s390_stub_frame_unwind_cache(), s390_unwind_pseudo_register(), score3_analyze_prologue(), score7_analyze_prologue(), sh64_frame_cache(), sh64_frame_prev_register(), sh_frame_cache(), sh_frame_prev_register(), sh_linux_sigtramp_cache(), sh_make_stub_cache(), sparc32_frame_prev_register(), sparc32_linux_step_trap(), sparc32nbsd_sigcontext_saved_regs(), sparc64_frame_prev_register(), sparc64_linux_get_longjmp_target(), sparc64_linux_step_trap(), sparc64nbsd_sigcontext_saved_regs(), sparc_analyze_control_transfer(), sparc_frame_cache(), sparc_software_single_step(), spu2ppu_sniffer(), spu_frame_unwind_cache(), spu_get_longjmp_target(), spu_objfile_from_frame(), spu_software_single_step(), stap_evaluate_probe_argument(), stap_get_probe_argument_count(), switch_back_to_stepped_thread(), tailcall_frame_prev_arch(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pc_raw(), tic6x_frame_unwind_cache(), tic6x_get_longjmp_target(), tic6x_get_next_pc(), tic6x_linux_rt_sigreturn_init(), tic6x_software_single_step(), tilegx_frame_cache(), tilegx_get_longjmp_target(), trad_frame_alloc_saved_regs(), tramp_frame_start(), tui_get_function_from_frame(), tui_register_format(), tui_show_frame_info(), tui_show_register_group(), until_break_command(), update_watchpoint(), v850_frame_cache(), value_assign(), value_fetch_lazy(), value_from_register(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), value_of_builtin_frame_ps_reg(), value_of_builtin_frame_sp_reg(), value_of_register(), value_of_register_lazy(), value_of_user_reg(), watchpoint_check(), write_pieced_value(), xstormy16_frame_cache(), xstormy16_skip_trampoline_code(), xtensa_frame_cache(), xtensa_frame_prev_register(), and xtensa_window_interrupt_frame_cache().

CORE_ADDR get_frame_args_address ( struct frame_info fi)
CORE_ADDR get_frame_base ( struct frame_info fi)
CORE_ADDR get_frame_base_address ( struct frame_info fi)
CORE_ADDR get_frame_func ( struct frame_info this_frame)

Definition at line 920 of file frame.c.

References _, get_frame_func_if_available(), NOT_AVAILABLE_ERROR, and throw_error().

Referenced by aarch64_prologue_this_id(), alpha_mdebug_frame_this_id(), alpha_sigtramp_frame_this_id(), amd64_frame_cache_1(), amd64obsd_trapframe_cache(), arm_prologue_this_id(), avr_frame_this_id(), avr_frame_unwind_cache(), bfin_frame_cache(), cris_frame_this_id(), cris_frame_unwind_cache(), dwarf2_frame_this_id(), dwarf_expr_reg_to_entry_parameter(), frv_frame_this_id(), frv_frame_unwind_cache(), ft32_frame_cache(), h8300_frame_cache(), hppa_fallback_frame_cache(), hppa_fallback_frame_this_id(), hppa_frame_cache(), hppa_stub_frame_this_id(), i386_epilogue_frame_cache(), i386_frame_cache_1(), i386obsd_trapframe_cache(), ia64_frame_cache(), inside_entry_func(), inside_main_func(), libunwind_frame_cache(), lm32_frame_cache(), m32c_analyze_frame_prologue(), m32c_this_id(), m32r_frame_this_id(), m32r_frame_unwind_cache(), m32r_linux_sigtramp_frame_cache(), m68hc11_frame_this_id(), m68hc11_frame_unwind_cache(), m68k_frame_cache(), m88k_frame_cache(), mep_analyze_frame_prologue(), mep_frame_this_id(), microblaze_frame_cache(), mips_insn16_frame_this_id(), mips_insn32_frame_this_id(), mips_micro_frame_this_id(), mn10300_analyze_frame_prologue(), mn10300_frame_this_id(), moxie_frame_cache(), msp430_analyze_frame_prologue(), msp430_this_id(), mt_frame_this_id(), mt_frame_unwind_cache(), nios2_frame_unwind_cache(), record_btrace_frame_this_id(), rl78_analyze_frame_prologue(), rl78_this_id(), rs6000_epilogue_frame_this_id(), rs6000_frame_cache(), rs6000_frame_this_id(), rx_analyze_frame_prologue(), rx_frame_this_id(), s390_prologue_frame_unwind_cache(), score_prologue_this_id(), sh64_frame_cache(), sh_frame_cache(), sparc_frame_cache(), spu_frame_unwind_cache(), tic6x_frame_unwind_cache(), tilegx_frame_cache(), v850_frame_cache(), vax_frame_this_id(), xstormy16_frame_cache(), xtensa_frame_cache(), and xtensa_window_interrupt_frame_cache().

int get_frame_func_if_available ( struct frame_info this_frame,
CORE_ADDR pc 
)
struct frame_id get_frame_id ( struct frame_info fi)
CORE_ADDR get_frame_locals_address ( struct frame_info fi)
void get_frame_memory ( struct frame_info this_frame,
CORE_ADDR  addr,
gdb_byte buf,
int  len 
)

Definition at line 2498 of file frame.c.

References read_memory().

LONGEST get_frame_memory_signed ( struct frame_info this_frame,
CORE_ADDR  addr,
int  len 
)
ULONGEST get_frame_memory_unsigned ( struct frame_info this_frame,
CORE_ADDR  addr,
int  len 
)
CORE_ADDR get_frame_pc ( struct frame_info frame)

Definition at line 2217 of file frame.c.

References frame_unwind_pc(), gdb_assert, and frame_info::next.

Referenced by aarch64_dummy_id(), aarch64_prologue_this_id(), aarch64_scan_prologue(), aarch64_software_single_step(), aarch64_stub_this_id(), aarch64_stub_unwind_sniffer(), agent_command_1(), alpha_deal_with_atomic_sequence(), alpha_dummy_id(), alpha_heuristic_frame_unwind_cache(), alpha_linux_sigcontext_addr(), alpha_sigtramp_frame_sniffer(), alpha_sigtramp_frame_this_id(), alpha_software_single_step(), alphaobsd_sigcontext_addr(), amd64_dummy_id(), amd64_epilogue_frame_cache(), amd64_epilogue_frame_sniffer(), amd64_frame_cache_1(), amd64_linux_sigtramp_p(), amd64_linux_sigtramp_start(), amd64_sigtramp_frame_sniffer(), amd64_sigtramp_frame_this_id(), amd64_sol2_sigtramp_p(), amd64_windows_frame_cache(), amd64fbsd_sigtramp_p(), amd64nbsd_sigtramp_p(), amd64obsd_sigcontext_addr(), amd64obsd_sigtramp_p(), amd64obsd_trapframe_sniffer(), arm_deal_with_atomic_sequence_raw(), arm_dummy_id(), arm_exidx_unwind_sniffer(), arm_linux_copy_svc(), arm_linux_software_single_step(), arm_linux_syscall_next_pc(), arm_m_exception_this_id(), arm_m_exception_unwind_sniffer(), arm_prologue_this_id(), arm_prologue_unwind_stop_reason(), arm_scan_prologue(), arm_software_single_step(), arm_stub_this_id(), arm_stub_unwind_sniffer(), avr_dummy_id(), avr_frame_unwind_cache(), bfin_dummy_id(), bfin_frame_cache(), bfin_linux_sigframe_init(), bpfinishpy_init(), check_exception_resume(), check_scope(), compute_probe_arg(), cris_dummy_id(), cris_rt_sigtramp_start(), cris_scan_prologue(), cris_sigtramp_frame_this_id(), cris_sigtramp_start(), dwarf2_fetch_die_loc_cu_off(), dwarf_expr_reg_to_entry_parameter(), elf_gnu_ifunc_resolver_stop(), fetch_probe_arguments(), find_frame_sal(), finish_backward(), finish_command(), finish_forward(), frame_info(), frame_show_address(), frapy_pc(), frv_analyze_prologue(), frv_dummy_id(), frv_linux_sigcontext_reg_addr(), frv_linux_sigtramp_frame_cache(), frv_linux_sigtramp_frame_sniffer(), ft32_dummy_id(), ft32_frame_cache(), func_command(), gdbscm_frame_pc(), get_frame_address_in_block(), get_selected_pc_producer_options(), h8300_dummy_id(), h8300_frame_cache(), hppa_dummy_id(), hppa_fallback_frame_cache(), hppa_frame_cache(), hppa_frame_this_id(), hppa_linux_sigtramp_frame_sniffer(), hppa_linux_sigtramp_frame_this_id(), hppa_linux_sigtramp_frame_unwind_cache(), hppa_stub_frame_unwind_cache(), i386_dummy_id(), i386_epilogue_frame_sniffer(), i386_frame_cache_1(), i386_linux_dwarf_signal_frame_p(), i386_linux_rt_sigtramp_start(), i386_linux_sigcontext_addr(), i386_linux_sigtramp_p(), i386_linux_sigtramp_start(), i386_sigtramp_frame_sniffer(), i386_sigtramp_frame_this_id(), i386_sigtramp_p(), i386_sol2_sigtramp_p(), i386_stack_tramp_frame_sniffer(), i386_svr4_sigtramp_p(), i386fbsd_sigtramp_p(), i386nto_sigtramp_p(), i386obsd_sigtramp_p(), i386obsd_trapframe_sniffer(), ia64_dummy_id(), ia64_frame_cache(), ia64_sigtramp_frame_sniffer(), ia64_sigtramp_frame_this_id(), insert_hp_step_resume_breakpoint_at_frame(), iq2000_dummy_id(), iq2000_frame_cache(), libunwind_frame_cache(), lm32_dummy_id(), lm32_frame_cache(), m32c_analyze_frame_prologue(), m32c_dummy_id(), m32r_dummy_id(), m32r_frame_unwind_cache(), m32r_linux_sigtramp_frame_cache(), m32r_linux_sigtramp_frame_sniffer(), m68hc11_dummy_id(), m68hc11_frame_unwind_cache(), m68k_dummy_id(), m68k_frame_cache(), m68k_linux_pc_in_sigtramp(), m68k_linux_sigtramp_frame_cache(), m88k_dummy_id(), m88k_frame_cache(), maint_agent_printf_command(), make_visible_with_new_height(), mep_analyze_frame_prologue(), mep_dummy_id(), mips_dummy_id(), mips_insn16_frame_base_sniffer(), mips_insn16_frame_sniffer(), mips_insn32_frame_base_sniffer(), mips_insn32_frame_sniffer(), mips_linux_syscall_next_pc(), mips_micro_frame_base_sniffer(), mips_micro_frame_sniffer(), mips_sde_frame_cache(), mips_sde_frame_sniffer(), mips_single_step_through_delay(), mips_software_single_step(), mips_stub_frame_cache(), mips_stub_frame_sniffer(), mn10300_analyze_frame_prologue(), moxie_dummy_id(), moxie_frame_cache(), moxie_software_single_step(), msp430_analyze_frame_prologue(), msp430_dummy_id(), mt_dummy_id(), mt_frame_unwind_cache(), nios2_dummy_id(), nios2_frame_unwind_cache(), nios2_linux_syscall_next_pc(), nios2_software_single_step(), nios2_stub_frame_cache(), nios2_stub_frame_sniffer(), pending_framepy_str(), per_cu_dwarf_call(), ppc_deal_with_atomic_sequence(), ppc_linux_sigtramp_cache(), ppcfbsd_sigtramp_frame_cache(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_cache(), ppcobsd_sigtramp_frame_sniffer(), ppu2spu_sniffer(), print_frame(), print_frame_info(), probe_safe_evaluate_at_pc(), pyuw_sniffer(), rl78_analyze_frame_prologue(), rl78_dummy_id(), rs6000_dummy_id(), rs6000_epilogue_frame_sniffer(), rs6000_frame_cache(), rs6000_software_single_step(), rx_analyze_frame_prologue(), rx_dummy_id(), rx_frame_type(), s390_backchain_frame_unwind_cache(), s390_dummy_id(), s390_prologue_frame_unwind_cache(), s390_sigtramp_frame_sniffer(), s390_sigtramp_frame_this_id(), s390_sigtramp_frame_unwind_cache(), s390_stub_frame_sniffer(), s390_stub_frame_this_id(), score_dummy_id(), score_make_prologue_cache(), set_step_frame(), sh64_dummy_id(), sh64_frame_cache(), sh64_print_registers_info(), sh_dummy_id(), sh_frame_cache(), sh_stub_this_id(), skip_inline_frames(), sparc32_sol2_sigtramp_frame_sniffer(), sparc32nbsd_sigcontext_frame_sniffer(), sparc32obsd_sigtramp_frame_cache(), sparc32obsd_sigtramp_frame_sniffer(), sparc64_sol2_sigtramp_frame_sniffer(), sparc64fbsd_sigtramp_frame_sniffer(), sparc64nbsd_sigtramp_frame_sniffer(), sparc64obsd_frame_cache(), sparc64obsd_sigtramp_frame_sniffer(), sparc_dummy_id(), sparc_frame_cache(), spu2ppu_sniffer(), spu_frame_unwind_cache(), spu_software_single_step(), step_once(), tailcall_frame_this_id(), thumb_deal_with_atomic_sequence_raw(), tic6x_dummy_id(), tic6x_frame_unwind_cache(), tic6x_linux_syscall_next_pc(), tic6x_software_single_step(), tic6x_stub_this_id(), tilegx_frame_cache(), tilegx_unwind_dummy_id(), trace_find_line_command(), tramp_frame_sniffer(), tui_get_function_from_frame(), tui_horizontal_source_scroll(), tui_show_frame_info(), tui_vertical_source_scroll(), until_next_command(), update_watchpoint(), v850_dummy_id(), v850_frame_cache(), value_of_builtin_frame_pc_reg(), varobj_create(), vax_dummy_id(), vaxobsd_sigtramp_frame_cache(), vaxobsd_sigtramp_sniffer(), watchpoint_check(), xstormy16_dummy_id(), xstormy16_frame_cache(), and xtensa_dummy_id().

int get_frame_pc_if_available ( struct frame_info frame,
CORE_ADDR pc 
)
struct program_space* get_frame_program_space ( struct frame_info frame)
void get_frame_register ( struct frame_info frame,
int  regnum,
gdb_byte buf 
)
int get_frame_register_bytes ( struct frame_info frame,
int  regnum,
CORE_ADDR  offset,
int  len,
gdb_byte myaddr,
int optimizedp,
int unavailablep 
)
LONGEST get_frame_register_signed ( struct frame_info frame,
int  regnum 
)
ULONGEST get_frame_register_unsigned ( struct frame_info frame,
int  regnum 
)

Definition at line 1194 of file frame.c.

References frame_unwind_register_unsigned(), and frame_info::next.

Referenced by aarch64_dummy_id(), aarch64_get_longjmp_target(), aarch64_linux_sigframe_init(), aarch64_make_prologue_cache(), aarch64_make_stub_cache(), aarch64_scan_prologue(), alpha_dummy_id(), alpha_get_longjmp_target(), alpha_heuristic_frame_unwind_cache(), alpha_linux_sigcontext_addr(), alpha_mdebug_frame_unwind_cache(), alpha_next_pc(), alphafbsd_sigcontext_addr(), alphaobsd_sigcontext_addr(), am33_linux_sigframe_cache_init(), amd64_dummy_id(), amd64_sol2_mcontext_addr(), amd64nbsd_mcontext_addr(), amd64obsd_sigcontext_addr(), amd64obsd_trapframe_cache(), amd64obsd_trapframe_sniffer(), arm_dummy_id(), arm_dwarf2_prev_register(), arm_exidx_fill_cache(), arm_frame_is_thumb(), arm_get_longjmp_target(), arm_get_next_pc_raw(), arm_linux_restart_syscall_init(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_linux_sigtramp_cache(), arm_linux_software_single_step(), arm_linux_syscall_next_pc(), arm_m_exception_cache(), arm_make_prologue_cache(), arm_make_stub_cache(), arm_print_float_info(), arm_prologue_prev_register(), arm_scan_prologue(), arm_skip_bx_reg(), arm_skip_stub(), avr_dummy_id(), avr_frame_unwind_cache(), bfin_dummy_id(), bfin_frame_cache(), branch_dest(), call0_frame_cache(), cris_dummy_id(), cris_scan_prologue(), crisv32_scan_prologue(), crisv32_single_step_through_delay(), dwarf2_frame_prev_register(), find_step_target(), frv_analyze_prologue(), frv_dummy_id(), ft32_dummy_id(), ft32_frame_cache(), get_frame_sp(), h8300_dummy_id(), h8300_frame_cache(), hppa_dummy_id(), hppa_fallback_frame_cache(), hppa_fetch_pointer_argument(), hppa_linux_sigtramp_frame_unwind_cache(), hppa_skip_trampoline_code(), hppa_stub_frame_unwind_cache(), hppanbsd_sigtramp_cache_init(), i386_dummy_id(), i386_epilogue_frame_cache(), i386_fetch_pointer_argument(), i386_frame_prev_register(), i386_sol2_mcontext_addr(), i386nbsd_sigtramp_cache_init(), i386obsd_trapframe_cache(), i386obsd_trapframe_sniffer(), info_spu_dma_command(), info_spu_event_command(), info_spu_mailbox_command(), info_spu_proxydma_command(), info_spu_signal_command(), iq2000_dummy_id(), iq2000_frame_cache(), lm32_dummy_id(), lm32_frame_cache(), m32c_dummy_id(), m32c_frame_base(), m32r_dummy_id(), m32r_frame_unwind_cache(), m32r_linux_sigtramp_frame_cache(), m68hc11_dummy_id(), m68hc11_frame_unwind_cache(), m68hc11_print_register(), m68k_dummy_id(), m68k_get_longjmp_target(), m68k_linux_get_sigtramp_info(), m68kobsd_sigtramp_cache_init(), m88k_dummy_id(), m88k_frame_cache(), mep_dummy_id(), mep_frame_base(), micromips_bc1_pc(), micromips_next_pc(), mips2_fp_compat(), mips32_bc1_pc(), mips32_next_pc(), mips64_linux_get_longjmp_target(), mips_linux_get_longjmp_target(), mips_linux_syscall_next_pc(), mipsnbsd_get_longjmp_target(), mn10300_dummy_id(), mn10300_frame_base(), moxie_dummy_id(), moxie_frame_cache(), msp430_dummy_id(), msp430_frame_base(), msp430_skip_trampoline_code(), mt_dummy_id(), mt_frame_unwind_cache(), nios2_analyze_prologue(), nios2_dummy_id(), nios2_get_longjmp_target(), nios2_get_next_pc(), nios2_linux_rt_sigreturn_init(), nios2_linux_syscall_next_pc(), nios2_stub_frame_cache(), ppc64_standard_linkage1_target(), ppc64_standard_linkage2_target(), ppc64_standard_linkage3_target(), ppc64_standard_linkage4_target(), ppc_linux_sigtramp_cache(), ppc_skip_trampoline_code(), ppcfbsd_sigtramp_frame_cache(), ppcnbsd_sigtramp_cache_init(), ppcobsd_sigtramp_frame_cache(), rl78_dummy_id(), rl78_frame_base(), rs6000_dummy_id(), rs6000_epilogue_frame_cache(), rs6000_fetch_pointer_argument(), rs6000_frame_cache(), rs6000_in_function_epilogue_frame_p(), rs6000_skip_trampoline_code(), rx_dummy_id(), rx_frame_base(), s390_backchain_frame_unwind_cache(), s390_dummy_id(), s390_prologue_frame_unwind_cache(), s390_sigtramp_frame_unwind_cache(), s390_stub_frame_unwind_cache(), score3_analyze_prologue(), score7_analyze_prologue(), score_dummy_id(), sh64_do_cr_c_register_info(), sh64_do_pseudo_register(), sh64_dummy_id(), sh64_frame_cache(), sh_dummy_id(), sh_frame_cache(), sh_linux_sigtramp_cache(), sh_make_stub_cache(), shifted_reg_val(), sparc32_frame_cache(), sparc32_frame_prev_register(), sparc32_linux_sigframe_init(), sparc32_linux_step_trap(), sparc32_sol2_sigtramp_frame_cache(), sparc32nbsd_sigcontext_frame_cache(), sparc32nbsd_sigcontext_saved_regs(), sparc32obsd_sigtramp_frame_cache(), sparc64_frame_prev_register(), sparc64_linux_get_longjmp_target(), sparc64_linux_sigframe_init(), sparc64_linux_step_trap(), sparc64_sol2_sigtramp_frame_cache(), sparc64fbsd_sigtramp_frame_cache(), sparc64nbsd_sigcontext_frame_cache(), sparc64obsd_frame_cache(), sparc64obsd_trapframe_cache(), sparc64obsd_trapframe_sniffer(), sparc_dummy_id(), sparc_frame_cache(), sparc_software_single_step(), sparcnbsd_step_trap(), spu_dummy_id(), spu_frame_unwind_cache(), spu_software_single_step(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pc_raw(), tic6x_analyze_prologue(), tic6x_dummy_id(), tic6x_get_longjmp_target(), tic6x_get_next_pc(), tic6x_linux_rt_sigreturn_init(), tic6x_linux_syscall_next_pc(), tic6x_make_stub_cache(), tilegx_frame_cache(), tilegx_get_longjmp_target(), tilegx_linux_sigframe_init(), tilegx_unwind_dummy_id(), v850_dummy_id(), v850_frame_cache(), vax_dummy_id(), vax_frame_args_address(), vax_frame_cache(), vax_frame_num_args(), vaxobsd_sigtramp_frame_cache(), xstormy16_dummy_id(), xstormy16_frame_cache(), xtensa_dummy_id(), xtensa_frame_cache(), and xtensa_window_interrupt_frame_cache().

struct value* get_frame_register_value ( struct frame_info frame,
int  regnum 
)
CORE_ADDR get_frame_sp ( struct frame_info this_frame)
enum frame_type get_frame_type ( struct frame_info frame)
enum unwind_stop_reason get_frame_unwind_stop_reason ( struct frame_info frame)
struct frame_info* get_next_frame ( struct frame_info this_frame)
struct frame_info* get_prev_frame ( struct frame_info this_frame)
struct frame_info* get_prev_frame_always ( struct frame_info this_frame)
static struct frame_info* get_prev_frame_always_1 ( struct frame_info this_frame)
static
static struct frame_info* get_prev_frame_if_no_cycle ( struct frame_info this_frame)
static
static struct frame_info * get_prev_frame_raw ( struct frame_info this_frame)
static
struct frame_info* get_selected_frame ( const char *  message)

Definition at line 1535 of file frame.c.

References error(), gdb_assert, get_current_frame(), has_stack_frames(), select_frame(), and selected_frame.

Referenced by amd64_dtrace_parse_probe_argument(), args_info(), bsd_kvm_open(), bsd_kvm_pcb_cmd(), bsd_kvm_proc_cmd(), common_open(), compile_probe_arg(), compile_to_object(), compute_probe_arg(), convert_one_symbol(), core_open(), deprecated_safe_get_selected_frame(), disassemble_current_function(), do_captured_thread_select(), do_compile_dwarf_expr_to_c(), down_command(), down_silently_base(), dwarf2_evaluate_property(), dwarf2_locexpr_baton_eval(), evaluate_subexp_standard(), fetch_probe_arguments(), finish_backward(), finish_command(), float_info(), frame_command(), func_command(), gdbpy_lookup_symbol(), gdbpy_selected_frame(), gdbscm_lookup_symbol(), gdbscm_selected_frame(), get_current_arch(), get_selected_block(), get_selected_pc_producer_options(), indirect_pieced_value(), inferior_command(), info_common_command(), info_spu_dma_command(), info_spu_event_command(), info_spu_mailbox_command(), info_spu_proxydma_command(), info_spu_signal_command(), kill_command(), linux_fork_context(), locals_info(), mi_cmd_data_list_changed_registers(), mi_cmd_data_list_register_values(), mi_cmd_exec_return(), mi_cmd_stack_info_frame(), mi_cmd_stack_list_locals(), mi_cmd_stack_list_variables(), mi_cmd_trace_find(), mi_cmd_trace_frame_collected(), parse_frame_specification_1(), pc_prefix(), print_stop_event(), print_thread_info(), record_btrace_set_replay(), record_full_goto_entry(), record_full_restore(), registers_info(), restore_selected_frame(), return_command(), save_infcall_control_state(), task_command_1(), tfind_1(), tui_horizontal_source_scroll(), tui_refresh_frame_and_register_information(), tui_register_changed_hook(), tui_show_registers(), tui_vertical_source_scroll(), until_break_command(), up_command(), up_silently_base(), update_watchpoint(), value_of_this(), value_of_variable(), varobj_create(), VEC(), and vector_info().

struct frame_info* get_selected_frame_if_set ( void  )

Definition at line 1554 of file frame.c.

References selected_frame.

Referenced by block_innermost_frame(), and make_cleanup_restore_current_thread().

struct frame_id get_stack_frame_id ( struct frame_info next_frame)
int has_stack_frames ( void  )
static int inside_entry_func ( struct frame_info this_frame)
static

Definition at line 2102 of file frame.c.

References entry_point_address_query(), and get_frame_func().

Referenced by get_prev_frame().

static int inside_main_func ( struct frame_info this_frame)
static
void put_frame_register ( struct frame_info frame,
int  regnum,
const gdb_byte buf 
)
void put_frame_register_bytes ( struct frame_info frame,
int  regnum,
CORE_ADDR  offset,
int  len,
const gdb_byte myaddr 
)
int read_frame_register_unsigned ( struct frame_info frame,
int  regnum,
ULONGEST val 
)
void reinit_frame_cache ( void  )
static void remove_prev_frame ( void *  arg)
static

Definition at line 1747 of file frame.c.

References gdb_assert, frame_info::next, and frame_info::prev.

Referenced by get_prev_frame_if_no_cycle().

int safe_frame_unwind_memory ( struct frame_info this_frame,
CORE_ADDR  addr,
gdb_byte buf,
int  len 
)
void select_frame ( struct frame_info fi)
static void set_backtrace_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2708 of file frame.c.

References all_commands, gdb_stdout, and help_list().

Referenced by _initialize_frame().

static void show_backtrace_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2715 of file frame.c.

References cmd_show_list().

Referenced by _initialize_frame().

static void show_backtrace_limit ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 298 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

static void show_backtrace_past_entry ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 288 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

static void show_backtrace_past_main ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 277 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

static void show_frame_debug ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 267 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

static struct frame_info* skip_artificial_frames ( struct frame_info frame)
static
const char* unwind_stop_reason_to_string ( enum unwind_stop_reason  reason)
static int unwind_to_current_frame ( struct ui_out ui_out,
void *  args 
)
static

Definition at line 1448 of file frame.c.

References get_prev_frame().

Referenced by get_current_frame().

Variable Documentation

initialize_file_ftype _initialize_frame
unsigned int backtrace_limit = UINT_MAX
static

Definition at line 296 of file frame.c.

Referenced by _initialize_frame(), and get_prev_frame().

int backtrace_past_entry
static

Definition at line 286 of file frame.c.

Referenced by _initialize_frame(), and get_prev_frame().

int backtrace_past_main
static

Definition at line 275 of file frame.c.

Referenced by _initialize_frame(), and get_prev_frame().

struct frame_info* current_frame
static

Definition at line 1425 of file frame.c.

Referenced by get_current_frame().

struct obstack frame_cache_obstack
static

Definition at line 1431 of file frame.c.

Referenced by _initialize_frame(), frame_obstack_zalloc(), and reinit_frame_cache().

unsigned int frame_debug
htab_t frame_stash
static
const struct frame_id null_frame_id
const struct frame_id outer_frame_id = { 0, 0, 0, FID_STACK_INVALID, 0, 1, 0 }
struct frame_info* selected_frame
static
struct cmd_list_element* set_backtrace_cmdlist
static

Definition at line 2704 of file frame.c.

struct cmd_list_element* show_backtrace_cmdlist
static

Definition at line 2705 of file frame.c.