51 #define INSN_OPCODE(insn) ((insn & 0xfc000000) >> 26) 54 #define MEM_RA(insn) ((insn & 0x03e00000) >> 21) 55 #define MEM_RB(insn) ((insn & 0x001f0000) >> 16) 56 #define MEM_DISP(insn) \ 57 (((insn & 0x8000) == 0) ? (insn & 0xffff) : -((-insn) & 0xffff)) 63 #define BR_RA(insn) MEM_RA(insn) 69 #define OPR_FUNCTION(insn) ((insn & 0xfe0) >> 5) 70 #define OPR_HAS_IMMEDIATE(insn) ((insn & 0x1000) == 0x1000) 71 #define OPR_RA(insn) MEM_RA(insn) 72 #define OPR_RC(insn) ((insn & 0x1f)) 73 #define OPR_LIT(insn) ((insn & 0x1fe000) >> 13) 89 static const char *
const register_names[] =
91 "v0",
"t0",
"t1",
"t2",
"t3",
"t4",
"t5",
"t6",
92 "t7",
"s0",
"s1",
"s2",
"s3",
"s4",
"s5",
"fp",
93 "a0",
"a1",
"a2",
"a3",
"a4",
"a5",
"t8",
"t9",
94 "t10",
"t11",
"ra",
"t12",
"at",
"gp",
"sp",
"zero",
95 "f0",
"f1",
"f2",
"f3",
"f4",
"f5",
"f6",
"f7",
96 "f8",
"f9",
"f10",
"f11",
"f12",
"f13",
"f14",
"f15",
97 "f16",
"f17",
"f18",
"f19",
"f20",
"f21",
"f22",
"f23",
98 "f24",
"f25",
"f26",
"f27",
"f28",
"f29",
"f30",
"fpcr",
104 if (regno >= ARRAY_SIZE(register_names))
106 return register_names[regno];
190 ULONGEST frac = (mem >> 0) & 0x7fffff;
193 ULONGEST exp_low = (mem >> 23) & 0x7f;
196 exp = (exp_msb << 10) | exp_low;
208 reg = (sign << 63) | (exp << 52) | (frac << 29);
222 mem = ((
reg >> 32) & 0xc0000000) | ((
reg >> 29) & 0x3fffffff);
243 int *optimizedp,
int *unavailablep)
252 if (*optimizedp || *unavailablep)
311 struct alpha_arg *alpha_args = XALLOCAVEC (
struct alpha_arg, nargs);
312 struct alpha_arg *m_arg;
314 int required_arg_regs;
325 for (i = 0, m_arg = alpha_args; i < nargs; i++, m_arg++)
327 struct value *arg = args[i];
355 if (accumulate_size <
sizeof (arg_reg_buffer)
366 sp = (sp & -16) - 16;
387 sp = (sp & -16) - 16;
402 m_arg->offset = accumulate_size;
403 accumulate_size = (accumulate_size + m_arg->len + 7) & ~7;
409 required_arg_regs = accumulate_size / 8;
414 if (accumulate_size <
sizeof(arg_reg_buffer))
417 accumulate_size -=
sizeof(arg_reg_buffer);
418 sp -= accumulate_size;
424 for (i = nargs; m_arg--, --i >= 0;)
426 const gdb_byte *contents = m_arg->contents;
427 int offset = m_arg->offset;
428 int len = m_arg->len;
431 if (
offset <
sizeof(arg_reg_buffer))
433 if (
offset + len <=
sizeof(arg_reg_buffer))
435 memcpy (arg_reg_buffer +
offset, contents, len);
440 int tlen =
sizeof(arg_reg_buffer) -
offset;
441 memcpy (arg_reg_buffer +
offset, contents, tlen);
453 byte_order, struct_addr);
456 for (i = 0; i < required_arg_regs; i++)
503 _(
"unknown floating point width"));
527 _(
"unknown floating point width"));
568 error (
_(
"Cannot set a 128-bit long double return value."));
572 _(
"unknown floating point width"));
593 error (
_(
"Cannot set a 128-bit long double return value."));
597 _(
"unknown floating point width"));
668 if (sal.
end < func_end)
721 if (post_prologue_pc != 0)
722 return std::max (
pc, post_prologue_pc);
734 if ((inst & 0xffff0000) == 0x27bb0000)
736 if ((inst & 0xffff0000) == 0x23bd0000)
738 if ((inst & 0xffff0000) == 0x23de0000)
740 if ((inst & 0xffe01fff) == 0x43c0153e)
743 if (((inst & 0xfc1f0000) == 0xb41e0000
744 || (inst & 0xfc1f0000) == 0x9c1e0000)
745 && (inst & 0x03e00000) != 0x03e00000)
748 if (inst == 0x47de040f)
750 if (inst == 0x47fe040f)
769 static std::vector<CORE_ADDR>
778 int last_breakpoint = 0;
779 const int atomic_sequence_length = 16;
780 int bc_insn_count = 0;
789 for (insn_count = 0; insn_count < atomic_sequence_length; ++insn_count)
799 int immediate = (insn & 0x001fffff) << 2;
801 immediate = (immediate ^ 0x400000) - 0x400000;
803 if (bc_insn_count >= 1)
832 && (breaks[1] == breaks[0]
833 || (breaks[1] >=
pc && breaks[1] <= closing_insn)))
836 std::vector<CORE_ADDR> next_pcs;
838 for (index = 0; index <= last_breakpoint; index++)
839 next_pcs.push_back (breaks[index]);
883 void **this_prologue_cache)
888 if (*this_prologue_cache)
892 *this_prologue_cache = info;
924 void **this_prologue_cache,
964 static struct value *
966 void **this_prologue_cache,
int regnum)
991 void **this_prologue_cache)
1058 || fence < tdep->vm_min_address)
1071 return last_non_nop;
1090 static int blurb_printed = 0;
1093 warning (
_(
"Hit beginning of text section without finding \ 1096 warning (
_(
"Hit heuristic-fence-post without finding \ 1102 This warning occurs if you are debugging a function without any symbols\n\ 1103 (for example, in a stripped executable). In that case, you may wish to\n\ 1104 increase the size of the search with the `set heuristic-fence-post' command.\n\ 1106 Otherwise, you told GDB there was a function where there isn't one, or\n\ 1107 (more likely) you have encountered a bug in GDB.\n"));
1135 int cur_frame_size = *frame_size;
1136 int nb_of_iterations, reg_index, reg_probe;
1161 reg_index =
MEM_RA (insn);
1162 nb_of_iterations =
MEM_DISP (insn);
1171 reg_probe =
MEM_RA (insn);
1180 ||
MEM_RB (insn) != reg_probe)
1191 ||
OPR_RA (insn) != reg_index
1192 ||
OPR_RC (insn) != reg_index)
1200 ||
MEM_RA (insn) != reg_probe
1201 ||
MEM_RB (insn) != reg_probe)
1203 cur_frame_size -=
MEM_DISP (insn) * nb_of_iterations;
1210 ||
MEM_RA (insn) != reg_index)
1219 ||
MEM_RB (insn) != reg_probe)
1224 *frame_size = cur_frame_size;
1229 void **this_prologue_cache,
1238 if (*this_prologue_cache)
1242 *this_prologue_cache = info;
1265 if ((word & 0xffff0000) == 0x23de0000)
1271 if (frame_size == 0)
1272 frame_size = (-word) & 0xffff;
1282 else if ((word & 0xfc1f0000) == 0xb41e0000)
1284 reg = (word & 0x03e00000) >> 21;
1338 else if ((word & 0xffe0ffff) == 0x6be08001)
1340 else if (word == 0x47de040f)
1342 else if (word == 0x47fe040f)
1352 while (cur_pc < (limit_pc + 80) && cur_pc < (
start_pc + 80))
1356 if ((word & 0xfc1f0000) == 0xb41e0000)
1358 reg = (word & 0x03e00000) >> 21;
1367 else if ((word & 0xffe0ffff) == 0x6be08001)
1384 info->
vfp = val + frame_size;
1405 void **this_prologue_cache,
1416 static struct value *
1418 void **this_prologue_cache,
int regnum)
1443 void **this_prologue_cache)
1497 const void *r0_r30,
const void *pc,
const void *unique)
1502 for (i = 0; i < 31; ++i)
1503 if (regno == i || regno == -1)
1522 int regno,
void *r0_r30,
void *pc,
void *unique)
1527 for (i = 0; i < 31; ++i)
1528 if (regno == i || regno == -1)
1540 const void *f0_f30,
const void *fpcr)
1546 if (regno == i || regno == -1)
1556 int regno,
void *f0_f30,
void *fpcr)
1562 if (regno == i || regno == -1)
1581 return ((
reg & zero_mask) == 0);
1592 return ((
reg & sign_mask) != 0);
1613 op = (insn >> 26) & 0x3f;
1622 if ((op & 0x30) == 0x30)
1630 offset = (insn & 0x001fffff);
1638 regno = (insn >> 21) & 0x1f;
1721 std::vector<CORE_ADDR>
1728 std::vector<CORE_ADDR> next_pcs
1730 if (!next_pcs.empty ())
1823 alpha_breakpoint::kind_from_pc);
1825 alpha_breakpoint::bp_from_kind);
1871 Set the distance searched for the start of a function."),
_(
"\ 1872 Show the distance searched for the start of a function."),
_(
"\ 1873 If you are debugging a stripped executable, GDB needs to search through the\n\ 1874 program for the start of a function. This command sets the distance of the\n\ 1875 search. The only need to set it is when debugging a stripped executable."),
void set_gdbarch_num_regs(struct gdbarch *gdbarch, int num_regs)
void set_gdbarch_double_bit(struct gdbarch *gdbarch, int double_bit)
void set_gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
void set_gdbarch_value_to_register(struct gdbarch *gdbarch, gdbarch_value_to_register_ftype value_to_register)
#define ALPHA_NUM_ARG_REGS
ULONGEST regcache_raw_get_unsigned(struct regcache *regcache, int regnum)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
void set_gdbarch_get_longjmp_target(struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype get_longjmp_target)
CORE_ADDR sigcontext_addr
static void alpha_extract_return_value(struct type *valtype, struct regcache *regcache, gdb_byte *valbuf)
struct type * builtin_func_ptr
void set_gdbarch_float_bit(struct gdbarch *gdbarch, int float_bit)
CORE_ADDR get_frame_pc(struct frame_info *frame)
void set_gdbarch_fp0_regnum(struct gdbarch *gdbarch, int fp0_regnum)
void alpha_supply_int_regs(struct regcache *regcache, int regno, const void *r0_r30, const void *pc, const void *unique)
void gdbarch_init_osabi(struct gdbarch_info info, struct gdbarch *gdbarch)
void alpha_fill_int_regs(const struct regcache *regcache, int regno, void *r0_r30, void *pc, void *unique)
int(* return_in_memory)(struct type *type)
static const struct frame_base alpha_heuristic_frame_base
struct value * trad_frame_get_prev_register(struct frame_info *this_frame, struct trad_frame_saved_reg this_saved_regs[], int regnum)
static struct gdbarch * alpha_gdbarch_init(struct gdbarch_info info, struct gdbarch_list *arches)
void set_gdbarch_wchar_bit(struct gdbarch *gdbarch, int wchar_bit)
int trad_frame_addr_p(struct trad_frame_saved_reg this_saved_regs[], int regnum)
static int alpha_return_in_memory_always(struct type *type)
struct value * frame_unwind_got_memory(struct frame_info *frame, int regnum, CORE_ADDR addr)
LONGEST(* dynamic_sigtramp_offset)(struct gdbarch *, CORE_ADDR)
std::vector< CORE_ADDR > alpha_software_single_step(struct regcache *regcache)
static int alpha_cannot_fetch_register(struct gdbarch *gdbarch, int regno)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype skip_trampoline_code)
void warning(const char *fmt,...)
void trad_frame_set_value(struct trad_frame_saved_reg this_saved_regs[], int regnum, LONGEST val)
struct gdbarch_tdep * tdep
static struct value * alpha_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
static CORE_ADDR alpha_sigtramp_register_address(struct gdbarch *gdbarch, CORE_ADDR sigcontext_addr, int regnum)
ULONGEST frame_unwind_register_unsigned(struct frame_info *frame, int regnum)
void regcache_cooked_write_signed(struct regcache *regcache, int regnum, LONGEST val)
void set_gdbarch_short_bit(struct gdbarch *gdbarch, int short_bit)
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
void alpha_dwarf2_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void internal_error(const char *file, int line, const char *fmt,...)
unsigned int alpha_read_insn(struct gdbarch *gdbarch, CORE_ADDR pc)
static CORE_ADDR alpha_skip_prologue(struct gdbarch *gdbarch, CORE_ADDR pc)
static CORE_ADDR alpha_next_pc(struct regcache *regcache, CORE_ADDR pc)
void set_gdbarch_register_reggroup_p(struct gdbarch *gdbarch, gdbarch_register_reggroup_p_ftype register_reggroup_p)
#define INSN_OPCODE(insn)
void value_free(struct value *val)
static void alpha_heuristic_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
CORE_ADDR(* sigcontext_addr)(struct frame_info *)
struct trad_frame_saved_reg * saved_regs
struct gdbarch_list * gdbarch_list_lookup_by_info(struct gdbarch_list *arches, const struct gdbarch_info *info)
struct reggroup *const restore_reggroup
struct reggroup *const all_reggroup
static const int lda_opcode
ULONGEST get_frame_memory_unsigned(struct frame_info *this_frame, CORE_ADDR addr, int len)
static void alpha_sts(struct gdbarch *gdbarch, void *out, const void *in)
static int heuristic_fence_post
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
static const int stq_opcode
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
struct type * builtin_int32
static struct type * alpha_register_type(struct gdbarch *gdbarch, int regno)
void set_gdbarch_wchar_signed(struct gdbarch *gdbarch, int wchar_signed)
#define FRAME_OBSTACK_ZALLOC(TYPE)
void printf_filtered(const char *format,...)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
static void alpha_lds(struct gdbarch *gdbarch, void *out, const void *in)
#define ALPHA_UNIQUE_REGNUM
void gdbarch_register(enum bfd_architecture bfd_architecture, gdbarch_init_ftype *init, gdbarch_dump_tdep_ftype *dump_tdep)
static const int bne_opcode
void memory_error(enum target_xfer_status err, CORE_ADDR memaddr)
struct reggroup *const float_reggroup
static CORE_ADDR alpha_unwind_pc(struct gdbarch *gdbarch, struct frame_info *next_frame)
void frame_base_set_default(struct gdbarch *gdbarch, const struct frame_base *default_base)
struct cmd_list_element * setlist
static void alpha_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
struct value * get_frame_register_value(struct frame_info *frame, int regnum)
LONGEST regcache_raw_get_signed(struct regcache *regcache, int regnum)
CORE_ADDR alpha_after_prologue(CORE_ADDR pc)
void set_gdbarch_register_type(struct gdbarch *gdbarch, gdbarch_register_type_ftype register_type)
struct type * check_typedef(struct type *type)
const struct frame_base * dwarf2_frame_base_sniffer(struct frame_info *this_frame)
const gdb_byte * value_contents(struct value *value)
struct reggroup *const general_reggroup
static CORE_ADDR alpha_heuristic_proc_start(struct gdbarch *gdbarch, CORE_ADDR pc)
void _initialize_alpha_tdep(void)
static int alpha_cannot_store_register(struct gdbarch *gdbarch, int regno)
void alpha_fill_fp_regs(const struct regcache *regcache, int regno, void *f0_f30, void *fpcr)
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
CORE_ADDR find_solib_trampoline_target(struct frame_info *frame, CORE_ADDR pc)
static ULONGEST extract_unsigned_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
enum register_status regcache_cooked_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
struct reggroup *const system_reggroup
void set_gdbarch_sp_regnum(struct gdbarch *gdbarch, int sp_regnum)
void add_setshow_zinteger_cmd(const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
void set_gdbarch_decr_pc_after_break(struct gdbarch *gdbarch, CORE_ADDR decr_pc_after_break)
void set_gdbarch_dummy_id(struct gdbarch *gdbarch, gdbarch_dummy_id_ftype dummy_id)
struct cmd_list_element * showlist
const gdb_byte * value_contents_all(struct value *value)
static int alpha_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static std::vector< CORE_ADDR > alpha_deal_with_atomic_sequence(struct gdbarch *gdbarch, CORE_ADDR pc)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
#define OPR_FUNCTION(insn)
void set_gdbarch_cannot_store_register(struct gdbarch *gdbarch, gdbarch_cannot_store_register_ftype cannot_store_register)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
#define ALPHA_GCC_FP_REGNUM
static enum return_value_convention alpha_return_value(struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
void set_gdbarch_register_to_value(struct gdbarch *gdbarch, gdbarch_register_to_value_ftype register_to_value)
static const int subq_function
void set_gdbarch_unwind_pc(struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype unwind_pc)
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
#define ALPHA_FPCR_REGNUM
static struct frame_id alpha_dummy_id(struct gdbarch *gdbarch, struct frame_info *this_frame)
constexpr gdb_byte alpha_break_insn[]
const char * gdbarch_register_name(struct gdbarch *gdbarch, int regnr)
static struct alpha_heuristic_unwind_cache * alpha_heuristic_frame_unwind_cache(struct frame_info *this_frame, void **this_prologue_cache, CORE_ADDR start_pc)
struct value * value_cast(struct type *type, struct value *arg2)
static const int stl_c_opcode
void read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
static const struct frame_unwind alpha_sigtramp_frame_unwind
static struct alpha_sigtramp_unwind_cache * alpha_sigtramp_frame_unwind_cache(struct frame_info *this_frame, void **this_prologue_cache)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
static void alpha_value_to_register(struct frame_info *frame, int regnum, struct type *valtype, const gdb_byte *in)
static void reinit_frame_cache_sfunc(const char *args, int from_tty, struct cmd_list_element *c)
void set_gdbarch_breakpoint_kind_from_pc(struct gdbarch *gdbarch, gdbarch_breakpoint_kind_from_pc_ftype breakpoint_kind_from_pc)
struct trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct gdbarch *gdbarch)
void set_gdbarch_long_long_bit(struct gdbarch *gdbarch, int long_long_bit)
LONGEST unpack_long(struct type *type, const gdb_byte *valaddr)
void put_frame_register(struct frame_info *frame, int regnum, const gdb_byte *buf)
#define ALPHA_ZERO_REGNUM
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype software_single_step)
int core_addr_lessthan(CORE_ADDR lhs, CORE_ADDR rhs)
#define OPR_HAS_IMMEDIATE(insn)
int value_entirely_available(struct value *value)
struct value * value_from_pointer(struct type *type, CORE_ADDR addr)
int value_optimized_out(struct value *value)
struct type * builtin_double
static const struct frame_unwind alpha_heuristic_frame_unwind
void set_gdbarch_convert_register_p(struct gdbarch *gdbarch, gdbarch_convert_register_p_ftype convert_register_p)
static int alpha_register_reggroup_p(struct gdbarch *gdbarch, int regnum, struct reggroup *group)
int gdbarch_fp0_regnum(struct gdbarch *gdbarch)
#define TYPE_CODE(thistype)
struct value * frame_unwind_got_register(struct frame_info *frame, int regnum, int new_regnum)
void regcache_cooked_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
static int alpha_get_longjmp_target(struct frame_info *frame, CORE_ADDR *pc)
CORE_ADDR regcache_read_pc(struct regcache *regcache)
CORE_ADDR find_function_addr(struct value *function, struct type **retval_type)
struct type * builtin_data_ptr
void set_gdbarch_int_bit(struct gdbarch *gdbarch, int int_bit)
static CORE_ADDR alpha_push_dummy_call(struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
#define ALPHA_FPA0_REGNUM
void dwarf2_append_unwinders(struct gdbarch *gdbarch)
enum register_status regcache_cooked_read(struct regcache *regcache, int regnum, gdb_byte *buf)
static void alpha_store_return_value(struct type *valtype, struct regcache *regcache, const gdb_byte *valbuf)
static const int subq_opcode
struct inferior * current_inferior(void)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
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)
void release_value(struct value *val)
int register_size(struct gdbarch *gdbarch, int regnum)
void set_gdbarch_long_double_bit(struct gdbarch *gdbarch, int long_double_bit)
struct type * value_type(const struct value *value)
const struct frame_base * base
struct type * builtin_int64
typedef BP_MANIPULATION(alpha_break_insn)
void set_gdbarch_long_bit(struct gdbarch *gdbarch, int long_bit)
void set_gdbarch_return_value(struct gdbarch *gdbarch, gdbarch_return_value_ftype return_value)
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
void set_gdbarch_cannot_step_breakpoint(struct gdbarch *gdbarch, int cannot_step_breakpoint)
static int fp_register_sign_bit(LONGEST reg)
struct reggroup *const save_reggroup
#define TYPE_LENGTH(thistype)
static const int br_opcode
static CORE_ADDR alpha_heuristic_frame_base_address(struct frame_info *this_frame, void **this_prologue_cache)
void set_gdbarch_ptr_bit(struct gdbarch *gdbarch, int ptr_bit)
static const int stq_c_opcode
enum register_status regcache_raw_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
void set_gdbarch_push_dummy_call(struct gdbarch *gdbarch, gdbarch_push_dummy_call_ftype push_dummy_call)
void reinit_frame_cache(void)
CORE_ADDR get_pc_function_start(CORE_ADDR pc)
void alpha_supply_fp_regs(struct regcache *regcache, int regno, const void *f0_f30, const void *fpcr)
void set_gdbarch_sw_breakpoint_from_kind(struct gdbarch *gdbarch, gdbarch_sw_breakpoint_from_kind_ftype sw_breakpoint_from_kind)
#define ALPHA_REGISTER_SIZE
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
void set_gdbarch_skip_prologue(struct gdbarch *gdbarch, gdbarch_skip_prologue_ftype skip_prologue)
static const int ldl_l_opcode
enum bfd_endian byte_order
void set_gdbarch_pc_regnum(struct gdbarch *gdbarch, int pc_regnum)
void set_gdbarch_register_name(struct gdbarch *gdbarch, gdbarch_register_name_ftype register_name)
CORE_ADDR get_frame_func(struct frame_info *this_frame)
void error(const char *fmt,...)
static int fp_register_zero_p(LONGEST reg)
static const int ldq_l_opcode
struct gdbarch * gdbarch_alloc(const struct gdbarch_info *info, struct gdbarch_tdep *tdep)
static struct value * alpha_heuristic_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
void set_gdbarch_inner_than(struct gdbarch *gdbarch, gdbarch_inner_than_ftype inner_than)
static int alpha_register_to_value(struct frame_info *frame, int regnum, struct type *valtype, gdb_byte *out, int *optimizedp, int *unavailablep)
struct type * lookup_pointer_type(struct type *type)
static const char * alpha_register_name(struct gdbarch *gdbarch, int regno)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
void regcache_cooked_write(struct regcache *regcache, int regnum, const gdb_byte *buf)
static int alpha_convert_register_p(struct gdbarch *gdbarch, int regno, struct type *type)
static void store_unsigned_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val)
static void alpha_heuristic_analyze_probing_loop(struct gdbarch *gdbarch, CORE_ADDR *pc, int *frame_size)