78 #define PROC_LOW_ADDR(proc) ((proc)->pdr.adr)
79 #define PROC_FRAME_OFFSET(proc) ((proc)->pdr.frameoffset)
80 #define PROC_FRAME_REG(proc) ((proc)->pdr.framereg)
81 #define PROC_REG_MASK(proc) ((proc)->pdr.regmask)
82 #define PROC_FREG_MASK(proc) ((proc)->pdr.fregmask)
83 #define PROC_REG_OFFSET(proc) ((proc)->pdr.regoffset)
84 #define PROC_FREG_OFFSET(proc) ((proc)->pdr.fregoffset)
85 #define PROC_PC_REG(proc) ((proc)->pdr.pcreg)
86 #define PROC_LOCALOFF(proc) ((proc)->pdr.localoff)
97 const char *sh_name = NULL;
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)
198 if (*this_prologue_cache)
199 return *this_prologue_cache;
202 *this_prologue_cache = info;
227 if (mask & (1 << returnreg))
230 mask &= ~(1 << returnreg);
236 for (ireg = 0; ireg <= 31; ++ireg)
237 if (mask & (1 << ireg))
246 for (ireg = 0; ireg <= 31; ++ireg)
247 if (mask & (1 << ireg))
266 void **this_prologue_cache,
277 static struct value *
279 void **this_prologue_cache,
int regnum)
318 if (proc_desc == NULL)
345 void **this_prologue_cache)
355 void **this_prologue_cache)
365 void **this_prologue_cache)
389 if (proc_desc == NULL)
void alpha_mdebug_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define ALPHA_NUM_ARG_REGS
#define PROC_PC_REG(proc)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
CORE_ADDR get_frame_address_in_block(struct frame_info *this_frame)
struct trad_frame_saved_reg * saved_regs
#define MDEBUG_EFI_SYMBOL_NAME
struct value * trad_frame_get_prev_register(struct frame_info *this_frame, struct trad_frame_saved_reg this_saved_regs[], int regnum)
int trad_frame_addr_p(struct trad_frame_saved_reg this_saved_regs[], int regnum)
void trad_frame_set_value(struct trad_frame_saved_reg this_saved_regs[], int regnum, LONGEST val)
static CORE_ADDR alpha_mdebug_frame_args_address(struct frame_info *this_frame, void **this_prologue_cache)
static void alpha_mdebug_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
#define PROC_REG_MASK(proc)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
static int alpha_mdebug_in_prologue(CORE_ADDR pc, struct mdebug_extra_func_info *proc_desc)
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
const struct block * block_for_pc(CORE_ADDR pc)
static int alpha_mdebug_max_frame_size_exceeded(struct mdebug_extra_func_info *proc_desc)
#define FRAME_OBSTACK_ZALLOC(TYPE)
#define PROC_LOCALOFF(proc)
struct mdebug_extra_func_info * proc_desc
static struct value * alpha_mdebug_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
#define PROC_FREG_OFFSET(proc)
static const struct frame_unwind alpha_mdebug_frame_unwind
static CORE_ADDR alpha_mdebug_after_prologue(CORE_ADDR pc, struct mdebug_extra_func_info *proc_desc)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
CORE_ADDR alpha_after_prologue(CORE_ADDR pc)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
static int alpha_mdebug_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
#define PROC_REG_OFFSET(proc)
struct trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct frame_info *this_frame)
static CORE_ADDR alpha_mdebug_frame_base_address(struct frame_info *this_frame, void **this_prologue_cache)
struct symbol * lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
static struct mdebug_extra_func_info * find_proc_desc(CORE_ADDR pc)
void frame_base_append_sniffer(struct gdbarch *gdbarch, frame_base_sniffer_ftype *sniffer)
unsigned long long ULONGEST
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
static int alpha_mdebug_frameless(struct mdebug_extra_func_info *proc_desc)
#define PROC_FRAME_OFFSET(proc)
#define SYMBOL_VALUE_BYTES(symbol)
#define PROC_FRAME_REG(proc)
static struct alpha_mdebug_unwind_cache * alpha_mdebug_frame_unwind_cache(struct frame_info *this_frame, void **this_prologue_cache)
static const struct frame_base alpha_mdebug_frame_base
CORE_ADDR get_frame_func(struct frame_info *this_frame)
#define PROC_FREG_MASK(proc)
static CORE_ADDR alpha_mdebug_frame_locals_address(struct frame_info *this_frame, void **this_prologue_cache)
static const struct frame_base * alpha_mdebug_frame_base_sniffer(struct frame_info *this_frame)