38#define XML_SYSCALL_FILENAME_SPARC32 "syscalls/sparc-linux.xml"
71 { 0x821020d8, ULONGEST_MAX },
72 { 0x91d02010, ULONGEST_MAX },
86 { 0x82102065, ULONGEST_MAX },
87 { 0x91d02010, ULONGEST_MAX },
124 CORE_ADDR base, addr, sp_addr;
164 if (
insn == 0x91d02010)
169 if (sc_num == 101 || sc_num == 216)
174 ULONGEST sp, pc_offset;
218 int regnum,
const void *gregs,
size_t len)
227 int regnum,
void *gregs,
size_t len)
236 int regnum,
const void *fpregs,
size_t len)
244 int regnum,
void *fpregs,
size_t len)
251#define PSR_SYSCALL 0x00004000
300static enum gdb_signal
307 return GDB_SIGNAL_EMT;
310 return GDB_SIGNAL_BUS;
313 return GDB_SIGNAL_SYS;
316 return GDB_SIGNAL_URG;
319 return GDB_SIGNAL_STOP;
322 return GDB_SIGNAL_TSTP;
325 return GDB_SIGNAL_CONT;
328 return GDB_SIGNAL_CHLD;
333 return GDB_SIGNAL_IO;
338 return GDB_SIGNAL_LOST;
341 return GDB_SIGNAL_USR1;
344 return GDB_SIGNAL_USR2;
355 enum gdb_signal signal)
371 case GDB_SIGNAL_STOP:
374 case GDB_SIGNAL_TSTP:
377 case GDB_SIGNAL_CONT:
380 case GDB_SIGNAL_CHLD:
386 case GDB_SIGNAL_POLL:
389 case GDB_SIGNAL_LOST:
395 case GDB_SIGNAL_USR1:
398 case GDB_SIGNAL_USR2:
enum register_status cooked_read(int regnum, gdb_byte *buf)
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
static LONGEST extract_signed_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
void dwarf2_append_unwinders(struct gdbarch *gdbarch)
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)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
ULONGEST get_frame_memory_unsigned(frame_info_ptr this_frame, CORE_ADDR addr, int len)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_write_pc(struct gdbarch *gdbarch, gdbarch_write_pc_ftype *write_pc)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code)
void set_gdbarch_get_syscall_number(struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype *get_syscall_number)
void set_gdbarch_gdb_signal_from_target(struct gdbarch *gdbarch, gdbarch_gdb_signal_from_target_ftype *gdb_signal_from_target)
void set_gdbarch_gdb_signal_to_target(struct gdbarch *gdbarch, gdbarch_gdb_signal_to_target_ftype *gdb_signal_to_target)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
int linux_gdb_signal_to_target(struct gdbarch *gdbarch, enum gdb_signal signal)
enum gdb_signal linux_gdb_signal_from_target(struct gdbarch *gdbarch, int signal)
link_map_offsets * linux_ilp32_fetch_link_map_offsets()
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch, int num_disp_step_buffers)
CORE_ADDR find_solib_trampoline_target(frame_info_ptr frame, CORE_ADDR pc)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
enum register_status regcache_cooked_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
struct regcache * get_thread_regcache(process_stratum_target *target, ptid_t ptid)
void regcache_cooked_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
void(* func)(remote_target *remote, char *)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
static void sparc32_linux_supply_core_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void sparc32_linux_collect_core_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void sparc32_linux_sigframe_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define XML_SYSCALL_FILENAME_SPARC32
void _initialize_sparc_linux_tdep()
static const struct tramp_frame sparc32_linux_rt_sigframe
static void sparc_linux_write_pc(struct regcache *regcache, CORE_ADDR pc)
static void sparc32_linux_collect_core_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
static int sparc32_linux_gdb_signal_to_target(struct gdbarch *gdbarch, enum gdb_signal signal)
const struct sparc_gregmap sparc32_linux_core_gregmap
static const struct regset sparc32_linux_gregset
static enum gdb_signal sparc32_linux_gdb_signal_from_target(struct gdbarch *gdbarch, int signal)
static LONGEST sparc32_linux_get_syscall_number(struct gdbarch *gdbarch, thread_info *thread)
static const struct regset sparc32_linux_fpregset
static const struct tramp_frame sparc32_linux_sigframe
static void sparc32_linux_supply_core_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
static CORE_ADDR sparc32_linux_step_trap(frame_info_ptr frame, unsigned long insn)
static void sparc32_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
void sparc32_supply_gregset(const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
const struct sparc_fpregmap sparc32_bsd_fpregmap
void sparc32_supply_fpregset(const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
void sparc32_collect_fpregset(const struct sparc_fpregmap *fpregmap, const struct regcache *regcache, int regnum, void *fpregs)
void sparc32_collect_gregset(const struct sparc_gregmap *gregmap, const struct regcache *regcache, int regnum, void *gregs)
CORE_ADDR(* step_trap)(frame_info_ptr frame, unsigned long insn)
const struct regset * fpregset
const struct regset * gregset
struct tramp_frame::@191 insn[48]
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define TRAMP_SENTINEL_INSN
void set_xml_syscall_file_name(struct gdbarch *gdbarch, const char *name)