28 #include "elf/tic6x.h"
35 #define TIC6X_SP_RT_SIGFRAME 8
37 #define TIC6X_SIGINFO_SIZE 128
40 #define TIC6X_STACK_T_SIZE (3 * 4)
66 return 4 * (regnum - 0 + 8);
69 else if (regnum >= 34 && regnum < 34 + 32)
70 return 4 * (regnum - 34 + 23);
72 return 4 * (tdep->
has_gp ? 55 : 23);
102 for (i = 0; i < 10; i++)
119 for (i = 34; i < 34 + 32; i++)
143 {0x000045aa, 0x0fffffff},
160 if (syscall_number == 139 )
186 switch (bfd_elf_get_obj_attr_int (info.
abfd, OBJ_ATTR_PROC, Tag_ISA))
188 case C6XABI_Tag_ISA_C64XP:
189 case C6XABI_Tag_ISA_C67XP:
207 &tic6x_linux_rt_sigreturn_tramp_frame);
const gdb_byte tic6x_bkpt_illegal_opcode_be[]
static void initialize_tdesc_tic6x_c64x_linux(void)
CORE_ADDR(* syscall_next_pc)(struct frame_info *frame)
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)
static void tic6x_uclinux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
CORE_ADDR get_frame_pc(struct frame_info *frame)
#define TRAMP_SENTINEL_INSN
#define TIC6X_SP_RT_SIGFRAME
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)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
initialize_file_ftype _initialize_tic6x_linux_tdep
const gdb_byte * breakpoint
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
static CORE_ADDR tic6x_linux_syscall_next_pc(struct frame_info *frame)
struct target_so_ops dsbt_so_ops
static unsigned int tic6x_register_sigcontext_offset(unsigned int regnum, struct gdbarch *gdbarch)
void initialize_file_ftype(void)
static void initialize_tdesc_tic6x_c64xp_linux(void)
static void initialize_tdesc_tic6x_c62x_linux(void)
#define TIC6X_STACK_T_SIZE
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
static void tic6x_linux_rt_sigreturn_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
unsigned long long ULONGEST
static const gdb_byte tic6x_bkpt_bnop_le[]
enum bfd_endian byte_order
static const gdb_byte tic6x_bkpt_bnop_be[]
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const gdb_byte tic6x_bkpt_illegal_opcode_le[]
#define TIC6X_SIGINFO_SIZE