92 #define MIPS_LINUX_JB_ELEMENT_SIZE 4 93 #define MIPS_LINUX_JB_PC 0 161 int regnum,
const void *gregs,
size_t len)
182 for (regi = 1; regi < 32; regi++)
194 if (regno > 0 && regno < 32)
221 dst = regp + regaddr;
229 int regnum,
void *gregs,
size_t len)
245 for (regi = 0; regi < 32; regi++)
262 int regnum,
const void *gregs,
size_t len)
287 to = (
char *) (*fpregsetp + 32);
290 else if (regno == -1)
294 for (regi = 0; regi < 32; regi++)
305 int regnum,
void *gregs,
size_t len)
322 #define MIPS64_LINUX_JB_PC 0 405 int regnum,
const void *gregs,
size_t len)
426 for (regi = 1; regi < 32; regi++)
439 if (regno > 0 && regno < 32)
461 dst = regp + regaddr;
469 int regnum,
void *gregs,
size_t len)
488 for (regi = 0; regi < 32; regi++)
491 = (
const gdb_byte *) (*fpregsetp + (regi & ~1));
499 for (regi = 0; regi < 32; regi++)
502 (
const char *) (*fpregsetp + regi));
505 (
const gdb_byte *) (*fpregsetp + 32));
512 (
const gdb_byte *) (*fpregsetp + 32) + 4);
518 int regnum,
const void *gregs,
size_t len)
544 to = (
gdb_byte *) (*fpregsetp + (regi & ~1));
551 to = (
gdb_byte *) (*fpregsetp + regno
558 to = (
gdb_byte *) (*fpregsetp + 32);
563 to = (
gdb_byte *) (*fpregsetp + 32) + 4;
566 else if (regno == -1)
570 for (regi = 0; regi < 32; regi++)
583 int regnum,
void *gregs,
size_t len)
637 asection *section = bfd_get_section_by_name (abfd,
".reg");
641 switch (bfd_section_size (abfd, section))
712 if (insn != 0x03e0782d || insn != 0x03e07825)
719 if (insn != 0x03e07821 || insn != 0x03e07825)
726 if (insn != 0x0320f809)
733 if ((insn & 0xffff0000) != 0x64180000)
739 if ((insn & 0xffff0000) != 0x24180000)
811 #define MIPS_NR_LINUX 4000 812 #define MIPS_NR_N64_LINUX 5000 813 #define MIPS_NR_N32_LINUX 6000 815 #define MIPS_NR_sigreturn MIPS_NR_LINUX + 119 816 #define MIPS_NR_rt_sigreturn MIPS_NR_LINUX + 193 817 #define MIPS_NR_N64_rt_sigreturn MIPS_NR_N64_LINUX + 211 818 #define MIPS_NR_N32_rt_sigreturn MIPS_NR_N32_LINUX + 211 820 #define MIPS_INST_LI_V0_SIGRETURN 0x24020000 + MIPS_NR_sigreturn 821 #define MIPS_INST_LI_V0_RT_SIGRETURN 0x24020000 + MIPS_NR_rt_sigreturn 822 #define MIPS_INST_LI_V0_N64_RT_SIGRETURN 0x24020000 + MIPS_NR_N64_rt_sigreturn 823 #define MIPS_INST_LI_V0_N32_RT_SIGRETURN 0x24020000 + MIPS_NR_N32_rt_sigreturn 824 #define MIPS_INST_SYSCALL 0x0000000c 826 #define MICROMIPS_INST_LI_V0 0x3040 827 #define MICROMIPS_INST_POOL32A 0x0000 828 #define MICROMIPS_INST_SYSCALL 0x8b7c 1010 #define SIGFRAME_SIGCONTEXT_OFFSET (6 * 4) 1012 #define RTSIGFRAME_SIGINFO_SIZE 128 1013 #define STACK_T_SIZE (3 * 4) 1014 #define UCONTEXT_SIGCONTEXT_OFFSET (2 * 4 + STACK_T_SIZE + 4) 1015 #define RTSIGFRAME_SIGCONTEXT_OFFSET (SIGFRAME_SIGCONTEXT_OFFSET \ 1016 + RTSIGFRAME_SIGINFO_SIZE \ 1017 + UCONTEXT_SIGCONTEXT_OFFSET) 1019 #define SIGCONTEXT_PC (1 * 8) 1020 #define SIGCONTEXT_REGS (2 * 8) 1021 #define SIGCONTEXT_FPREGS (34 * 8) 1022 #define SIGCONTEXT_FPCSR (66 * 8 + 4) 1023 #define SIGCONTEXT_DSPCTL (68 * 8 + 0) 1024 #define SIGCONTEXT_HI (69 * 8) 1025 #define SIGCONTEXT_LO (70 * 8) 1026 #define SIGCONTEXT_CAUSE (71 * 8 + 0) 1027 #define SIGCONTEXT_BADVADDR (71 * 8 + 4) 1028 #define SIGCONTEXT_HI1 (71 * 8 + 0) 1029 #define SIGCONTEXT_LO1 (71 * 8 + 4) 1030 #define SIGCONTEXT_HI2 (72 * 8 + 0) 1031 #define SIGCONTEXT_LO2 (72 * 8 + 4) 1032 #define SIGCONTEXT_HI3 (73 * 8 + 0) 1033 #define SIGCONTEXT_LO3 (73 * 8 + 4) 1035 #define SIGCONTEXT_REG_SIZE 8 1062 regs_base = sigcontext_base + 4;
1064 regs_base = sigcontext_base;
1072 for (ireg = 1; ireg < 32; ireg++)
1087 for (ireg = 0; ireg < 32; ireg++)
1213 #define N32_STACK_T_SIZE STACK_T_SIZE 1214 #define N64_STACK_T_SIZE (2 * 8 + 4) 1215 #define N32_UCONTEXT_SIGCONTEXT_OFFSET (2 * 4 + N32_STACK_T_SIZE + 4) 1216 #define N64_UCONTEXT_SIGCONTEXT_OFFSET (2 * 8 + N64_STACK_T_SIZE + 4) 1217 #define N32_SIGFRAME_SIGCONTEXT_OFFSET (SIGFRAME_SIGCONTEXT_OFFSET \ 1218 + RTSIGFRAME_SIGINFO_SIZE \ 1219 + N32_UCONTEXT_SIGCONTEXT_OFFSET) 1220 #define N64_SIGFRAME_SIGCONTEXT_OFFSET (SIGFRAME_SIGCONTEXT_OFFSET \ 1221 + RTSIGFRAME_SIGINFO_SIZE \ 1222 + N64_UCONTEXT_SIGCONTEXT_OFFSET) 1224 #define N64_SIGCONTEXT_REGS (0 * 8) 1225 #define N64_SIGCONTEXT_FPREGS (32 * 8) 1226 #define N64_SIGCONTEXT_HI (64 * 8) 1227 #define N64_SIGCONTEXT_HI1 (65 * 8) 1228 #define N64_SIGCONTEXT_HI2 (66 * 8) 1229 #define N64_SIGCONTEXT_HI3 (67 * 8) 1230 #define N64_SIGCONTEXT_LO (68 * 8) 1231 #define N64_SIGCONTEXT_LO1 (69 * 8) 1232 #define N64_SIGCONTEXT_LO2 (70 * 8) 1233 #define N64_SIGCONTEXT_LO3 (71 * 8) 1234 #define N64_SIGCONTEXT_PC (72 * 8) 1235 #define N64_SIGCONTEXT_FPCSR (73 * 8 + 0) 1236 #define N64_SIGCONTEXT_DSPCTL (74 * 8 + 0) 1238 #define N64_SIGCONTEXT_REG_SIZE 8 1264 for (ireg = 1; ireg < 32; ireg++)
1271 for (ireg = 0; ireg < 32; ireg++)
1435 enum gdb_signal signal)
1439 case GDB_SIGNAL_EMT:
1442 case GDB_SIGNAL_BUS:
1445 case GDB_SIGNAL_SYS:
1448 case GDB_SIGNAL_USR1:
1451 case GDB_SIGNAL_USR2:
1454 case GDB_SIGNAL_CHLD:
1457 case GDB_SIGNAL_PWR:
1460 case GDB_SIGNAL_WINCH:
1463 case GDB_SIGNAL_URG:
1469 case GDB_SIGNAL_POLL:
1472 case GDB_SIGNAL_STOP:
1475 case GDB_SIGNAL_TSTP:
1478 case GDB_SIGNAL_CONT:
1481 case GDB_SIGNAL_TTIN:
1484 case GDB_SIGNAL_TTOU:
1487 case GDB_SIGNAL_VTALRM:
1490 case GDB_SIGNAL_PROF:
1493 case GDB_SIGNAL_XCPU:
1496 case GDB_SIGNAL_XFSZ:
1501 case GDB_SIGNAL_REALTIME_32:
1505 if (signal >= GDB_SIGNAL_REALTIME_33
1506 && signal <= GDB_SIGNAL_REALTIME_63)
1508 int offset = signal - GDB_SIGNAL_REALTIME_33;
1512 else if (signal >= GDB_SIGNAL_REALTIME_64
1513 && signal <= GDB_SIGNAL_REALTIME_127)
1515 int offset = signal - GDB_SIGNAL_REALTIME_64;
1526 static enum gdb_signal
1532 return GDB_SIGNAL_EMT;
1535 return GDB_SIGNAL_BUS;
1538 return GDB_SIGNAL_SYS;
1541 return GDB_SIGNAL_USR1;
1544 return GDB_SIGNAL_USR2;
1547 return GDB_SIGNAL_CHLD;
1550 return GDB_SIGNAL_PWR;
1553 return GDB_SIGNAL_WINCH;
1556 return GDB_SIGNAL_URG;
1561 return GDB_SIGNAL_IO;
1564 return GDB_SIGNAL_STOP;
1567 return GDB_SIGNAL_TSTP;
1570 return GDB_SIGNAL_CONT;
1573 return GDB_SIGNAL_TTIN;
1576 return GDB_SIGNAL_TTOU;
1579 return GDB_SIGNAL_VTALRM;
1582 return GDB_SIGNAL_PROF;
1585 return GDB_SIGNAL_XCPU;
1588 return GDB_SIGNAL_XFSZ;
1598 return GDB_SIGNAL_REALTIME_32;
1600 return (
enum gdb_signal) (
offset - 1
1601 + (int) GDB_SIGNAL_REALTIME_33);
1603 return (
enum gdb_signal) (
offset - 32
1604 + (int) GDB_SIGNAL_REALTIME_64);
1722 "org.gnu.gdb.mips.linux");
1723 if (feature != NULL)
1732 const struct bfd_arch_info *arch_info;
1734 for (arch_info = bfd_lookup_arch (bfd_arch_mips, 0);
1736 arch_info = arch_info->next)
struct gdbarch * target_gdbarch(void)
void set_gdbarch_num_regs(struct gdbarch *gdbarch, int num_regs)
#define SIGCONTEXT_REG_SIZE
CORE_ADDR(* syscall_next_pc)(struct frame_info *frame)
static void mips_linux_n32n64_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
int mips_pc_is_micromips(struct gdbarch *gdbarch, CORE_ADDR memaddr)
#define MIPS_INST_LI_V0_N32_RT_SIGRETURN
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
static void mips_fill_fpregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
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)
#define N64_SIGCONTEXT_REG_SIZE
#define SIGFRAME_SIGCONTEXT_OFFSET
#define N64_SIGFRAME_SIGCONTEXT_OFFSET
CORE_ADDR get_frame_pc(struct frame_info *frame)
void set_gdbarch_gdb_signal_to_target(struct gdbarch *gdbarch, gdbarch_gdb_signal_to_target_ftype gdb_signal_to_target)
struct frame_info * get_current_frame(void)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address)
#define TRAMP_SENTINEL_INSN
struct link_map_offsets * svr4_lp64_fetch_link_map_offsets(void)
struct regcache * get_thread_regcache(ptid_t ptid)
CORE_ADDR mips_unmake_compact_addr(CORE_ADDR addr)
CORE_ADDR frame_unwind_caller_pc(struct frame_info *this_frame)
void set_solib_ops(struct gdbarch *gdbarch, const struct target_so_ops *new_ops)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
void() iterate_over_regset_sections_cb(const char *sect_name, int size, const struct regset *regset, const char *human_name, void *cb_data)
static const struct regset mips64_linux_gregset
static const struct tramp_frame mips_linux_n32_rt_sigframe
CORE_ADDR glibc_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
#define MIPS_INST_LI_V0_RT_SIGRETURN
int svr4_in_dynsym_resolve_code(CORE_ADDR pc)
void set_gdbarch_write_pc(struct gdbarch *gdbarch, gdbarch_write_pc_ftype write_pc)
#define SIGCONTEXT_FPREGS
static void mips64_supply_fpregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
CORE_ADDR get_frame_sp(struct frame_info *this_frame)
void * memset(T *s, int c, size_t n)=delete
static CORE_ADDR mips_linux_skip_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
static void mips_linux_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
void set_gdbarch_gdb_signal_from_target(struct gdbarch *gdbarch, gdbarch_gdb_signal_from_target_ftype gdb_signal_from_target)
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
#define MIPS_INST_LI_V0_SIGRETURN
#define MIPS64_EF_CP0_BADVADDR
struct link_map_offsets * svr4_ilp32_fetch_link_map_offsets(void)
#define MIPS64_EF_CP0_CAUSE
const struct floatformat * floatformats_ia64_quad[BFD_ENDIAN_UNKNOWN]
void mips64_fill_gregset(const struct regcache *regcache, mips64_elf_gregset_t *gregsetp, int regno)
static const struct tramp_frame micromips_linux_o32_rt_sigframe
#define N32_SIGFRAME_SIGCONTEXT_OFFSET
int gdbarch_num_regs(struct gdbarch *gdbarch)
#define N64_SIGCONTEXT_FPREGS
static void mips_supply_fpregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
const struct mips_regnum * mips_regnum(struct gdbarch *gdbarch)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
static const struct regset mips_linux_fpregset
unsigned char mips_elf_greg_t[4]
void mips_write_pc(struct regcache *regcache, CORE_ADDR pc)
#define MIPS_NR_rt_sigreturn
#define N64_SIGCONTEXT_LO
static const struct regset mips_linux_gregset
static void initialize_tdesc_mips_linux(void)
static enum gdb_signal mips_gdb_signal_from_target(struct gdbarch *gdbarch, int signal)
void raw_supply_integer(int regnum, const gdb_byte *addr, int addr_len, bool is_signed)
#define MIPS_INST_LI_V0_N64_RT_SIGRETURN
#define N64_SIGCONTEXT_LO3
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
int tdesc_numbered_register(const struct tdesc_feature *feature, struct tdesc_arch_data *data, int regno, const char *name)
#define MICROMIPS_INST_POOL32A
#define MIPS_NR_N64_rt_sigreturn
int(* in_dynsym_resolve_code)(CORE_ADDR pc)
void mips_fill_gregset(const struct regcache *regcache, mips_elf_gregset_t *gregsetp, int regno)
static const struct regset mips64_linux_fpregset
#define N64_SIGCONTEXT_HI1
static const struct tramp_frame micromips_linux_n32_rt_sigframe
#define SIGCONTEXT_BADVADDR
mips64_elf_greg_t mips64_elf_gregset_t[MIPS64_ELF_NGREG]
enum gdb_signal linux_gdb_signal_from_target(struct gdbarch *gdbarch, int signal)
#define MIPS64_LINUX_JB_PC
struct target_desc * mips_tdesc_gp64
static ULONGEST extract_unsigned_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
static void supply_32bit_reg(struct regcache *regcache, int regnum, const void *addr)
static void mips64_supply_gregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void initialize_tdesc_mips64_dsp_linux(void)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
#define N64_SIGCONTEXT_HI3
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
void raw_collect_integer(int regnum, gdb_byte *addr, int addr_len, bool is_signed) const
#define MIPS64_EF_CP0_STATUS
int mips_linux_restart_reg_p(struct gdbarch *gdbarch)
static int mips_linux_get_longjmp_target(struct frame_info *frame, CORE_ADDR *pc)
static void initialize_tdesc_mips_dsp_linux(void)
void mips64_supply_gregset(struct regcache *regcache, const mips64_elf_gregset_t *gregsetp)
#define MIPS64_EF_CP0_EPC
#define MIPS_INST_SYSCALL
void raw_supply_zeroed(int regnum)
#define MIPS_NR_N32_rt_sigreturn
void set_xml_syscall_file_name(struct gdbarch *gdbarch, const char *name)
void read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
#define N64_SIGCONTEXT_LO2
static const struct tramp_frame micromips_linux_o32_sigframe
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
int mips_pc_is_mips(CORE_ADDR memaddr)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
#define N64_SIGCONTEXT_HI
static int mips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
#define SIGCONTEXT_DSPCTL
void mips64_fill_fpregset(const struct regcache *regcache, mips64_elf_fpregset_t *fpregsetp, int regno)
#define MIPS_LINUX_JB_ELEMENT_SIZE
#define MIPS_NR_sigreturn
const struct target_desc * target_desc
static CORE_ADDR mips_linux_syscall_next_pc(struct frame_info *frame)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype software_single_step)
static const struct tramp_frame mips_linux_o32_sigframe
static const struct target_desc * mips_linux_core_read_description(struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
static int mips64_linux_get_longjmp_target(struct frame_info *frame, CORE_ADDR *pc)
static void mips_linux_o32_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
unsigned char mips64_elf_greg_t[8]
struct target_so_ops svr4_so_ops
static void initialize_tdesc_mips64_linux(void)
#define MICROMIPS_INST_LI_V0
static void mips_linux_write_pc(struct regcache *regcache, CORE_ADDR pc)
int linux_gdb_signal_to_target(struct gdbarch *gdbarch, enum gdb_signal signal)
static void mips64_fill_gregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
int gdbarch_fp0_regnum(struct gdbarch *gdbarch)
#define N64_SIGCONTEXT_PC
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)
#define RTSIGFRAME_SIGCONTEXT_OFFSET
mips_elf_fpreg_t mips_elf_fpregset_t[ELF_NFPREG]
void mips_supply_fpregset(struct regcache *regcache, const mips_elf_fpregset_t *fpregsetp)
void set_gdbarch_get_syscall_number(struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype get_syscall_number)
static int mips_linux_in_dynsym_stub(CORE_ADDR pc)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
void set_gdbarch_num_pseudo_regs(struct gdbarch *gdbarch, int num_pseudo_regs)
enum register_status regcache_cooked_read(struct regcache *regcache, int regnum, gdb_byte *buf)
static LONGEST extract_signed_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
void mips_supply_gregset(struct regcache *regcache, const mips_elf_gregset_t *gregsetp)
#define N64_SIGCONTEXT_LO1
static int mips_linux_in_dynsym_resolve_code(CORE_ADDR pc)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
static int mips_gdb_signal_to_target(struct gdbarch *gdbarch, enum gdb_signal signal)
unsigned long long ULONGEST
const struct tdesc_feature * tdesc_find_feature(const struct target_desc *target_desc, const char *name)
void mips64_supply_fpregset(struct regcache *regcache, const mips64_elf_fpregset_t *fpregsetp)
int register_size(struct gdbarch *gdbarch, int regnum)
#define N64_SIGCONTEXT_HI2
void set_gdbarch_long_double_bit(struct gdbarch *gdbarch, int long_double_bit)
static void mips_fill_gregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void mips_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
struct target_desc * mips_tdesc_gp32
void set_gdbarch_long_double_format(struct gdbarch *gdbarch, const struct floatformat **long_double_format)
#define N64_SIGCONTEXT_DSPCTL
static const struct tramp_frame micromips_linux_n64_rt_sigframe
static void mips64_fill_fpregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static LONGEST mips_linux_get_syscall_number(struct gdbarch *gdbarch, ptid_t ptid)
void mips_fill_fpregset(const struct regcache *regcache, mips_elf_fpregset_t *fpregsetp, int regno)
static int micromips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
mips_elf_greg_t mips_elf_gregset_t[ELF_NGREG]
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
std::vector< CORE_ADDR > mips_software_single_step(struct regcache *regcache)
static const struct tramp_frame mips_linux_n64_rt_sigframe
#define N64_SIGCONTEXT_REGS
static struct gdbarch_data * tdesc_data
mips64_elf_fpreg_t mips64_elf_fpregset_t[MIPS64_ELF_NFPREG]
void set_gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype skip_solib_resolver)
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
struct tdesc_arch_data * tdesc_data
static const struct tramp_frame mips_linux_o32_rt_sigframe
enum bfd_endian byte_order
static void mips_supply_gregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
void set_gdbarch_core_read_description(struct gdbarch *gdbarch, gdbarch_core_read_description_ftype core_read_description)
int tdesc_has_registers(const struct target_desc *target_desc)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
#define MICROMIPS_INST_SYSCALL
#define N64_SIGCONTEXT_FPCSR
static struct target_so_ops mips_svr4_so_ops
const struct target_desc * gdbarch_target_desc(struct gdbarch *gdbarch)
static void supply_64bit_reg(struct regcache *regcache, int regnum, const gdb_byte *buf)
static int in_mips_stubs_section(CORE_ADDR pc)
void _initialize_mips_linux_tdep(void)