35 #define MN10300_ELF_NGREG 28
36 #define MN10300_ELF_NFPREG 32
49 #define MN10300_ELF_GREGSET_T_REG_INDEX_A3 0
50 #define MN10300_ELF_GREGSET_T_REG_INDEX_A2 1
51 #define MN10300_ELF_GREGSET_T_REG_INDEX_D3 2
52 #define MN10300_ELF_GREGSET_T_REG_INDEX_D2 3
53 #define MN10300_ELF_GREGSET_T_REG_INDEX_MCVF 4
54 #define MN10300_ELF_GREGSET_T_REG_INDEX_MCRL 5
55 #define MN10300_ELF_GREGSET_T_REG_INDEX_MCRH 6
56 #define MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ 7
57 #define MN10300_ELF_GREGSET_T_REG_INDEX_E1 8
58 #define MN10300_ELF_GREGSET_T_REG_INDEX_E0 9
59 #define MN10300_ELF_GREGSET_T_REG_INDEX_E7 10
60 #define MN10300_ELF_GREGSET_T_REG_INDEX_E6 11
61 #define MN10300_ELF_GREGSET_T_REG_INDEX_E5 12
62 #define MN10300_ELF_GREGSET_T_REG_INDEX_E4 13
63 #define MN10300_ELF_GREGSET_T_REG_INDEX_E3 14
64 #define MN10300_ELF_GREGSET_T_REG_INDEX_E2 15
65 #define MN10300_ELF_GREGSET_T_REG_INDEX_SP 16
66 #define MN10300_ELF_GREGSET_T_REG_INDEX_LAR 17
67 #define MN10300_ELF_GREGSET_T_REG_INDEX_LIR 18
68 #define MN10300_ELF_GREGSET_T_REG_INDEX_MDR 19
69 #define MN10300_ELF_GREGSET_T_REG_INDEX_A1 20
70 #define MN10300_ELF_GREGSET_T_REG_INDEX_A0 21
71 #define MN10300_ELF_GREGSET_T_REG_INDEX_D1 22
72 #define MN10300_ELF_GREGSET_T_REG_INDEX_D0 23
73 #define MN10300_ELF_GREGSET_T_REG_INDEX_ORIG_D0 24
74 #define MN10300_ELF_GREGSET_T_REG_INDEX_EPSW 25
75 #define MN10300_ELF_GREGSET_T_REG_INDEX_PC 26
87 int regnum,
const void *gregs,
size_t len)
244 int regnum,
const void *fpregs,
size_t len)
450 static const struct regset am33_gregset =
455 static const struct regset am33_fpregset =
588 #define AM33_SIGCONTEXT_D0 0
589 #define AM33_SIGCONTEXT_D1 4
590 #define AM33_SIGCONTEXT_D2 8
591 #define AM33_SIGCONTEXT_D3 12
592 #define AM33_SIGCONTEXT_A0 16
593 #define AM33_SIGCONTEXT_A1 20
594 #define AM33_SIGCONTEXT_A2 24
595 #define AM33_SIGCONTEXT_A3 28
596 #define AM33_SIGCONTEXT_E0 32
597 #define AM33_SIGCONTEXT_E1 36
598 #define AM33_SIGCONTEXT_E2 40
599 #define AM33_SIGCONTEXT_E3 44
600 #define AM33_SIGCONTEXT_E4 48
601 #define AM33_SIGCONTEXT_E5 52
602 #define AM33_SIGCONTEXT_E6 56
603 #define AM33_SIGCONTEXT_E7 60
604 #define AM33_SIGCONTEXT_LAR 64
605 #define AM33_SIGCONTEXT_LIR 68
606 #define AM33_SIGCONTEXT_MDR 72
607 #define AM33_SIGCONTEXT_MCVF 76
608 #define AM33_SIGCONTEXT_MCRL 80
609 #define AM33_SIGCONTEXT_MCRH 84
610 #define AM33_SIGCONTEXT_MDRQ 88
611 #define AM33_SIGCONTEXT_SP 92
612 #define AM33_SIGCONTEXT_EPSW 96
613 #define AM33_SIGCONTEXT_PC 100
614 #define AM33_SIGCONTEXT_FPUCONTEXT 104
627 if (
self == &am33_linux_sigframe)
699 for (i = 0; i < 32; i++)
#define MN10300_ELF_NGREG
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
#define AM33_SIGCONTEXT_E6
#define TRAMP_SENTINEL_INSN
mn10300_elf_fpreg_t fpregs[MN10300_ELF_NFPREG]
#define AM33_SIGCONTEXT_D3
#define AM33_SIGCONTEXT_E0
#define MN10300_ELF_GREGSET_T_REG_INDEX_PC
#define AM33_SIGCONTEXT_D0
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
#define MN10300_ELF_GREGSET_T_REG_INDEX_E2
#define AM33_SIGCONTEXT_E4
#define AM33_SIGCONTEXT_A2
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define MN10300_ELF_GREGSET_T_REG_INDEX_SP
struct link_map_offsets * svr4_ilp32_fetch_link_map_offsets(void)
#define AM33_SIGCONTEXT_SP
#define AM33_SIGCONTEXT_E3
ULONGEST get_frame_memory_unsigned(struct frame_info *this_frame, CORE_ADDR addr, int len)
#define MN10300_ELF_GREGSET_T_REG_INDEX_E1
#define AM33_SIGCONTEXT_A0
#define MN10300_ELF_GREGSET_T_REG_INDEX_E7
static void am33_linux_init_osabi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define AM33_SIGCONTEXT_D2
#define MN10300_ELF_GREGSET_T_REG_INDEX_D2
#define AM33_SIGCONTEXT_A3
#define MN10300_ELF_NFPREG
#define AM33_SIGCONTEXT_E7
void initialize_file_ftype(void)
static void am33_collect_gregset_method(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
#define MN10300_ELF_GREGSET_T_REG_INDEX_D1
#define AM33_SIGCONTEXT_LIR
mn10300_elf_greg_t mn10300_elf_gregset_t[MN10300_ELF_NGREG]
initialize_file_ftype _initialize_mn10300_linux_tdep
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
static void am33_linux_sigframe_cache_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static void am33_collect_fpregset_method(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
#define MN10300_ELF_GREGSET_T_REG_INDEX_MDR
#define AM33_SIGCONTEXT_A1
void( iterate_over_regset_sections_cb)(const char *sect_name, int size, const struct regset *regset, const char *human_name, void *cb_data)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
#define AM33_SIGCONTEXT_E1
#define AM33_SIGCONTEXT_MDRQ
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRH
#define AM33_SIGCONTEXT_MDR
#define AM33_SIGCONTEXT_LAR
#define AM33_SIGCONTEXT_MCVF
#define AM33_SIGCONTEXT_D1
gdb_byte mn10300_elf_fpreg_t[4]
#define MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ
#define MN10300_ELF_GREGSET_T_REG_INDEX_D0
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCVF
#define MN10300_ELF_GREGSET_T_REG_INDEX_A0
#define AM33_SIGCONTEXT_E5
#define AM33_SIGCONTEXT_PC
#define AM33_SIGCONTEXT_E2
#define MN10300_ELF_GREGSET_T_REG_INDEX_LIR
#define MN10300_ELF_GREGSET_T_REG_INDEX_E3
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define MN10300_ELF_GREGSET_T_REG_INDEX_LAR
#define MN10300_ELF_GREGSET_T_REG_INDEX_A3
#define MN10300_ELF_GREGSET_T_REG_INDEX_A2
#define AM33_SIGCONTEXT_MCRL
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
#define AM33_SIGCONTEXT_EPSW
static void am33_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
#define MN10300_ELF_GREGSET_T_REG_INDEX_E4
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
#define MN10300_ELF_GREGSET_T_REG_INDEX_A1
#define MN10300_ELF_GREGSET_T_REG_INDEX_E0
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
#define MN10300_ELF_GREGSET_T_REG_INDEX_E6
static void am33_supply_gregset_method(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
gdb_byte mn10300_elf_greg_t[4]
static void am33_supply_fpregset_method(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRL
#define AM33_SIGCONTEXT_FPUCONTEXT
#define MN10300_ELF_GREGSET_T_REG_INDEX_D3
#define MN10300_ELF_GREGSET_T_REG_INDEX_E5
#define MN10300_ELF_GREGSET_T_REG_INDEX_EPSW
const ULONGEST const LONGEST len