77#define PROC_LOW_ADDR(proc) ((proc)->pdr.adr)
78#define PROC_FRAME_OFFSET(proc) ((proc)->pdr.frameoffset)
79#define PROC_FRAME_REG(proc) ((proc)->pdr.framereg)
80#define PROC_REG_MASK(proc) ((proc)->pdr.regmask)
81#define PROC_FREG_MASK(proc) ((proc)->pdr.fregmask)
82#define PROC_REG_OFFSET(proc) ((proc)->pdr.regoffset)
83#define PROC_FREG_OFFSET(proc) ((proc)->pdr.fregoffset)
84#define PROC_PC_REG(proc) ((proc)->pdr.pcreg)
85#define PROC_LOCALOFF(proc) ((proc)->pdr.localoff)
96 const char *sh_name = NULL;
103 if (startaddr > b->
start ())
119 if (proc_desc->
pdr.pcreg == 0
120 && strcmp (sh_name,
"setjmp") == 0)
123 proc_desc->
pdr.regmask = 0x80000000;
124 proc_desc->
pdr.regoffset = -4;
129 if (proc_desc->
pdr.framereg == -1)
171 return (after_prologue_pc == 0 || pc < after_prologue_pc);
189 void **this_prologue_cache)
194 CORE_ADDR pc, reg_position;
198 if (*this_prologue_cache)
202 *this_prologue_cache = info;
209 info->proc_desc = proc_desc;
210 gdb_assert (proc_desc != NULL);
227 if (mask & (1 << returnreg))
230 mask &= ~(1 << returnreg);
232 info->saved_regs[returnreg].set_addr (reg_position);
236 for (ireg = 0; ireg <= 31; ++ireg)
237 if (mask & (1 << ireg))
239 info->saved_regs[ireg].set_addr (reg_position);
246 for (ireg = 0; ireg <= 31; ++ireg)
247 if (mask & (1 << ireg))
266 void **this_prologue_cache,
279 void **this_prologue_cache,
int regnum)
318 if (proc_desc == NULL)
347 void **this_prologue_cache)
357 void **this_prologue_cache)
367 void **this_prologue_cache)
391 if (proc_desc == NULL)
#define PROC_FREG_OFFSET(proc)
void alpha_mdebug_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static CORE_ADDR alpha_mdebug_after_prologue(CORE_ADDR pc, struct mdebug_extra_func_info *proc_desc)
static int alpha_mdebug_max_frame_size_exceeded(struct mdebug_extra_func_info *proc_desc)
#define PROC_REG_MASK(proc)
static CORE_ADDR alpha_mdebug_frame_args_address(frame_info_ptr this_frame, void **this_prologue_cache)
#define PROC_FREG_MASK(proc)
#define PROC_LOCALOFF(proc)
static CORE_ADDR alpha_mdebug_frame_locals_address(frame_info_ptr this_frame, void **this_prologue_cache)
static const struct frame_base * alpha_mdebug_frame_base_sniffer(frame_info_ptr this_frame)
static CORE_ADDR alpha_mdebug_frame_base_address(frame_info_ptr this_frame, void **this_prologue_cache)
static int alpha_mdebug_frameless(struct mdebug_extra_func_info *proc_desc)
static struct value * alpha_mdebug_frame_prev_register(frame_info_ptr this_frame, void **this_prologue_cache, int regnum)
static int alpha_mdebug_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache)
static void alpha_mdebug_frame_this_id(frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id)
#define PROC_FRAME_OFFSET(proc)
static struct alpha_mdebug_unwind_cache * alpha_mdebug_frame_unwind_cache(frame_info_ptr this_frame, void **this_prologue_cache)
#define PROC_PC_REG(proc)
#define PROC_FRAME_REG(proc)
static const struct frame_unwind alpha_mdebug_frame_unwind
static const struct frame_base alpha_mdebug_frame_base
static int alpha_mdebug_in_prologue(CORE_ADDR pc, struct mdebug_extra_func_info *proc_desc)
static struct mdebug_extra_func_info * find_proc_desc(CORE_ADDR pc)
#define PROC_REG_OFFSET(proc)
#define ALPHA_NUM_ARG_REGS
CORE_ADDR alpha_after_prologue(CORE_ADDR pc)
const struct block * block_for_pc(CORE_ADDR pc)
bool find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr, const struct block **block)
void frame_base_append_sniffer(struct gdbarch *gdbarch, frame_base_sniffer_ftype *sniffer)
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
CORE_ADDR get_frame_func(frame_info_ptr this_frame)
CORE_ADDR get_frame_address_in_block(frame_info_ptr this_frame)
#define FRAME_OBSTACK_ZALLOC(TYPE)
#define MDEBUG_EFI_SYMBOL_NAME
struct mdebug_extra_func_info * proc_desc
trad_frame_saved_reg * saved_regs
const gdb_byte * value_bytes() const
struct block_symbol lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct gdbarch *gdbarch)
struct value * trad_frame_get_prev_register(frame_info_ptr this_frame, trad_frame_saved_reg this_saved_regs[], int regnum)