GDB (xrefs)

Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/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_info * | get_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_info * | frame_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_info * | skip_artificial_frames (struct frame_info *frame)
struct frame_info * | skip_unwritable_frames (struct frame_info *frame)
struct frame_info * | skip_tailcall_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_info * | frame_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)
std::unique_ptr< struct regcache > | frame_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 value * | frame_unwind_register_value (struct frame_info *frame, int regnum)
struct value * | get_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_info * | create_sentinel_frame (struct program_space *pspace, struct regcache *regcache)
void * | frame_obstack_zalloc (unsigned long size)
static struct frame_info * | get_prev_frame_always_1 (struct frame_info *this_frame)
struct frame_info * | get_current_frame (void)
int | has_stack_frames (void)
struct frame_info * | get_selected_frame (const char *message)
struct frame_info * | get_selected_frame_if_set (void)
struct frame_info * | deprecated_safe_get_selected_frame (void)
void | select_frame (struct frame_info *fi)
struct frame_info * | create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
struct frame_info * | get_next_frame (struct frame_info *this_frame)
struct frame_info * | get_next_frame_sentinel_okay (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_info * | get_prev_frame_if_no_cycle (struct frame_info *this_frame)
struct frame_info * | get_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_info * | get_prev_frame (struct frame_info *this_frame)
struct frame_id | get_prev_frame_id_by_id (struct frame_id id)
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)
symtab_and_line | find_frame_sal (frame_info *frame)
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_space * | get_frame_program_space (struct frame_info *frame)
struct program_space * | frame_unwind_program_space (struct frame_info *this_frame)
const address_space * | get_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 gdbarch * | get_frame_arch (struct frame_info *this_frame)
struct gdbarch * | frame_unwind_arch (struct frame_info *next_frame)
struct gdbarch * | frame_unwind_caller_arch (struct frame_info *next_frame)
enum language | get_frame_language (struct frame_info *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)
void | frame_cleanup_after_sniffer (struct frame_info *frame)
void | frame_prepare_for_sniffer (struct frame_info *frame, const struct frame_unwind *unwind)
static void | set_backtrace_cmd (const char *args, int from_tty)
static void | show_backtrace_cmd (const char *args, int from_tty)
void | _initialize_frame (void)

## Variables
static struct frame_info * | sentinel_frame
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 = { 0 }
const struct frame_id | sentinel_frame_id = { 0, 0, 0, FID_STACK_SENTINEL, 0, 1, 0 }
const struct frame_id | outer_frame_id = { 0, 0, 0, FID_STACK_INVALID, 0, 1, 0 }
static struct obstack | frame_cache_obstack
static struct frame_info * | selected_frame
static struct cmd_list_element * | set_backtrace_cmdlist
static struct cmd_list_element * | show_backtrace_cmdlist

## Macro Definition Documentation

## ◆ SET [1/2]

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

## ◆ SET [2/2]

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

## Enumeration Type Documentation

## ◆ cached_copy_status

enum cached_copy_status

Enumerator
CC_UNKNOWN |
CC_VALUE |
CC_NOT_SAVED |
CC_UNAVAILABLE |

Definition at line 60 of file frame.c.

## Function Documentation

## ◆ _initialize_frame()

void _initialize_frame | ( | void |  | ) |

Definition at line 2921 of file frame.c.

References _, add_prefix_cmd(), add_setshow_boolean_cmd(), add_setshow_uinteger_cmd(), add_setshow_zuinteger_cmd(), backtrace_limit, backtrace_past_entry, backtrace_past_main, class_maintenance, class_obscure, frame_cache_obstack, frame_debug, frame_observer_target_changed(), frame_stash_create(), observer_attach_target_changed(), set_backtrace_cmd(), set_backtrace_cmdlist, setdebuglist, setlist, show_backtrace_cmd(), show_backtrace_cmdlist, show_backtrace_limit(), show_backtrace_past_entry(), show_backtrace_past_main(), show_frame_debug(), showdebuglist, and showlist.

## ◆ compute_frame_id()

static void compute_frame_id | ( | struct frame_info * | fi | ) |
| static

Definition at line 492 of file frame.c.

References fprint_frame_id(), fprintf_unfiltered(), frame_debug, frame_id_p(), frame_unwind_find_by_frame(), gdb_assert, gdb_stdlog, frame_info::level, outer_frame_id, frame_info::p, frame_info::prologue_cache, frame_info::this_id, frame_unwind::this_id, frame_info::unwind, and frame_info::value.

Referenced by get_frame_id(), and get_prev_frame_if_no_cycle().

## ◆ create_new_frame()

struct frame_info* create_new_frame | ( | CORE_ADDR | addr,
|  | CORE_ADDR | pc
| ) |  |

Definition at line 1722 of file frame.c.

References frame_info::addr, frame_info::aspace, CC_VALUE, create_sentinel_frame(), current_program_space, fprint_frame(), fprintf_unfiltered(), frame_debug, frame_id_build(), FRAME_OBSTACK_ZALLOC, frame_unwind_find_by_frame(), gdb_stdlog, get_current_regcache(), hex_string(), frame_info::next, frame_info::p, frame_info::prev_pc, frame_info::prologue_cache, frame_info::pspace, frame_info::status, frame_info::this_id, and frame_info::value.

Referenced by mn10300_push_dummy_call(), and parse_frame_specification().

## ◆ create_sentinel_frame()

static struct frame_info* create_sentinel_frame | ( | struct program_space * | pspace,
|  | struct regcache * | regcache
| ) |  |
| static

Definition at line 1517 of file frame.c.

References frame_info::aspace, regcache::aspace(), fprint_frame(), fprintf_unfiltered(), frame_debug, FRAME_OBSTACK_ZALLOC, gdb_stdlog, frame_info::level, frame_info::next, frame_info::p, frame_info::prologue_cache, frame_info::pspace, sentinel_frame_cache(), sentinel_frame_id, sentinel_frame_unwind, frame_info::this_id, frame_info::unwind, and frame_info::value.

Referenced by create_new_frame(), and get_current_frame().

## ◆ deprecated_frame_register_read()

int deprecated_frame_register_read | ( | struct frame_info * | frame,
|  | int | regnum,
|  | gdb_byte * | myaddr
| ) |  |

Definition at line 1372 of file frame.c.

References frame_register(), and regnum.

Referenced by do_frame_register_read(), i386_frame_cache_1(), jit_unwind_reg_get_impl(), mips_read_fp_register_double(), mips_read_fp_register_single(), mt_registers_info(), and sh64_do_fp_register().

## ◆ deprecated_safe_get_selected_frame()

struct frame_info* deprecated_safe_get_selected_frame | ( | void |  | ) |

Definition at line 1667 of file frame.c.

References get_selected_frame(), and has_stack_frames().

Referenced by check_frame_language_change(), default_macro_scope(), make_visible_with_new_height(), tui_enable(), and value_assign().

## ◆ do_frame_register_read()

static enum register_status do_frame_register_read | ( | void * | src,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |
| static

Definition at line 1012 of file frame.c.

References deprecated_frame_register_read(), REG_UNAVAILABLE, REG_VALID, and regnum.

Referenced by frame_save_as_regcache().

## ◆ find_frame_sal()

symtab_and_line find_frame_sal | ( | frame_info * | frame | ) |

Definition at line 2487 of file frame.c.

References find_pc_line(), frame_inlined_callees(), gdb_assert, get_frame_address_in_block(), get_frame_function(), get_frame_pc(), get_frame_pc_if_available(), get_frame_program_space(), get_next_frame(), inferior_ptid, inline_skipped_symbol(), symtab_and_line::line, symtab_and_line::pc, symtab_and_line::pspace, SYMBOL_LINE, symbol_symtab(), and symtab_and_line::symtab.

Referenced by frapy_find_sal(), gdbscm_frame_sal(), info_frame_command(), is_known_support_routine(), print_frame_info(), process_event_stop_test(), set_current_sal_from_frame(), set_step_frame(), and tui_show_frame_info().

## ◆ fprint_field()

static void fprint_field | ( | struct ui_file * | file,
|  | const char * | name,
|  | int | p,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 318 of file frame.c.

References frame_info::addr, fprintf_unfiltered(), hex_string(), name, and frame_info::p.

Referenced by fprint_frame_id().

## ◆ fprint_frame()

static void fprint_frame | ( | struct ui_file * | file,
|  | struct frame_info * | fi
| ) |  |
| static

Definition at line 385 of file frame.c.

References frame_info::addr, CC_NOT_SAVED, CC_UNAVAILABLE, CC_UNKNOWN, CC_VALUE, fprint_frame_id(), fprint_frame_type(), fprintf_unfiltered(), gdb_print_host_address, hex_string(), frame_info::level, frame_info::next, frame_info::p, frame_info::prev_func, frame_info::prev_pc, frame_info::status, frame_info::this_id, frame_unwind::type, frame_info::unwind, val_print_not_saved(), val_print_unavailable(), and frame_info::value.

Referenced by create_new_frame(), create_sentinel_frame(), get_prev_frame_always_1(), get_prev_frame_if_no_cycle(), and get_prev_frame_raw().

## ◆ fprint_frame_id()

void fprint_frame_id | ( | struct ui_file * | file,
|  | struct frame_id | id
| ) |  |

Definition at line 327 of file frame.c.

References FID_STACK_INVALID, FID_STACK_SENTINEL, FID_STACK_UNAVAILABLE, fprint_field(), fprintf_unfiltered(), and hex_string().

Referenced by compute_frame_id(), fprint_dummy_frames(), fprint_frame(), frame_id_eq(), frame_id_inner(), frame_id_p(), frapy_str(), frscm_print_frame_smob(), pyuw_this_id(), and unwind_infopy_str().

## ◆ fprint_frame_type()

static void fprint_frame_type | ( | struct ui_file * | file,
|  | enum frame_type | type
| ) |  |
| static

Definition at line 353 of file frame.c.

References ARCH_FRAME, DUMMY_FRAME, fprintf_unfiltered(), INLINE_FRAME, NORMAL_FRAME, SENTINEL_FRAME, SIGTRAMP_FRAME, and TAILCALL_FRAME.

Referenced by fprint_frame().

## ◆ frame_addr_hash()

static hashval_t frame_addr_hash | ( | const void * | ap | ) |
| static

Definition at line 172 of file frame.c.

References frame_id::code_addr, frame_id::code_addr_p, FID_STACK_INVALID, FID_STACK_VALID, gdb_assert, hash(), frame_id::special_addr, frame_id::special_addr_p, frame_id::stack_addr, frame_id::stack_status, frame_info::this_id, and frame_info::value.

Referenced by frame_stash_create().

## ◆ frame_addr_hash_eq()

static int frame_addr_hash_eq | ( | const void * | a,
|  | const void * | b
| ) |  |
| static

Definition at line 199 of file frame.c.

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

Referenced by frame_stash_create().

## ◆ frame_cleanup_after_sniffer()

void frame_cleanup_after_sniffer | ( | struct frame_info * | frame | ) |

Definition at line 2867 of file frame.c.

References frame_info::addr, gdb_assert, frame_info::p, frame_info::prev_func, frame_info::prev_p, frame_info::prologue_cache, frame_info::this_id, and frame_info::unwind.

Referenced by frame_unwind_try_unwinder().

## ◆ frame_debug_got_null_frame()

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

Definition at line 2196 of file frame.c.

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

Referenced by get_prev_frame().

## ◆ frame_find_by_id()

struct frame_info* frame_find_by_id | ( | struct frame_id | id | ) |

Definition at line 803 of file frame.c.

References frame_id_eq(), frame_id_inner(), frame_id_p(), frame_stash_find(), get_current_frame(), get_frame_arch(), get_frame_id(), get_frame_type(), get_prev_frame(), NORMAL_FRAME, sentinel_frame, and sentinel_frame_id.

Referenced by address_of_variable(), backtrace_command_1(), bpfinishpy_detect_out_scope_cb(), check_longjmp_breakpoint_for_call_dummy(), check_scope(), default_value_from_register(), do_print_variable_and_value(), frame_object_to_frame_info(), frscm_frame_smob_to_frame(), get_prev_frame_id_by_id(), print_frame_local_vars(), process_event_stop_test(), restore_selected_frame(), rw_pieced_value(), update_watchpoint(), value_assign(), value_fetch_lazy(), varobj_create(), and watchpoint_check().

## ◆ frame_id_artificial_p()

int frame_id_artificial_p | ( | struct frame_id | l | ) |

Definition at line 665 of file frame.c.

References frame_id::artificial_depth, and frame_id_p().

Referenced by set_momentary_breakpoint().

## ◆ frame_id_build()

struct frame_id frame_id_build | ( | CORE_ADDR | stack_addr,
|  | CORE_ADDR | code_addr
| ) |  |

Definition at line 624 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_fbsd_sigframe_init(), 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(), arc_dummy_id(), arc_frame_this_id(), arm_dummy_id(), arm_epilogue_frame_this_id(), arm_fbsd_sigframe_init(), 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(), m88k_dummy_id(), m88k_frame_this_id(), mep_dummy_id(), mep_frame_this_id(), microblaze_frame_this_id(), microblaze_linux_sigtramp_cache(), mips64_fbsd_sigframe_init(), mips64obsd_sigframe_init(), mips_dummy_id(), mips_fbsd_sigframe_init(), 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(), nds32_dummy_id(), nds32_epilogue_frame_this_id(), nds32_frame_this_id(), nios2_dummy_id(), nios2_frame_this_id(), nios2_linux_rt_sigreturn_init(), nios2_stub_frame_cache(), or1k_dummy_id(), or1k_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(), xstormy16_dummy_id(), xstormy16_frame_this_id(), xtensa_dummy_id(), and xtensa_frame_this_id().

## ◆ frame_id_build_special()

struct frame_id frame_id_build_special | ( | CORE_ADDR | stack_addr,
|  | CORE_ADDR | code_addr,
|  | CORE_ADDR | special_addr
| ) |  |

Definition at line 580 of file frame.c.

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

Referenced by ia64_dummy_id(), ia64_frame_this_id(), ia64_sigtramp_frame_this_id(), and pending_framepy_create_unwind_info().

## ◆ frame_id_build_unavailable_stack()

struct frame_id frame_id_build_unavailable_stack | ( | CORE_ADDR | code_addr | ) |

Definition at line 597 of file frame.c.

References frame_id::code_addr, FID_STACK_UNAVAILABLE, null_frame_id, and frame_id::stack_status.

Referenced by aarch64_prologue_this_id(), aarch64_stub_this_id(), amd64_epilogue_frame_this_id(), amd64_frame_this_id(), amd64_sigtramp_frame_this_id(), dwarf2_frame_this_id(), i386_epilogue_frame_this_id(), i386_frame_this_id(), i386_sigtramp_frame_this_id(), rs6000_epilogue_frame_this_id(), rs6000_frame_this_id(), and s390_frame_this_id().

## ◆ frame_id_build_unavailable_stack_special()

struct frame_id frame_id_build_unavailable_stack_special | ( | CORE_ADDR | code_addr,
|  | CORE_ADDR | special_addr
| ) |  |

Definition at line 610 of file frame.c.

References frame_id::code_addr, FID_STACK_UNAVAILABLE, null_frame_id, frame_id::special_addr, and frame_id::stack_status.

Referenced by record_btrace_frame_this_id().

## ◆ frame_id_build_wild()

struct frame_id frame_id_build_wild | ( | CORE_ADDR | stack_addr | ) |

Definition at line 636 of file frame.c.

References FID_STACK_VALID, null_frame_id, and frame_id::stack_addr.

Referenced by parse_frame_specification(), and pending_framepy_create_unwind_info().

## ◆ frame_id_eq()

int frame_id_eq | ( | struct frame_id | l,
|  | struct frame_id | r
| ) |  |

Definition at line 674 of file frame.c.

References frame_id::artificial_depth, frame_id::code_addr, frame_id::code_addr_p, FID_STACK_INVALID, fprint_frame_id(), fprintf_unfiltered(), frame_debug, gdb_stdlog, frame_id::special_addr, frame_id::special_addr_p, frame_id::stack_addr, and frame_id::stack_status.

Referenced by bpfinishpy_init(), bpstat_check_breakpoint_conditions(), default_frame_unwind_stop_reason(), dummy_frame_id_eq(), elf_gnu_ifunc_resolver_stop(), frame_addr_hash_eq(), frame_find_by_id(), frapy_richcompare(), frscm_eq_frame_smob(), handle_signal_stop(), inline_frame_this_id(), parse_frame_specification(), pop_dummy_frame_bpt(), print_stop_location(), process_event_stop_test(), record_btrace_start_replaying(), restore_selected_frame(), stepped_in_from(), tfind_1(), and value_fetch_lazy().

## ◆ frame_id_inner()

static int frame_id_inner | ( | struct gdbarch * | gdbarch,
|  | struct frame_id | l,
|  | struct frame_id | r
| ) |  |
| static

Definition at line 754 of file frame.c.

References frame_id::artificial_depth, block_for_pc(), frame_id::code_addr, frame_id::code_addr_p, contained_in(), FID_STACK_VALID, fprint_frame_id(), fprintf_unfiltered(), frame_debug, gdb_assert, gdb_stdlog, gdbarch_inner_than(), frame_id::special_addr, frame_id::special_addr_p, frame_id::stack_addr, and frame_id::stack_status.

Referenced by frame_find_by_id(), and get_prev_frame_always_1().

## ◆ frame_id_p()

int frame_id_p | ( | struct frame_id | l | ) |

Definition at line 646 of file frame.c.

References FID_STACK_INVALID, fprint_frame_id(), fprintf_unfiltered(), frame_debug, gdb_stdlog, outer_frame_id, and frame_id::stack_status.

Referenced by bpstat_check_breakpoint_conditions(), compute_frame_id(), elf_gnu_ifunc_resolver_stop(), frame_find_by_id(), frame_id_artificial_p(), info_frame_command(), inline_frame_this_id(), insert_step_resume_breakpoint_at_caller(), print_one_breakpoint_location(), process_event_stop_test(), until_break_command(), value_of_register_lazy(), varobj_create(), and watch_command_1().

## ◆ frame_observer_target_changed()

static void frame_observer_target_changed | ( | struct target_ops * | target | ) |
| static

Definition at line 1801 of file frame.c.

References reinit_frame_cache().

Referenced by _initialize_frame().

## ◆ frame_obstack_zalloc()

void* frame_obstack_zalloc | ( | unsigned long | size | ) |

Definition at line 1552 of file frame.c.

References frame_cache_obstack, memset(), and size.

Referenced by get_prev_frame_always().

## ◆ frame_pop()

void frame_pop | ( | struct frame_info * | this_frame | ) |

Definition at line 1031 of file frame.c.

References _, DUMMY_FRAME, dummy_frame_pop(), error(), frame_save_as_regcache(), get_current_regcache(), get_frame_id(), get_frame_type(), get_prev_frame_always(), inferior_ptid, regcache_cpy(), reinit_frame_cache(), and skip_tailcall_frames().

Referenced by normal_stop(), and return_command().

## ◆ frame_prepare_for_sniffer()

void frame_prepare_for_sniffer | ( | struct frame_info * | frame,
|  | const struct frame_unwind * | unwind
| ) |  |

Definition at line 2897 of file frame.c.

References gdb_assert, and frame_info::unwind.

Referenced by frame_unwind_try_unwinder().

## ◆ frame_register()

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

Definition at line 1125 of file frame.c.

References frame_register_unwind(), gdb_assert, frame_info::next, and regnum.

Referenced by deprecated_frame_register_read(), get_frame_register_bytes(), and put_frame_register().

## ◆ frame_register_unwind()

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

Definition at line 1081 of file frame.c.

References frame_unwind_register_value(), gdb_assert, lval_register, memset(), regnum, release_value(), TYPE_LENGTH, value_address(), value_contents_all(), value_entirely_available(), value_free(), VALUE_LVAL, value_optimized_out(), VALUE_REGNUM, and value_type().

Referenced by frame_register(), frame_register_unwind_location(), frame_unwind_register(), and info_frame_command().

## ◆ frame_register_unwind_location()

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

Definition at line 1841 of file frame.c.

References frame_register_unwind(), gdb_assert, get_next_frame(), frame_info::level, lval_register, and regnum.

Referenced by get_prev_frame_always_1().

## ◆ frame_relative_level()

int frame_relative_level | ( | struct frame_info * | fi | ) |

Definition at line 2610 of file frame.c.

References frame_info::level.

Referenced by amd64_epilogue_frame_sniffer(), arm_epilogue_frame_sniffer(), existing_next_levels(), hppa_fallback_frame_cache(), hppa_frame_cache(), i386_epilogue_frame_sniffer(), i386_stack_tramp_frame_sniffer(), info_frame_command(), microblaze_unwind_pc(), mips_unwind_pc(), nds32_epilogue_frame_sniffer(), nios2_analyze_prologue(), or1k_unwind_pc(), or1k_unwind_sp(), print_frame(), print_frame_info(), py_print_frame(), rs6000_epilogue_frame_sniffer(), scoped_restore_current_thread::scoped_restore_current_thread(), task_command_1(), and value_fetch_lazy().

## ◆ frame_save_as_regcache()

std::unique_ptr<struct regcache> frame_save_as_regcache | ( | struct frame_info * | this_frame | ) |

Definition at line 1021 of file frame.c.

References do_frame_register_read(), get_frame_arch(), and regcache_save().

Referenced by frame_pop(), mi_cmd_data_list_changed_registers(), and spu2ppu_sniffer().

## ◆ frame_stash_add()

static int frame_stash_add | ( | struct frame_info * | frame | ) |
| static

Definition at line 225 of file frame.c.

References frame_stash, gdb_assert, and frame_info::level.

Referenced by get_frame_id(), and get_prev_frame_if_no_cycle().

## ◆ frame_stash_create()

static void frame_stash_create | ( | void |  | ) |
| static

Definition at line 212 of file frame.c.

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

Referenced by _initialize_frame().

## ◆ frame_stash_find()

static struct frame_info* frame_stash_find | ( | struct frame_id | id | ) |
| static

Definition at line 252 of file frame.c.

References dummy, and frame_stash.

Referenced by frame_find_by_id().

## ◆ frame_stash_invalidate()

static void frame_stash_invalidate | ( | void |  | ) |
| static

Definition at line 267 of file frame.c.

References frame_stash.

Referenced by reinit_frame_cache().

## ◆ frame_stop_reason_string()

const char* frame_stop_reason_string | ( | struct frame_info * | fi | ) |

Definition at line 2831 of file frame.c.

References gdb_assert, frame_info::prev, frame_info::prev_p, frame_info::stop_reason, frame_info::stop_string, and unwind_stop_reason_to_string().

Referenced by backtrace_command_1(), and info_frame_command().

## ◆ frame_stop_reason_symbol_string()

static const char * frame_stop_reason_symbol_string | ( | enum unwind_stop_reason | reason | ) |
| static

Definition at line 2848 of file frame.c.

References internal_error().

Referenced by get_prev_frame_always_1().

## ◆ frame_unwind_arch()

struct gdbarch* frame_unwind_arch | ( | struct frame_info * | next_frame | ) |

Definition at line 2697 of file frame.c.

References frame_info::arch, fprintf_unfiltered(), frame_debug, frame_unwind_find_by_frame(), gdb_stdlog, gdbarch_bfd_arch_info(), get_frame_arch(), frame_info::level, frame_info::p, frame_info::prev_arch, frame_unwind::prev_arch, frame_info::prologue_cache, and frame_info::unwind.

Referenced by arm_linux_sigreturn_return_addr(), dwarf2_tailcall_sniffer_first(), dwarf_expr_reg_to_entry_parameter(), frame_unwind_caller_arch(), frame_unwind_got_address(), frame_unwind_got_bytes(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_optimized(), frame_unwind_pc(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), frame_unwind_register_value(), and get_frame_arch().

## ◆ frame_unwind_caller_arch()

struct gdbarch* frame_unwind_caller_arch | ( | struct frame_info * | next_frame | ) |

Definition at line 2725 of file frame.c.

References frame_unwind_arch(), gdb_assert, and skip_artificial_frames().

Referenced by insert_step_resume_breakpoint_at_caller(), until_break_command(), and watch_command_1().

## ◆ frame_unwind_caller_id()

struct frame_id frame_unwind_caller_id | ( | struct frame_info * | next_frame | ) |

Definition at line 555 of file frame.c.

References get_frame_id(), get_prev_frame_always(), null_frame_id, and skip_artificial_frames().

Referenced by info_frame_command(), insert_step_resume_breakpoint_at_caller(), process_event_stop_test(), until_break_command(), and watch_command_1().

## ◆ frame_unwind_caller_pc()

CORE_ADDR frame_unwind_caller_pc | ( | struct frame_info * | this_frame | ) |

Definition at line 944 of file frame.c.

References frame_unwind_pc(), gdb_assert, and skip_artificial_frames().

Referenced by arm_linux_sigreturn_return_addr(), glibc_skip_solib_resolver(), info_frame_command(), insert_step_resume_breakpoint_at_caller(), mips_linux_skip_resolver(), mips_linux_syscall_next_pc(), nios2_linux_syscall_next_pc(), obsd_skip_solib_resolver(), sol2_skip_solib_resolver(), tic6x_linux_syscall_next_pc(), until_break_command(), and watch_command_1().

## ◆ frame_unwind_pc()

static CORE_ADDR frame_unwind_pc | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 855 of file frame.c.

References _, CATCH, CC_NOT_SAVED, CC_UNAVAILABLE, CC_UNKNOWN, CC_VALUE, END_CATCH, fprintf_unfiltered(), frame_debug, frame_unwind_arch(), gdb_stdlog, gdbarch_unwind_pc(), gdbarch_unwind_pc_p(), hex_string(), internal_error(), frame_info::level, NOT_AVAILABLE_ERROR, OPTIMIZED_OUT_ERROR, frame_info::prev_pc, RETURN_MASK_ERROR, frame_info::status, throw_error(), throw_exception(), TRY, and frame_info::value.

Referenced by frame_unwind_caller_pc(), get_frame_pc(), and get_frame_pc_if_available().

## ◆ frame_unwind_program_space()

struct program_space* frame_unwind_program_space | ( | struct frame_info * | this_frame | ) |

Definition at line 2635 of file frame.c.

References gdb_assert, and frame_info::pspace.

Referenced by insert_step_resume_breakpoint_at_caller().

## ◆ frame_unwind_register()

void frame_unwind_register | ( | struct frame_info * | frame,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |

Definition at line 1145 of file frame.c.

References _, frame_register_unwind(), value::lval, NOT_AVAILABLE_ERROR, OPTIMIZED_OUT_ERROR, regnum, and throw_error().

Referenced by get_frame_register(), i386_unwind_pc(), ia64_unwind_pc(), m68k_unwind_pc(), microblaze_unwind_pc(), nios2_unwind_pc(), tic6x_unwind_pc(), and xtensa_unwind_pc().

## ◆ frame_unwind_register_signed()

LONGEST frame_unwind_register_signed | ( | struct frame_info * | frame,
|  | int | regnum
| ) |  |

Definition at line 1244 of file frame.c.

References _, gdbarch::byte_order, extract_signed_integer(), frame_unwind_arch(), frame_unwind_register_value(), gdb_assert, gdbarch_byte_order(), NOT_AVAILABLE_ERROR, OPTIMIZED_OUT_ERROR, register_size(), regnum, release_value(), size, throw_error(), value_contents_all(), value_entirely_available(), value_free(), and value_optimized_out().

Referenced by get_frame_register_signed(), mips_unwind_pc(), and mips_unwind_sp().

## ◆ frame_unwind_register_unsigned()

ULONGEST frame_unwind_register_unsigned | ( | struct frame_info * | frame,
|  | int | regnum
| ) |  |

Definition at line 1279 of file frame.c.

References _, gdbarch::byte_order, extract_unsigned_integer(), frame_unwind_arch(), frame_unwind_register_value(), gdb_assert, gdbarch_byte_order(), NOT_AVAILABLE_ERROR, OPTIMIZED_OUT_ERROR, register_size(), regnum, release_value(), size, throw_error(), value_contents_all(), value_entirely_available(), value_free(), and value_optimized_out().

Referenced by aarch64_dwarf2_prev_register(), aarch64_prologue_prev_register(), aarch64_unwind_pc(), aarch64_unwind_sp(), alpha_unwind_pc(), arc_unwind_pc(), arc_unwind_sp(), 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(), BP_MANIPULATION(), 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(), 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(), nds32_unwind_pc(), nds32_unwind_sp(), nios2_unwind_sp(), or1k_unwind_pc(), or1k_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().

## ◆ frame_unwind_register_value()

struct value* frame_unwind_register_value | ( | struct frame_info * | frame,
|  | int | regnum
| ) |  |

Definition at line 1172 of file frame.c.

References fprintf_unfiltered(), frame_debug, frame_unwind_arch(), frame_unwind_find_by_frame(), gdb_assert, gdb_stdlog, frame_info::level, lval_memory, lval_register, paddress(), frame_unwind::prev_register, frame_info::prologue_cache, register_size(), regnum, frame_info::unwind, user_reg_map_regnum_to_name(), val_print_optimized_out(), value_address(), value_contents(), value_lazy(), VALUE_LVAL, value_optimized_out(), and VALUE_REGNUM.

Referenced by frame_register_unwind(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), get_frame_register_bytes(), get_frame_register_value(), info_frame_command(), put_frame_register_bytes(), s390_unwind_pseudo_register(), and value_fetch_lazy().

## ◆ frame_unwinder_is()

int frame_unwinder_is | ( | struct frame_info * | fi,
|  | const struct frame_unwind * | unwinder
| ) |  |

Definition at line 2599 of file frame.c.

References frame_unwind_find_by_frame(), frame_info::prologue_cache, and frame_info::unwind.

Referenced by dwarf2_frame_cfa(), and frame_is_tailcall().

## ◆ get_current_frame()

struct frame_info* get_current_frame | ( | void |  | ) |

Definition at line 1563 of file frame.c.

References _, create_sentinel_frame(), current_program_space, error(), gdb_assert, get_current_regcache(), get_prev_frame_always_1(), get_traceframe_number(), sentinel_frame, target_has_memory, target_has_registers, target_has_stack, and validate_registers_access().

Referenced by aarch64_linux_siginfo_fixup(), 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(), branch_dest(), 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_fsm_should_stop(), flush_ea_cache(), frame_find_by_id(), func_command(), gdbpy_newest_frame(), gdbscm_newest_frame(), get_selected_frame(), get_thread_current_frame(), glibc_skip_solib_resolver(), handle_jit_event(), handle_signal_stop(), handle_step_into_function(), insert_single_step_breakpoints(), jump_command(), keep_going_stepped_thread(), m32c_skip_trampoline_code(), maint_agent_printf_command(), mi_cmd_execute(), mi_cmd_stack_info_depth(), mi_cmd_stack_list_args(), mi_cmd_stack_list_frames(), mi_cmd_trace_frame_collected(), mips32_next_pc(), mips_linux_skip_resolver(), mips_linux_syscall_next_pc(), nios2_get_next_pc(), normal_stop(), obsd_skip_solib_resolver(), parse_frame_specification(), prepare_one_step(), print_it_exception(), print_one_stopped_thread(), print_stop_location(), proceed(), process_event_stop_test(), resolve_msgsend(), resolve_msgsend_stret(), resolve_msgsend_super(), resolve_msgsend_super_stret(), restore_infcall_control_state(), restore_selected_frame(), resume_1(), return_command(), rs6000_stack_frame_destroyed_p(), save_bookmark_command(), set_step_frame(), skip_inline_frames(), sol2_skip_solib_resolver(), solib_event_probe_action(), sparc_analyze_control_transfer(), step_command_fsm_prepare(), store_regs(), svr4_handle_solib_event(), tdump_command(), tfind_1(), tfind_line_command(), tic6x_get_next_pc(), until_next_command(), update_watchpoint(), and watchpoint_check().

## ◆ get_frame_address_in_block()

CORE_ADDR get_frame_address_in_block | ( | struct frame_info * | this_frame | ) |

Definition at line 2407 of file frame.c.

References get_frame_pc(), get_frame_type(), INLINE_FRAME, frame_info::next, NORMAL_FRAME, and TAILCALL_FRAME.

Referenced by aarch64_scan_prologue(), aarch64_stub_unwind_sniffer(), alpha_mdebug_frame_base_sniffer(), alpha_mdebug_frame_sniffer(), alpha_mdebug_frame_unwind_cache(), arc_make_frame_cache(), arm_exidx_unwind_sniffer(), arm_scan_prologue(), arm_stub_unwind_sniffer(), backtrace_command_1(), compile_to_object(), disassemble_current_function(), dwarf2_evaluate_property(), dwarf2_frame_base_sniffer(), dwarf2_frame_cache(), dwarf2_frame_sniffer(), dwarf2_tailcall_sniffer_first(), find_frame_funname(), find_frame_sal(), gdbscm_frame_function(), get_frame_address_in_block_if_available(), get_frame_address_in_block_wrapper(), dwarf_evaluate_loc_desc::get_frame_base(), get_frame_language(), dwarf_evaluate_loc_desc::get_frame_pc(), get_prev_frame_always_1(), hppa_find_unwind_entry_in_block(), hppa_stub_unwind_sniffer(), inline_frame_sniffer(), loclist_read_variable(), microblaze_frame_cache(), microblaze_linux_sigtramp_cache(), mips_insn16_frame_cache(), mips_insn32_frame_cache(), mips_micro_frame_cache(), mips_stub_frame_sniffer(), nios2_stub_frame_sniffer(), s390_stub_frame_sniffer(), sh_stub_unwind_sniffer(), sparc32_dwarf2_struct_return_p(), sparc64obsd_trapframe_sniffer(), and tic6x_stub_unwind_sniffer().

## ◆ get_frame_address_in_block_if_available()

int get_frame_address_in_block_if_available | ( | struct frame_info * | this_frame,
|  | CORE_ADDR * | pc
| ) |  |

Definition at line 2467 of file frame.c.

References CATCH, END_CATCH, get_frame_address_in_block(), NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, throw_exception(), and TRY.

Referenced by find_frame_funname(), get_frame_block(), get_frame_func_if_available(), and select_frame().

## ◆ get_frame_address_space()

const address_space* get_frame_address_space | ( | struct frame_info * | frame | ) |

Definition at line 2646 of file frame.c.

References frame_info::aspace.

Referenced by crisv32_single_step_through_delay(), insert_single_step_breakpoints(), keep_going_stepped_thread(), and mips_single_step_through_delay().

## ◆ get_frame_arch()

struct gdbarch* get_frame_arch | ( | struct frame_info * | this_frame | ) |

Definition at line 2691 of file frame.c.

References frame_unwind_arch(), and frame_info::next.

Referenced by aarch64_fbsd_sigframe_init(), aarch64_get_longjmp_target(), aarch64_linux_siginfo_fixup(), aarch64_make_prologue_cache_1(), aarch64_prologue_frame_unwind_stop_reason(), aarch64_scan_prologue(), address_from_register(), address_of_variable(), alpha_get_longjmp_target(), alpha_heuristic_frame_unwind_cache(), alpha_linux_sigcontext_addr(), alpha_register_to_value(), alpha_sigtramp_frame_prev_register(), alpha_sigtramp_frame_sniffer(), alpha_sigtramp_frame_this_id(), alpha_sigtramp_frame_unwind_cache(), 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_skip_trampoline_code(), amd64fbsd_sigcontext_addr(), amd64obsd_trapframe_cache(), arc_frame_prev_register(), arc_frame_this_id(), arc_get_longjmp_target(), arc_make_frame_cache(), arm_dwarf2_prev_register(), arm_epilogue_frame_sniffer(), arm_exidx_unwind_sniffer(), arm_fbsd_sigframe_init(), arm_frame_is_thumb(), arm_get_longjmp_target(), arm_linux_restart_syscall_init(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_m_exception_cache(), arm_make_epilogue_frame_cache(), 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_symbian_skip_trampoline_code(), avr_frame_prev_register(), avr_frame_unwind_cache(), bfin_frame_prev_register(), BP_MANIPULATION(), 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(), 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_reg_to_entry_parameter(), elf_gnu_ifunc_resolver_return_stop(), elf_gnu_ifunc_resolver_stop(), stap_probe::evaluate_argument(), examine_prologue(), execute_stack_op(), find_frame_addr_in_frame_chain(), finish_backward(), finish_forward(), frame_base_find_by_frame(), frame_find_by_id(), 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(), stap_probe::get_argument_count(), get_current_arch(), get_frame_memory_signed(), get_frame_memory_unsigned(), get_frame_register_bytes(), get_frame_sp(), get_prev_frame_always_1(), dwarf_expr_executor::get_reg_value(), dwarf_evaluate_loc_desc::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(), 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_float_command(), info_frame_command(), 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_frame_sniffer(), jit_unwind_reg_get_impl(), jit_unwind_reg_set_impl(), keep_going_stepped_thread(), libunwind_frame_cache(), libunwind_frame_prev_register(), libunwind_frame_sniffer(), libunwind_sigtramp_frame_sniffer(), lm32_frame_cache(), locexpr_get_frame_base(), loclist_get_frame_base(), 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(), mi_cmd_data_list_register_values(), mi_cmd_trace_frame_collected(), microblaze_frame_cache(), microblaze_linux_sigtramp_cache(), micromips_linux_sigframe_validate(), mips2_fp_compat(), mips64_fbsd_sigframe_init(), mips64_linux_get_longjmp_target(), mips64obsd_sigframe_init(), mips_fbsd_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_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_stub_frame_cache(), mips_value_to_register(), mipsnbsd_get_longjmp_target(), mn10300_analyze_frame_prologue(), moxie_frame_cache(), msp430_analyze_frame_prologue(), msp430_skip_trampoline_code(), mt_frame_unwind_cache(), nds32_epilogue_frame_cache(), nds32_epilogue_frame_sniffer(), nds32_frame_cache(), nds32_get_longjmp_target(), nios2_frame_unwind_cache(), nios2_get_longjmp_target(), nios2_stub_frame_cache(), objc_skip_trampoline(), or1k_frame_cache(), ppc64_plt_entry_point(), ppc64_skip_trampoline_code(), 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(), dwarf_evaluate_loc_desc::read_addr_from_reg(), read_frame_register_unsigned(), read_frame_register_value(), read_insn(), 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_value_to_register(), rw_pieced_value(), rx_frame_prev_register(), s390_backchain_frame_unwind_cache(), 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(), skip_unwritable_frames(), 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_frame_cache(), spu2ppu_sniffer(), spu_frame_unwind_cache(), spu_get_longjmp_target(), spu_objfile_from_frame(), tailcall_frame_prev_arch(), tic6x_frame_unwind_cache(), tic6x_get_longjmp_target(), tic6x_linux_rt_sigreturn_init(), 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(), xstormy16_frame_cache(), xstormy16_skip_trampoline_code(), xtensa_frame_cache(), xtensa_frame_prev_register(), and xtensa_window_interrupt_frame_cache().

## ◆ get_frame_args_address()

CORE_ADDR get_frame_args_address | ( | struct frame_info * | fi | ) |

Definition at line 2581 of file frame.c.

References frame_info::base, frame_info::base_cache, frame_base_find_by_frame(), get_frame_type(), NORMAL_FRAME, frame_info::prologue_cache, frame_base::this_args, frame_base::unwind, and frame_info::unwind.

Referenced by default_read_var_value(), info_frame_command(), and print_frame_nameless_args().

## ◆ get_frame_base()

CORE_ADDR get_frame_base | ( | struct frame_info * | fi | ) |

Definition at line 2544 of file frame.c.

References get_frame_id(), and frame_id::stack_addr.

Referenced by alphanbsd_sigcontext_addr(), branch_dest(), default_frame_base_address(), derive_stack_segment(), dwarf2_frame_cfa(), follow_static_link(), and info_frame_command().

## ◆ get_frame_base_address()

CORE_ADDR get_frame_base_address | ( | struct frame_info * | fi | ) |

Definition at line 2552 of file frame.c.

References frame_info::base, frame_info::base_cache, frame_base_find_by_frame(), get_frame_type(), NORMAL_FRAME, frame_info::prologue_cache, frame_base::this_base, frame_base::unwind, and frame_info::unwind.

Referenced by find_frame_addr_in_frame_chain(), value_of_builtin_frame_fp_reg(), and vax_frame_num_args().

## ◆ get_frame_func()

CORE_ADDR get_frame_func | ( | struct frame_info * | this_frame | ) |

Definition at line 1001 of file frame.c.

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

Referenced by aarch64_make_prologue_cache_1(), alpha_mdebug_frame_this_id(), alpha_sigtramp_frame_this_id(), amd64_frame_cache_1(), amd64obsd_trapframe_cache(), arc_frame_this_id(), arm_epilogue_frame_this_id(), arm_prologue_this_id(), avr_frame_this_id(), avr_frame_unwind_cache(), bfin_frame_cache(), BP_MANIPULATION(), 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_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(), nds32_epilogue_frame_cache(), nds32_frame_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(), score_prologue_this_id(), sh64_frame_cache(), sh_frame_cache(), sparc_frame_cache(), spu_frame_unwind_cache(), tic6x_frame_unwind_cache(), v850_frame_cache(), vax_frame_this_id(), xstormy16_frame_cache(), xtensa_frame_cache(), and xtensa_window_interrupt_frame_cache().

## ◆ get_frame_func_if_available()

int get_frame_func_if_available | ( | struct frame_info * | this_frame,
|  | CORE_ADDR * | pc
| ) |  |

Definition at line 957 of file frame.c.

References frame_info::addr, fprintf_unfiltered(), frame_debug, gdb_stdlog, get_frame_address_in_block_if_available(), get_pc_function_start(), hex_string(), frame_info::level, frame_info::next, frame_info::p, and frame_info::prev_func.

Referenced by dwarf2_frame_cache(), get_frame_func(), loclist_read_variable_at_entry(), and s390_prologue_frame_unwind_cache().

## ◆ get_frame_id()

struct frame_id get_frame_id | ( | struct frame_info * | fi | ) |

Definition at line 520 of file frame.c.

References compute_frame_id(), frame_stash_add(), gdb_assert, and null_frame_id.

Referenced by allocate_piece_closure(), arm_linux_copy_svc(), backtrace_command_1(), bpfinishpy_init(), default_frame_unwind_stop_reason(), default_value_from_register(), dwarf2_frame_cfa(), finish_forward(), frame_find_by_id(), frame_info_to_frame_object(), frame_pop(), frame_unwind_caller_id(), frame_unwind_got_optimized(), frscm_scm_from_frame(), get_frame_base(), get_prev_frame(), get_prev_frame_always_1(), get_prev_frame_id_by_id(), get_stack_frame_id(), inline_frame_this_id(), parse_frame_specification(), print_frame_arg_vars(), print_frame_local_vars(), print_stop_location(), process_event_stop_test(), record_btrace_start_replaying(), restore_selected_frame(), save_infcall_control_state(), scoped_restore_current_thread::scoped_restore_current_thread(), set_step_info(), step_command_fsm_prepare(), stepped_in_from(), tailcall_frame_this_id(), tfind_1(), until_next_command(), update_watchpoint(), value_assign(), value_from_register(), value_of_register_lazy(), varobj_create(), and watch_command_1().

## ◆ get_frame_language()

enum language get_frame_language | ( | struct frame_info * | frame | ) |

Definition at line 2740 of file frame.c.

References CATCH, compunit_language(), END_CATCH, find_pc_compunit_symtab(), gdb_assert, get_frame_address_in_block(), language_unknown, NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, throw_exception(), and TRY.

Referenced by check_frame_language_change(), set_language_command(), and show_language_command().

## ◆ get_frame_locals_address()

CORE_ADDR get_frame_locals_address | ( | struct frame_info * | fi | ) |

Definition at line 2566 of file frame.c.

References frame_info::base, frame_info::base_cache, frame_base_find_by_frame(), get_frame_type(), NORMAL_FRAME, frame_info::prologue_cache, frame_base::this_locals, frame_base::unwind, and frame_info::unwind.

Referenced by default_read_var_value(), and info_frame_command().

## ◆ get_frame_memory()

void get_frame_memory | ( | struct frame_info * | this_frame,
|  | CORE_ADDR | addr,
|  | gdb_byte * | buf,
|  | int | len
| ) |  |

Definition at line 2654 of file frame.c.

References read_memory().

## ◆ get_frame_memory_signed()

LONGEST get_frame_memory_signed | ( | struct frame_info * | this_frame,
|  | CORE_ADDR | addr,
|  | int | len
| ) |  |

Definition at line 2661 of file frame.c.

References gdbarch::byte_order, gdbarch_byte_order(), get_frame_arch(), and read_memory_integer().

## ◆ get_frame_memory_unsigned()

ULONGEST get_frame_memory_unsigned | ( | struct frame_info * | this_frame,
|  | CORE_ADDR | addr,
|  | int | len
| ) |  |

Definition at line 2671 of file frame.c.

References gdbarch::byte_order, gdbarch_byte_order(), get_frame_arch(), and read_memory_unsigned_integer().

Referenced by alpha_sigtramp_frame_this_id(), alphaobsd_sigcontext_addr(), am33_linux_sigframe_cache_init(), amd64_sol2_mcontext_addr(), arm_exidx_fill_cache(), arm_linux_restart_syscall_init(), i386_sol2_mcontext_addr(), m32r_frame_unwind_cache(), mt_frame_unwind_cache(), sparc32_frame_prev_register(), sparc32_linux_sigframe_init(), sparc32_sol2_sigtramp_frame_cache(), sparc32nbsd_sigcontext_saved_regs(), sparc64_frame_prev_register(), sparc64_linux_sigframe_init(), sparc64_sol2_sigtramp_frame_cache(), sparc64fbsd_sigtramp_frame_cache(), sparc64nbsd_sigcontext_saved_regs(), tilegx_linux_sigframe_init(), vax_frame_cache(), and vax_frame_num_args().

## ◆ get_frame_pc()

CORE_ADDR get_frame_pc | ( | struct frame_info * | frame | ) |

Definition at line 2376 of file frame.c.

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

Referenced by aarch64_dummy_id(), aarch64_make_stub_cache(), aarch64_scan_prologue(), aarch64_stub_unwind_sniffer(), agent_command_1(), alpha_dummy_id(), alpha_heuristic_frame_unwind_cache(), alpha_linux_sigcontext_addr(), alpha_sigtramp_frame_sniffer(), alpha_sigtramp_frame_this_id(), 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(), arc_dummy_id(), arc_make_frame_cache(), arm_dummy_id(), arm_epilogue_frame_sniffer(), arm_epilogue_frame_this_id(), arm_exidx_unwind_sniffer(), arm_linux_copy_svc(), arm_m_exception_this_id(), arm_m_exception_unwind_sniffer(), arm_prologue_this_id(), arm_prologue_unwind_stop_reason(), arm_scan_prologue(), 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(), BP_MANIPULATION(), 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_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_linux_sigtramp_frame_sniffer(), hppa_linux_sigtramp_frame_this_id(), hppa_linux_sigtramp_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(), info_frame_command(), insert_hp_step_resume_breakpoint_at_frame(), iq2000_dummy_id(), iq2000_frame_cache(), libunwind_frame_cache(), lm32_dummy_id(), lm32_frame_cache(), locexpr_get_frame_base(), loclist_get_frame_base(), 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_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_stub_frame_cache(), mips_stub_frame_sniffer(), mn10300_analyze_frame_prologue(), moxie_dummy_id(), moxie_frame_cache(), msp430_analyze_frame_prologue(), msp430_dummy_id(), mt_dummy_id(), mt_frame_unwind_cache(), nds32_dummy_id(), nds32_epilogue_frame_cache(), nds32_epilogue_frame_sniffer(), nds32_frame_cache(), nios2_dummy_id(), nios2_frame_unwind_cache(), nios2_linux_syscall_next_pc(), nios2_stub_frame_cache(), nios2_stub_frame_sniffer(), or1k_dummy_id(), or1k_frame_cache(), pending_framepy_str(), ppc_linux_sigtramp_cache(), ppcfbsd_sigtramp_frame_cache(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_cache(), ppcobsd_sigtramp_frame_sniffer(), ppu2spu_sniffer(), prepare_one_step(), print_frame(), print_frame_info(), print_one_stopped_thread(), probe_safe_evaluate_at_pc(), pyuw_sniffer(), rl78_analyze_frame_prologue(), rl78_dummy_id(), rs6000_dummy_id(), rs6000_epilogue_frame_sniffer(), rs6000_frame_cache(), 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(), tailcall_frame_this_id(), tfind_line_command(), tic6x_dummy_id(), tic6x_frame_unwind_cache(), tic6x_linux_syscall_next_pc(), tic6x_stub_this_id(), tilegx_unwind_dummy_id(), 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(), watchpoint_check(), xstormy16_dummy_id(), xstormy16_frame_cache(), and xtensa_dummy_id().

## ◆ get_frame_pc_if_available()

int get_frame_pc_if_available | ( | struct frame_info * | frame,
|  | CORE_ADDR * | pc
| ) |  |

Definition at line 2383 of file frame.c.

References CATCH, END_CATCH, frame_unwind_pc(), gdb_assert, frame_info::next, NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, throw_exception(), and TRY.

Referenced by bpfinishpy_init(), default_macro_scope(), find_frame_sal(), get_prev_frame(), info_frame_command(), pc_prefix(), print_frame(), print_frame_arg_vars(), print_frame_info(), print_frame_local_vars(), set_traceframe_context(), tui_refresh_frame_and_register_information(), and tui_show_frame_info().

## ◆ get_frame_program_space()

struct program_space* get_frame_program_space | ( | struct frame_info * | frame | ) |

Definition at line 2629 of file frame.c.

References frame_info::pspace.

Referenced by find_frame_sal(), finish_backward(), handle_step_into_function(), insert_hp_step_resume_breakpoint_at_frame(), print_frame(), process_event_stop_test(), save_bookmark_command(), and update_watchpoint().

## ◆ get_frame_register()

void get_frame_register | ( | struct frame_info * | frame,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |

Definition at line 1165 of file frame.c.

References frame_unwind_register(), frame_info::next, and regnum.

Referenced by amd64_darwin_sigcontext_addr(), amd64_epilogue_frame_cache(), amd64_frame_cache_1(), amd64_get_longjmp_target(), amd64_linux_sigcontext_addr(), amd64_sigtramp_frame_cache(), amd64_windows_frame_cache(), amd64_windows_frame_decode_insns(), amd64fbsd_sigcontext_addr(), cris_sigcontext_addr(), cris_sigtramp_frame_unwind_cache(), examine_prologue(), frv_linux_sigcontext_reg_addr(), frv_linux_sigtramp_frame_cache(), i386_darwin_sigcontext_addr(), i386_frame_cache_1(), i386_get_longjmp_target(), i386_linux_sigcontext_addr(), i386_sigtramp_frame_cache(), i386_svr4_sigcontext_addr(), i386bsd_sigcontext_addr(), i386nto_sigcontext_addr(), ia64_dummy_id(), ia64_frame_cache(), ia64_frame_prev_register(), ia64_sigtramp_frame_cache(), m68k_frame_cache(), m68k_linux_sigtramp_frame_cache(), mips_register_to_value(), and spu_frame_unwind_cache().

## ◆ get_frame_register_bytes()

int get_frame_register_bytes | ( | struct frame_info * | frame,
|  | int | regnum,
|  | CORE_ADDR | offset,
|  | int | len,
|  | gdb_byte * | myaddr,
|  | int * | optimizedp,
|  | int * | unavailablep
| ) |  |

Definition at line 1388 of file frame.c.

References _, error(), frame_register(), frame_unwind_register_value(), gdb_assert, gdbarch_num_pseudo_regs(), gdbarch_num_regs(), get_frame_arch(), frame_info::next, offset, register_size(), regnum, release_value(), value_contents_all(), value_entirely_available(), value_free(), and value_optimized_out().

Referenced by i386_register_to_value(), i387_register_to_value(), ia64_register_to_value(), m68k_register_to_value(), mips_register_to_value(), rs6000_register_to_value(), rw_pieced_value(), spu_get_longjmp_target(), and value_assign().

## ◆ get_frame_register_signed()

LONGEST get_frame_register_signed | ( | struct frame_info * | frame,
|  | int | regnum
| ) |  |

Definition at line 1273 of file frame.c.

References frame_unwind_register_signed(), frame_info::next, and regnum.

Referenced by armobsd_sigframe_init(), h8300_print_register(), m68hc11_print_register(), micromips_scan_prologue(), mips16_scan_prologue(), mips32_scan_prologue(), mips64_fbsd_sigframe_init(), mips64obsd_sigframe_init(), mips_dummy_id(), mips_fbsd_sigframe_init(), mips_sde_frame_cache(), mips_skip_mips16_trampoline_code(), and mips_stub_frame_cache().

## ◆ get_frame_register_unsigned()

ULONGEST get_frame_register_unsigned | ( | struct frame_info * | frame,
|  | int | regnum
| ) |  |

Definition at line 1308 of file frame.c.

References frame_unwind_register_unsigned(), frame_info::next, and regnum.

Referenced by aarch64_dummy_id(), aarch64_fbsd_sigframe_init(), aarch64_get_longjmp_target(), aarch64_linux_sigframe_init(), aarch64_make_prologue_cache_1(), 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(), 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(), arc_frame_base_address(), arc_frame_this_id(), arc_get_longjmp_target(), arc_make_frame_cache(), arm_dummy_id(), arm_dwarf2_prev_register(), arm_exidx_fill_cache(), arm_fbsd_sigframe_init(), arm_frame_is_thumb(), arm_get_longjmp_target(), arm_linux_restart_syscall_init(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_linux_sigtramp_cache(), arm_m_exception_cache(), arm_make_epilogue_frame_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(), BP_MANIPULATION(), call0_frame_cache(), cris_dummy_id(), cris_scan_prologue(), crisv32_scan_prologue(), crisv32_single_step_through_delay(), dwarf2_frame_prev_register(), examine_prologue(), 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(), m88k_dummy_id(), m88k_frame_cache(), mep_dummy_id(), mep_frame_base(), mips2_fp_compat(), 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(), nds32_dummy_id(), nds32_epilogue_frame_cache(), nds32_frame_cache(), nds32_get_longjmp_target(), nios2_analyze_prologue(), nios2_dummy_id(), nios2_get_longjmp_target(), nios2_linux_rt_sigreturn_init(), nios2_linux_syscall_next_pc(), nios2_stub_frame_cache(), or1k_frame_cache(), ppc64_plt_entry_point(), 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(), 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(), sparcnbsd_step_trap(), spu_dummy_id(), spu_frame_unwind_cache(), tic6x_analyze_prologue(), tic6x_dummy_id(), tic6x_get_longjmp_target(), tic6x_linux_rt_sigreturn_init(), tic6x_linux_syscall_next_pc(), tic6x_make_stub_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(), xstormy16_dummy_id(), xstormy16_frame_cache(), xtensa_dummy_id(), xtensa_frame_cache(), and xtensa_window_interrupt_frame_cache().

## ◆ get_frame_register_value()

struct value* get_frame_register_value | ( | struct frame_info * | frame,
|  | int | regnum
| ) |  |

Definition at line 1238 of file frame.c.

References frame_unwind_register_value(), frame_info::next, and regnum.

Referenced by alpha_register_to_value(), i387_print_float_info(), inline_frame_prev_register(), mep_frame_prev_register(), mips_print_register(), mt_registers_info(), print_gp_register_row(), read_frame_register_unsigned(), read_frame_register_value(), and sh64_do_register().

## ◆ get_frame_sp()

CORE_ADDR get_frame_sp | ( | struct frame_info * | this_frame | ) |

Definition at line 2782 of file frame.c.

References _, gdbarch_sp_regnum(), gdbarch_unwind_sp(), gdbarch_unwind_sp_p(), get_frame_arch(), get_frame_register_unsigned(), internal_error(), and frame_info::next.

Referenced by arc_dummy_id(), bfin_linux_sigframe_init(), call_function_by_hand_dummy(), derive_stack_segment(), m32c_skip_trampoline_code(), mips_linux_n32n64_sigframe_init(), mips_linux_o32_sigframe_init(), or1k_dummy_id(), pending_framepy_str(), ppu2spu_sniffer(), pyuw_sniffer(), and spu2ppu_sniffer().

## ◆ get_frame_type()

enum frame_type get_frame_type | ( | struct frame_info * | frame | ) |

Definition at line 2619 of file frame.c.

References frame_unwind_find_by_frame(), frame_info::prologue_cache, frame_unwind::type, and frame_info::unwind.

Referenced by arm_code_of_frame_writable(), arm_exidx_unwind_sniffer(), arm_linux_sigreturn_return_addr(), bpfinishpy_init(), dwarf2_frame_cfa(), dwarf_expr_reg_to_entry_parameter(), finish_command(), frame_find_by_id(), frame_inlined_callees(), frame_pop(), frame_show_address(), frapy_type(), gdbscm_frame_type(), get_frame_address_in_block(), get_frame_args_address(), get_frame_base_address(), get_frame_locals_address(), get_prev_frame(), get_prev_frame_always_1(), info_frame_command(), inline_frame_sniffer(), normal_stop(), ppu2spu_sniffer(), print_frame_info(), process_event_stop_test(), return_command(), s390_prologue_frame_unwind_cache(), skip_artificial_frames(), skip_tailcall_frames(), and stepped_in_from().

## ◆ get_frame_unwind_stop_reason()

enum unwind_stop_reason get_frame_unwind_stop_reason | ( | struct frame_info * | frame | ) |

Definition at line 2803 of file frame.c.

References gdb_assert, get_prev_frame_always(), frame_info::prev_p, and frame_info::stop_reason.

Referenced by backtrace_command_1(), dwarf2_frame_cfa(), frame_info_to_frame_object(), frapy_unwind_stop_reason(), frscm_scm_from_frame(), gdbscm_frame_unwind_stop_reason(), and info_frame_command().

## ◆ get_next_frame()

struct frame_info* get_next_frame | ( | struct frame_info * | this_frame | ) |

Definition at line 1771 of file frame.c.

References frame_info::level, and frame_info::next.

Referenced by alphanbsd_sigcontext_addr(), arm_exidx_unwind_sniffer(), cache_find(), find_frame_sal(), find_relative_frame(), frame_info_to_frame_object(), frame_inlined_callees(), frame_register_unwind_location(), frame_show_address(), frapy_newer(), frscm_scm_from_frame(), gdbscm_frame_newer(), get_prev_frame(), get_prev_frame_always_1(), info_frame_command(), inline_frame_sniffer(), ppu2spu_sniffer(), record_btrace_frame_sniffer(), record_btrace_tailcall_frame_sniffer(), s390_prologue_frame_unwind_cache(), spu2ppu_sniffer(), tailcall_frame_sniffer(), and tailcall_frame_this_id().

## ◆ get_next_frame_sentinel_okay()

struct frame_info* get_next_frame_sentinel_okay | ( | struct frame_info * | this_frame | ) |

Definition at line 1784 of file frame.c.

References gdb_assert, frame_info::next, and sentinel_frame.

Referenced by default_value_from_register(), frame_unwind_got_optimized(), value_from_register(), and value_of_register_lazy().

## ◆ get_prev_frame()

struct frame_info* get_prev_frame | ( | struct frame_info * | this_frame | ) |

Definition at line 2254 of file frame.c.

References backtrace_limit, backtrace_past_entry, backtrace_past_main, frame_debug_got_null_frame(), gdb_assert, get_frame_id(), get_frame_pc_if_available(), get_frame_type(), get_next_frame(), get_prev_frame_always(), INLINE_FRAME, inside_entry_func(), inside_main_func(), frame_info::level, and NORMAL_FRAME.

Referenced by ada_find_printable_frame(), ada_unhandled_exception_name_addr_from_raise(), arm_linux_copy_svc(), backtrace_command_1(), block_innermost_frame(), bpfinishpy_init(), derive_stack_segment(), dwarf2_frame_cfa(), dwarf_expr_reg_to_entry_parameter(), elf_gnu_ifunc_resolver_stop(), find_frame_addr_in_frame_chain(), find_relative_frame(), finish_command(), follow_static_link(), frame_find_by_id(), frame_info_to_frame_object(), frame_object_to_frame_info(), frapy_older(), frscm_frame_smob_to_frame(), frscm_scm_from_frame(), gdbscm_frame_older(), get_hosting_frame(), get_prev_frame_id_by_id(), info_frame_command(), mi_cmd_stack_info_depth(), mi_cmd_stack_list_args(), mi_cmd_stack_list_frames(), parse_frame_specification(), dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value(), skip_tailcall_frames(), skip_unwritable_frames(), stepped_in_from(), and value_of_dwarf_reg_entry().

## ◆ get_prev_frame_always()

struct frame_info* get_prev_frame_always | ( | struct frame_info * | this_frame | ) |

Definition at line 2097 of file frame.c.

References CATCH, END_CATCH, frame_obstack_zalloc(), get_prev_frame_always_1(), MEMORY_ERROR, RETURN_MASK_ERROR, size, frame_info::stop_reason, frame_info::stop_string, throw_exception(), and TRY.

Referenced by frame_pop(), frame_unwind_caller_id(), get_frame_unwind_stop_reason(), get_prev_frame(), inline_frame_this_id(), and skip_artificial_frames().

## ◆ get_prev_frame_always_1()

static struct frame_info * get_prev_frame_always_1 | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 1940 of file frame.c.

References fprint_frame(), fprintf_unfiltered(), frame_debug, frame_id_inner(), frame_register_unwind_location(), frame_stop_reason_symbol_string(), frame_unwind_find_by_frame(), gdb_assert, gdb_stdlog, gdbarch_pc_regnum(), get_frame_address_in_block(), get_frame_arch(), get_frame_id(), get_frame_type(), get_next_frame(), get_prev_frame_if_no_cycle(), INLINE_FRAME, frame_info::level, lookup_minimal_symbol_by_pc(), lval_memory, lval_register, bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, frame_info::next, NORMAL_FRAME, frame_info::prev, frame_info::prev_p, frame_info::prologue_cache, frame_info::stop_reason, frame_unwind::stop_reason, frame_unwind::type, and frame_info::unwind.

Referenced by get_current_frame(), and get_prev_frame_always().

## ◆ get_prev_frame_id_by_id()

struct frame_id get_prev_frame_id_by_id | ( | struct frame_id | id | ) |

Definition at line 2360 of file frame.c.

References frame_find_by_id(), get_frame_id(), get_prev_frame(), and null_frame_id.

## ◆ get_prev_frame_if_no_cycle()

static struct frame_info* get_prev_frame_if_no_cycle | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 1890 of file frame.c.

References compute_frame_id(), discard_cleanups(), fprint_frame(), fprintf_unfiltered(), frame_debug, frame_stash_add(), gdb_stdlog, get_prev_frame_raw(), frame_info::level, make_cleanup(), frame_info::next, frame_info::prev, remove_prev_frame(), and frame_info::stop_reason.

Referenced by get_prev_frame_always_1().

## ◆ get_prev_frame_raw()

static struct frame_info * get_prev_frame_raw | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 2138 of file frame.c.

References frame_info::aspace, fprint_frame(), fprintf_unfiltered(), frame_debug, FRAME_OBSTACK_ZALLOC, gdb_stdlog, frame_info::level, frame_info::next, frame_info::prev, and frame_info::pspace.

Referenced by get_prev_frame_if_no_cycle().

## ◆ get_selected_frame()

struct frame_info* get_selected_frame | ( | const char * | message | ) |

Definition at line 1638 of file frame.c.

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

Referenced by ada_exceptions_list_1(), bsd_kvm_open(), bsd_kvm_pcb_cmd(), bsd_kvm_proc_cmd(), coerce_pieced_ref(), compile_probe_arg(), compile_to_object(), compute_probe_arg(), convert_one_symbol(), core_open(), deprecated_safe_get_selected_frame(), disassemble_current_function(), do_compile_dwarf_expr_to_c(), down_silently_base(), dwarf2_evaluate_property(), evaluate_subexp_standard(), fetch_probe_arguments(), finish_backward(), finish_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(), info_args_command(), info_common_command(), info_float_command(), info_locals_command(), info_spu_dma_command(), info_spu_event_command(), info_spu_mailbox_command(), info_spu_proxydma_command(), info_spu_signal_command(), info_vector_command(), kill_command(), linux_fork_context(), 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(), mi_user_selected_context_changed(), parse_frame_specification(), pc_prefix(), print_selected_thread_frame(), print_stop_location(), print_thread_info_1(), record_btrace_set_replay(), record_full_goto_entry(), record_full_restore(), registers_info(), restore_selected_frame(), return_command(), save_infcall_control_state(), set_language_command(), show_language_command(), task_command_1(), tfind_1(), tui_horizontal_source_scroll(), tui_refresh_frame_and_register_information(), tui_register_changed(), tui_show_registers(), tui_vertical_source_scroll(), until_break_command(), up_silently_base(), update_watchpoint(), value_of_this(), value_of_variable(), and varobj_create().

## ◆ get_selected_frame_if_set()

struct frame_info* get_selected_frame_if_set | ( | void |  | ) |

Definition at line 1657 of file frame.c.

References selected_frame.

Referenced by block_innermost_frame(), frame_command(), scoped_restore_current_thread::scoped_restore_current_thread(), and select_frame_command().

## ◆ get_stack_frame_id()

struct frame_id get_stack_frame_id | ( | struct frame_info * | next_frame | ) |

Definition at line 549 of file frame.c.

References get_frame_id(), and skip_artificial_frames().

Referenced by bpstat_check_breakpoint_conditions(), elf_gnu_ifunc_resolver_stop(), finish_forward(), handle_signal_stop(), insert_hp_step_resume_breakpoint_at_frame(), process_event_stop_test(), set_step_info(), and until_break_command().

## ◆ has_stack_frames()

int has_stack_frames | ( | void |  | ) |

Definition at line 1609 of file frame.c.

References get_traceframe_number(), inferior_ptid, is_executing(), is_exited(), null_ptid, ptid_equal(), target_has_memory, target_has_registers, and target_has_stack.

Referenced by ada_exceptions_list_1(), check_frame_language_change(), deprecated_safe_get_selected_frame(), dwarf2_evaluate_property(), flush_ea_cache(), get_current_arch(), get_selected_block(), get_selected_frame(), mi_cmd_trace_find(), mi_user_selected_context_changed(), normal_stop(), pc_prefix(), print_selected_thread_frame(), show_language_command(), tfind_1(), tui_refresh_frame_and_register_information(), and varobj_create().

## ◆ inside_entry_func()

static int inside_entry_func | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 2234 of file frame.c.

References entry_point_address_query(), and get_frame_func().

Referenced by get_prev_frame().

## ◆ inside_main_func()

static int inside_main_func | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 2213 of file frame.c.

References BMSYMBOL_VALUE_ADDRESS, current_target, gdbarch_convert_from_func_ptr_addr(), get_frame_arch(), get_frame_func(), lookup_minimal_symbol(), main_name(), bound_minimal_symbol::minsym, and symfile_objfile.

Referenced by get_prev_frame().

## ◆ put_frame_register()

void put_frame_register | ( | struct frame_info * | frame,
|  | int | regnum,
|  | const gdb_byte * | buf
| ) |  |

Definition at line 1334 of file frame.c.

References _, error(), frame_register(), get_current_regcache(), get_frame_arch(), lval_memory, lval_register, regcache_cooked_write(), register_size(), regnum, and write_memory().

Referenced by alpha_value_to_register(), i386_value_to_register(), i387_value_to_register(), ia64_value_to_register(), m68k_value_to_register(), mips_value_to_register(), put_frame_register_bytes(), and rs6000_value_to_register().

## ◆ put_frame_register_bytes()

void put_frame_register_bytes | ( | struct frame_info * | frame,
|  | int | regnum,
|  | CORE_ADDR | offset,
|  | int | len,
|  | const gdb_byte * | myaddr
| ) |  |

Definition at line 1470 of file frame.c.

References frame_unwind_register_value(), gdb_assert, get_frame_arch(), frame_info::next, offset, put_frame_register(), register_size(), regnum, release_value(), value_contents_raw(), value_contents_writeable(), and value_free().

Referenced by mips_value_to_register(), rw_pieced_value(), and value_assign().

## ◆ read_frame_register_unsigned()

int read_frame_register_unsigned | ( | struct frame_info * | frame,
|  | int | regnum,
|  | ULONGEST * | val
| ) |  |

Definition at line 1314 of file frame.c.

References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_value(), register_size(), regnum, size, value_contents(), value_entirely_available(), value_optimized_out(), and VALUE_REGNUM.

Referenced by i387_print_float_info(), and mips_print_float_info().

## ◆ reinit_frame_cache()

void reinit_frame_cache | ( | void |  | ) |

Definition at line 1809 of file frame.c.

References annotate_frames_invalid(), frame_info::base, frame_info::base_cache, frame_unwind::dealloc_cache, fprintf_unfiltered(), frame_cache_obstack, frame_debug, frame_stash_invalidate(), gdb_stdlog, frame_info::prev, frame_info::prologue_cache, select_frame(), sentinel_frame, frame_base::unwind, and frame_info::unwind.

Referenced by add_symbol_file_command(), bsd_kvm_open(), bsd_kvm_pcb_cmd(), bsd_kvm_proc_cmd(), btrace_clear(), core_detach(), core_open(), fork_load_infrun_state(), frame_observer_target_changed(), frame_pop(), gdbpy_invalidate_cached_frames(), generic_mourn_inferior(), handle_inferior_event_1(), jit_reader_load_command(), jit_reader_unload_command(), pop_dummy_frame(), record_full_goto_entry(), record_full_wait_1(), regcache_write_pc(), registers_changed_ptid(), reinit_frame_cache_sfunc(), reload_shared_libraries(), reread_symbols(), set_current_program_space(), skip_inline_frames(), solib_add(), step_into_inline_frame(), switch_to_no_thread(), switch_to_thread(), symbol_file_add_from_memory(), symbol_file_add_main_1(), and tfind_1().

## ◆ remove_prev_frame()

static void remove_prev_frame | ( | void * | arg | ) |
| static

Definition at line 1869 of file frame.c.

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

Referenced by get_prev_frame_if_no_cycle().

## ◆ safe_frame_unwind_memory()

int safe_frame_unwind_memory | ( | struct frame_info * | this_frame,
|  | CORE_ADDR | addr,
|  | gdb_byte * | buf,
|  | int | len
| ) |  |

Definition at line 2681 of file frame.c.

References target_read_memory().

Referenced by amd64_linux_sigtramp_start(), amd64fbsd_sigtramp_p(), amd64obsd_sigtramp_p(), cris_rt_sigtramp_start(), cris_sigtramp_start(), hppa_frame_cache(), i386_linux_rt_sigtramp_start(), i386_linux_sigtramp_start(), i386fbsd_sigtramp_p(), i386obsd_sigtramp_p(), m32r_linux_rt_sigtramp_start(), m32r_linux_sigtramp_start(), m68k_linux_pc_in_sigtramp(), ppcfbsd_sigtramp_frame_cache(), ppcfbsd_sigtramp_frame_sniffer(), ppcobsd_sigtramp_frame_cache(), ppcobsd_sigtramp_frame_sniffer(), rs6000_in_function_epilogue_frame_p(), tilegx_analyze_prologue(), and tramp_frame_start().

## ◆ select_frame()

void select_frame | ( | struct frame_info * | fi | ) |

Definition at line 1677 of file frame.c.

References compunit_language(), current_language, find_pc_compunit_symtab(), get_frame_address_in_block_if_available(), language_defn::la_language, language_mode_auto, language_unknown, selected_frame, and set_language().

Referenced by ada_find_printable_frame(), ada_unhandled_exception_name_addr_from_raise(), bpstat_check_breakpoint_conditions(), check_scope(), down_silently_base(), frame_command(), frapy_select(), gdbscm_frame_select(), get_selected_frame(), mi_cmd_execute(), mi_cmd_trace_frame_collected(), normal_stop(), print_frame_local_vars(), print_it_exception(), reinit_frame_cache(), restore_infcall_control_state(), restore_selected_frame(), return_command(), select_and_print_frame(), select_frame_command(), tdump_command(), up_silently_base(), update_watchpoint(), value_assign(), varobj_create(), and watchpoint_check().

## ◆ set_backtrace_cmd()

static void set_backtrace_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 2908 of file frame.c.

References all_commands, gdb_stdout, help_list(), and set_backtrace_cmdlist.

Referenced by _initialize_frame().

## ◆ show_backtrace_cmd()

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

Definition at line 2915 of file frame.c.

References cmd_show_list(), and show_backtrace_cmdlist.

Referenced by _initialize_frame().

## ◆ show_backtrace_limit()

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

Definition at line 307 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

## ◆ show_backtrace_past_entry()

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 297 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

## ◆ show_backtrace_past_main()

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 286 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

## ◆ show_frame_debug()

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

Definition at line 276 of file frame.c.

References _, and fprintf_filtered().

Referenced by _initialize_frame().

## ◆ skip_artificial_frames()

static struct frame_info* skip_artificial_frames | ( | struct frame_info * | frame | ) |
| static

Definition at line 438 of file frame.c.

References get_frame_type(), get_prev_frame_always(), INLINE_FRAME, and TAILCALL_FRAME.

Referenced by frame_unwind_caller_arch(), frame_unwind_caller_id(), frame_unwind_caller_pc(), and get_stack_frame_id().

## ◆ skip_tailcall_frames()

struct frame_info* skip_tailcall_frames | ( | struct frame_info * | frame | ) |

Definition at line 474 of file frame.c.

References get_frame_type(), get_prev_frame(), and TAILCALL_FRAME.

Referenced by frame_pop(), and skip_finish_frames().

## ◆ skip_unwritable_frames()

struct frame_info* skip_unwritable_frames | ( | struct frame_info * | frame | ) |

Definition at line 459 of file frame.c.

References gdbarch_code_of_frame_writable(), get_frame_arch(), and get_prev_frame().

Referenced by skip_finish_frames().

## ◆ unwind_stop_reason_to_string()

const char* unwind_stop_reason_to_string | ( | enum unwind_stop_reason | reason | ) |

Definition at line 2815 of file frame.c.

References internal_error().

Referenced by frame_stop_reason_string(), gdbpy_frame_stop_reason_string(), and gdbscm_unwind_stop_reason_string().

## Variable Documentation

## ◆ backtrace_limit

unsigned int backtrace_limit = UINT_MAX
| static

Definition at line 305 of file frame.c.

Referenced by _initialize_frame(), and get_prev_frame().

## ◆ backtrace_past_entry

int backtrace_past_entry
| static

Definition at line 295 of file frame.c.

Referenced by _initialize_frame(), and get_prev_frame().

## ◆ backtrace_past_main

int backtrace_past_main
| static

Definition at line 284 of file frame.c.

Referenced by _initialize_frame(), and get_prev_frame().

## ◆ frame_cache_obstack

struct obstack frame_cache_obstack
| static

Definition at line 1549 of file frame.c.

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

## ◆ frame_debug

unsigned int frame_debug

Definition at line 274 of file frame.c.

Referenced by _initialize_frame(), amd64_windows_find_unwind_info(), amd64_windows_frame_decode_insns(), amd64_windows_frame_prev_register(), compute_frame_id(), create_new_frame(), create_sentinel_frame(), frame_debug_got_null_frame(), frame_id_eq(), frame_id_inner(), frame_id_p(), frame_unwind_arch(), frame_unwind_pc(), frame_unwind_register_value(), get_frame_func_if_available(), get_prev_frame_always_1(), get_prev_frame_if_no_cycle(), get_prev_frame_raw(), reinit_frame_cache(), and value_fetch_lazy().

## ◆ frame_stash

htab_t frame_stash
| static

Definition at line 165 of file frame.c.

Referenced by frame_stash_add(), frame_stash_create(), frame_stash_find(), and frame_stash_invalidate().

## ◆ null_frame_id

const struct frame_id null_frame_id = { 0 }

Definition at line 575 of file frame.c.

Referenced by address_from_register(), allocate_piece_closure(), bpfinishpy_init(), clear_proceed_status_thread(), default_value_from_register(), finish_backward(), follow_fork(), frame_id_build(), frame_id_build_special(), frame_id_build_unavailable_stack(), frame_id_build_unavailable_stack_special(), frame_id_build_wild(), frame_unwind_caller_id(), frscm_make_frame_smob(), frscm_scm_from_frame(), get_frame_id(), get_prev_frame_id_by_id(), handle_step_into_function(), new_single_step_breakpoint(), process_event_stop_test(), set_momentary_breakpoint_at_pc(), tfind_1(), until_break_command(), varobj_create(), watch_command_1(), and longjmp_breakpoint::~longjmp_breakpoint().

## ◆ outer_frame_id

const struct frame_id outer_frame_id = { 0, 0, 0, FID_STACK_INVALID, 0, 1, 0 }

Definition at line 577 of file frame.c.

Referenced by amd64obsd_trapframe_cache(), compute_frame_id(), default_frame_unwind_stop_reason(), frame_id_p(), i386obsd_trapframe_cache(), inline_frame_this_id(), and process_event_stop_test().

## ◆ selected_frame

struct frame_info* selected_frame
| static

Definition at line 1606 of file frame.c.

Referenced by gdbpy_lookup_symbol(), gdbscm_lookup_symbol(), get_selected_frame(), get_selected_frame_if_set(), and select_frame().

## ◆ sentinel_frame

struct frame_info* sentinel_frame
| static

Definition at line 53 of file frame.c.

Referenced by frame_find_by_id(), get_current_frame(), get_next_frame_sentinel_okay(), and reinit_frame_cache().

## ◆ sentinel_frame_id

const struct frame_id sentinel_frame_id = { 0, 0, 0, FID_STACK_SENTINEL, 0, 1, 0 }

Definition at line 576 of file frame.c.

Referenced by create_sentinel_frame(), frame_find_by_id(), and sentinel_frame_prev_register().

## ◆ set_backtrace_cmdlist

struct cmd_list_element* set_backtrace_cmdlist
| static

Definition at line 2904 of file frame.c.

Referenced by _initialize_frame(), and set_backtrace_cmd().

## ◆ show_backtrace_cmdlist

struct cmd_list_element* show_backtrace_cmdlist
| static

Definition at line 2905 of file frame.c.

Referenced by _initialize_frame(), and show_backtrace_cmd().