59#include "elf/common.h"
107#define ARM_LINUX_JB_ELEMENT_SIZE ARM_INT_REGISTER_SIZE
108#define ARM_LINUX_JB_PC_FPA 21
109#define ARM_LINUX_JB_PC_EABI 9
238#define ARM_LINUX_SIGRETURN_INSTR 0xef900077
239#define ARM_LINUX_RT_SIGRETURN_INSTR 0xef9000ad
245#define ARM_SET_R7_SIGRETURN 0xe3a07077
246#define ARM_SET_R7_RT_SIGRETURN 0xe3a070ad
247#define ARM_EABI_SYSCALL 0xef000000
250#define THUMB2_SET_R7_SIGRETURN1 0xf04f
251#define THUMB2_SET_R7_SIGRETURN2 0x0777
252#define THUMB2_SET_R7_RT_SIGRETURN1 0xf04f
253#define THUMB2_SET_R7_RT_SIGRETURN2 0x07ad
254#define THUMB2_EABI_SYSCALL 0xdf00
258#define ARM_OABI_SYSCALL_RESTART_SYSCALL 0xef900000
259#define ARM_LDR_PC_SP_12 0xe49df00c
260#define ARM_LDR_PC_SP_4 0xe49df004
263#define ARM_SIGRETURN 119
265#define ARM_RT_SIGRETURN 173
282 CORE_ADDR
func,
int regs_offset)
285 CORE_ADDR base = sp + regs_offset;
288 for (i = 0; i < 16; i++)
475#define ARM_LINUX_SIZEOF_GREGSET (18 * ARM_INT_REGISTER_SIZE)
480 int regnum,
const void *gregs_buf,
size_t len)
484 const gdb_byte *gregs = (
const gdb_byte *) gregs_buf;
518 int regnum,
void *gregs_buf,
size_t len)
520 gdb_byte *gregs = (gdb_byte *) gregs_buf;
546#define typeSingle 0x01
547#define typeDouble 0x02
548#define typeExtended 0x03
552 const gdb_byte *regs)
554 const gdb_byte *reg_data;
565 memcpy (buf, reg_data, 4);
568 memcpy (buf, reg_data + 4, 4);
569 memcpy (buf + 4, reg_data, 4);
574 memcpy (buf, reg_data, 4);
575 memcpy (buf + 4, reg_data + 8, 4);
576 memcpy (buf + 8, reg_data + 4, 4);
606 memcpy (reg_data, buf, 4);
609 memcpy (reg_data, buf + 4, 4);
610 memcpy (reg_data + 4, buf, 4);
613 memcpy (reg_data, buf, 4);
614 memcpy (reg_data + 4, buf + 8, 4);
615 memcpy (reg_data + 8, buf + 4, 4);
625 int regnum,
const void *regs_buf,
size_t len)
627 const gdb_byte *regs = (
const gdb_byte *) regs_buf;
642 int regnum,
void *regs_buf,
size_t len)
644 gdb_byte *regs = (gdb_byte *) regs_buf;
658#define ARM_LINUX_SIZEOF_VFP (32 * 8 + 4)
663 int regnum,
const void *regs_buf,
size_t len)
665 const gdb_byte *regs = (
const gdb_byte *) regs_buf;
679 int regnum,
void *regs_buf,
size_t len)
681 gdb_byte *regs = (gdb_byte *) regs_buf;
760 unsigned long svc_number,
761 CORE_ADDR *pc,
int *is_thumb)
764 if (svc_number == 119 || svc_number == 173)
772 *is_thumb = (cpsr & t_bit) != 0;
786 unsigned long svc_number,
int *is_thumb)
789 unsigned long sp_data;
790 CORE_ADDR next_pc = 0;
794 int is_sigreturn = 0;
831 ULONGEST svc_number = -1;
835 is_thumb = (cpsr & t_bit) != 0;
843 enum bfd_endian byte_order_for_code =
848 unsigned long this_instr =
851 unsigned long svc_operand = (0x00ffffff & this_instr);
856 svc_number = svc_operand - 0x900000;
871 CORE_ADDR next_pc = 0;
874 ULONGEST svc_number = 0;
878 svc_number = regcache_raw_get_unsigned (self->
regcache, 7);
884 enum bfd_endian byte_order_for_code =
886 unsigned long this_instr =
889 unsigned long svc_operand = (0x00ffffff & this_instr);
892 svc_number = svc_operand - 0x900000;
896 svc_number = regcache_raw_get_unsigned (self->
regcache, 7);
920static std::vector<CORE_ADDR>
940 for (CORE_ADDR &pc_ref : next_pcs)
953 ULONGEST apparent_pc;
963 (
unsigned long) apparent_pc,
965 ?
"(within scratch space)"
966 :
"(outside scratch space)"));
977 CORE_ADDR return_to = 0;
981 int is_sigreturn = 0;
987 &return_to, &is_thumb);
997 (
unsigned long) return_to);
1024 "breakpoint for sigreturn/rt_sigreturn");
1069 CORE_ADDR to,
struct regcache *regs,
1101 CORE_ADDR from, CORE_ADDR to,
1104 std::unique_ptr<arm_displaced_step_copy_insn_closure> dsc
1109 if (from > 0xffff0000)
1112 (
unsigned long) from);
1136 return (*s ==
'#' || *s ==
'$' || isdigit (*s)
1158 const char *tmp = p->
arg;
1171 while (isalnum (*tmp))
1178 regname = (
char *) alloca (len + 2);
1181 if (isdigit (*start))
1192 strncpy (regname + offset, start, len);
1194 regname[len] =
'\0';
1197 error (_(
"Invalid register name `%s' on expression `%s'."),
1201 tmp = skip_spaces (tmp);
1202 if (*tmp ==
'#' || *tmp ==
'$')
1211 displacement = strtol (tmp, &endp, 10);
1219 using namespace expr;
1224 displacement = -displacement;
1225 operation_up disp = make_operation<long_const_operation> (long_type,
1230 = make_operation<register_operation> (regname);
1233 = make_operation<add_operation> (std::move (reg), std::move (disp));
1237 sum = make_operation<unop_cast_operation> (std::move (sum),
1239 return make_operation<unop_ind_operation> (std::move (sum));
1656 _(
"Process record and replay target doesn't "
1657 "support syscall number %s\n"),
1658 plongest (svc_number));
1714 static const char *
const stap_integer_prefixes[] = {
"#",
"$",
"", NULL };
1715 static const char *
const stap_register_prefixes[] = {
"r", NULL };
1725 if (info.byte_order_for_code == BFD_ENDIAN_BIG)
1750 switch (tdep->fp_model)
1762 (_(
"arm_linux_init_abi: Floating point model not supported"));
const target_desc * aarch32_read_description()
void arm_get_next_pcs_ctor(struct arm_get_next_pcs *self, struct arm_get_next_pcs_ops *ops, int byte_order, int byte_order_for_code, int has_thumb2_breakpoint, struct regcache *regcache)
std::vector< CORE_ADDR > arm_get_next_pcs(struct arm_get_next_pcs *self)
static int arm_linux_sigreturn_return_addr(frame_info_ptr frame, unsigned long svc_number, CORE_ADDR *pc, int *is_thumb)
#define THUMB2_SET_R7_RT_SIGRETURN1
static void arm_linux_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static void arm_linux_sigtramp_cache(frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func, int regs_offset)
#define THUMB2_SET_R7_RT_SIGRETURN2
static int arm_linux_copy_svc(struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc)
#define THUMB2_EABI_SYSCALL
static struct arm_get_next_pcs_ops arm_linux_get_next_pcs_ops
static const gdb_byte arm_linux_thumb_le_breakpoint[]
static int arm_linux_syscall_record(struct regcache *regcache, unsigned long svc_number)
static struct tramp_frame arm_linux_restart_syscall_tramp_frame
static void cleanup_kernel_helper_return(struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc)
static const struct regset arm_linux_gregset
void arm_linux_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs_buf, size_t len)
#define ARM_LINUX_SIZEOF_GREGSET
#define ARM_OABI_SYSCALL_RESTART_SYSCALL
static const gdb_byte arm_linux_arm_le_breakpoint[]
#define THUMB2_SET_R7_SIGRETURN2
static CORE_ADDR arm_linux_skip_trampoline_code(frame_info_ptr frame, CORE_ADDR pc)
static struct tramp_frame arm_linux_rt_sigreturn_tramp_frame
static CORE_ADDR arm_linux_sigreturn_next_pc(struct regcache *regcache, unsigned long svc_number, int *is_thumb)
static void arm_linux_sigreturn_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static void arm_linux_collect_vfp(const struct regset *regset, const struct regcache *regcache, int regnum, void *regs_buf, size_t len)
static expr::operation_up arm_stap_parse_special_token(struct gdbarch *gdbarch, struct stap_parse_info *p)
#define ARM_LINUX_RT_SIGRETURN_INSTR
static const struct regset arm_linux_vfpregset
static void arm_catch_kernel_helper_return(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc)
static void arm_linux_rt_sigreturn_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static int arm_all_but_pc_registers_record(struct regcache *regcache)
static const gdb_byte arm_linux_thumb_be_breakpoint[]
static const struct regset arm_linux_fpregset
static const gdb_byte eabi_linux_arm_be_breakpoint[]
#define ARM_LINUX_SIZEOF_VFP
void arm_linux_supply_nwfpe(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs_buf, size_t len)
#define ARM_SET_R7_RT_SIGRETURN
static const struct target_desc * arm_linux_core_read_description(struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
void supply_nwfpe_register(struct regcache *regcache, int regno, const gdb_byte *regs)
void arm_linux_collect_nwfpe(const struct regset *regset, const struct regcache *regcache, int regnum, void *regs_buf, size_t len)
static enum gdb_syscall arm_canonicalize_syscall(int syscall)
void _initialize_arm_linux_tdep()
#define ARM_LINUX_JB_ELEMENT_SIZE
static const gdb_byte arm_linux_arm_be_breakpoint[]
static void arm_linux_restart_syscall_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static CORE_ADDR arm_linux_get_next_pcs_syscall_next_pc(struct arm_get_next_pcs *self)
static int arm_stap_is_single_operand(struct gdbarch *gdbarch, const char *s)
#define ARM_LINUX_SIGRETURN_INSTR
static const gdb_byte arm_linux_thumb2_le_breakpoint[]
static displaced_step_copy_insn_closure_up arm_linux_displaced_step_copy_insn(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static struct tramp_frame arm_kernel_linux_restart_syscall_tramp_frame
static void arm_linux_cleanup_svc(struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc)
static const gdb_byte eabi_linux_arm_le_breakpoint[]
static void arm_linux_supply_vfp(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs_buf, size_t len)
static void arm_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static struct tramp_frame arm_eabi_linux_rt_sigreturn_tramp_frame
static linux_record_tdep arm_linux_record_tdep
static const gdb_byte arm_linux_thumb2_be_breakpoint[]
static struct tramp_frame thumb2_eabi_linux_rt_sigreturn_tramp_frame
#define ARM_SET_R7_SIGRETURN
void collect_nwfpe_register(const struct regcache *regcache, int regno, gdb_byte *regs)
static std::string arm_linux_gcc_target_options(struct gdbarch *gdbarch)
static LONGEST arm_linux_get_syscall_number(struct gdbarch *gdbarch, thread_info *thread)
static struct tramp_frame thumb2_eabi_linux_sigreturn_tramp_frame
#define ARM_LINUX_JB_PC_EABI
void arm_linux_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs_buf, size_t len)
static struct tramp_frame arm_eabi_linux_sigreturn_tramp_frame
#define THUMB2_SET_R7_SIGRETURN1
static std::vector< CORE_ADDR > arm_linux_software_single_step(struct regcache *regcache)
#define ARM_LINUX_JB_PC_FPA
static struct tramp_frame arm_linux_sigreturn_tramp_frame
#define NWFPE_TAGS_OFFSET
#define ARM_LINUX_SIZEOF_NWFPE
#define NWFPE_FPSR_OFFSET
int arm_linux_sigreturn_next_pc_offset(unsigned long sp, unsigned long sp_data, unsigned long svc_number, int is_sigreturn)
CORE_ADDR arm_linux_get_next_pcs_fixup(struct arm_get_next_pcs *self, CORE_ADDR nextpc)
#define ARM_OLD_RT_SIGFRAME_SIGINFO
#define ARM_NEW_SIGFRAME_MAGIC
#define ARM_NEW_RT_SIGFRAME_UCONTEXT
#define ARM_SIGCONTEXT_R0
#define ARM_OLD_RT_SIGFRAME_UCONTEXT
#define ARM_UCONTEXT_SIGCONTEXT
int arm_process_record(struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR insn_addr)
ULONGEST arm_get_next_pcs_read_memory_unsigned_integer(CORE_ADDR memaddr, int len, int byte_order)
void arm_process_displaced_insn(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc)
ULONGEST displaced_read_reg(regcache *regs, arm_displaced_step_copy_insn_closure *dsc, int regno)
int arm_is_thumb(struct regcache *regcache)
void displaced_write_reg(regcache *regs, arm_displaced_step_copy_insn_closure *dsc, int regno, ULONGEST val, enum pc_write_style write_pc)
int arm_psr_thumb_bit(struct gdbarch *gdbarch)
CORE_ADDR arm_get_next_pcs_addr_bits_remove(struct arm_get_next_pcs *self, CORE_ADDR val)
void arm_displaced_init_closure(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, arm_displaced_step_copy_insn_closure *dsc)
void arm_displaced_step_fixup(struct gdbarch *gdbarch, struct displaced_step_copy_insn_closure *dsc_, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, bool completed_p)
CORE_ADDR arm_skip_stub(frame_info_ptr frame, CORE_ADDR pc)
int arm_get_next_pcs_is_thumb(struct arm_get_next_pcs *self)
const target_desc * arm_read_description(arm_fp_type fp_type, bool tls)
#define ARM_DISPLACED_MODIFIED_INSNS
#define ARM_INT_REGISTER_SIZE
#define ARM_FP_REGISTER_SIZE
#define MAKE_THUMB_ADDR(addr)
gdb::optional< gdb::byte_vector > target_read_auxv_raw(target_ops *ops)
breakpoint_up set_momentary_breakpoint(struct gdbarch *gdbarch, struct symtab_and_line sal, struct frame_id frame_id, enum bptype type)
void insert_breakpoints(void)
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
thread_control_state control
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
void write_memory_unsigned_integer(CORE_ADDR addr, int len, enum bfd_endian byte_order, ULONGEST value)
static void store_unsigned_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val)
static ULONGEST extract_unsigned_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
#define displaced_debug_printf(fmt,...)
std::unique_ptr< displaced_step_copy_insn_closure > displaced_step_copy_insn_closure_up
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
ULONGEST frame_unwind_register_unsigned(frame_info_ptr next_frame, int regnum)
CORE_ADDR frame_unwind_caller_pc(frame_info_ptr this_frame)
CORE_ADDR get_frame_pc(frame_info_ptr frame)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct gdbarch * frame_unwind_arch(frame_info_ptr next_frame)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
enum frame_type get_frame_type(frame_info_ptr frame)
ULONGEST get_frame_memory_unsigned(frame_info_ptr this_frame, CORE_ADDR addr, int len)
frame_info_ptr get_current_frame(void)
struct frame_id get_frame_id(frame_info_ptr fi)
frame_info_ptr get_prev_frame(frame_info_ptr this_frame)
void set_gdbarch_process_record(struct gdbarch *gdbarch, gdbarch_process_record_ftype *process_record)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_stap_parse_special_token(struct gdbarch *gdbarch, gdbarch_stap_parse_special_token_ftype *stap_parse_special_token)
void set_gdbarch_stap_integer_prefixes(struct gdbarch *gdbarch, const char *const *stap_integer_prefixes)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype *software_single_step)
void set_gdbarch_core_read_description(struct gdbarch *gdbarch, gdbarch_core_read_description_ftype *core_read_description)
void set_gdbarch_stap_gdb_register_prefix(struct gdbarch *gdbarch, const char *stap_gdb_register_prefix)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code)
void set_gdbarch_stap_is_single_operand(struct gdbarch *gdbarch, gdbarch_stap_is_single_operand_ftype *stap_is_single_operand)
void set_gdbarch_get_syscall_number(struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype *get_syscall_number)
int gdbarch_int_bit(struct gdbarch *gdbarch)
void set_gdbarch_displaced_step_copy_insn(struct gdbarch *gdbarch, gdbarch_displaced_step_copy_insn_ftype *displaced_step_copy_insn)
enum bfd_endian gdbarch_byte_order_for_code(struct gdbarch *gdbarch)
void set_gdbarch_stap_register_indirection_prefixes(struct gdbarch *gdbarch, const char *const *stap_register_indirection_prefixes)
void set_gdbarch_gcc_target_options(struct gdbarch *gdbarch, gdbarch_gcc_target_options_ftype *gcc_target_options)
void set_gdbarch_displaced_step_fixup(struct gdbarch *gdbarch, gdbarch_displaced_step_fixup_ftype *displaced_step_fixup)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
CORE_ADDR gdbarch_addr_bits_remove(struct gdbarch *gdbarch, CORE_ADDR addr)
int gdbarch_long_bit(struct gdbarch *gdbarch)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
void set_gdbarch_stap_register_prefixes(struct gdbarch *gdbarch, const char *const *stap_register_prefixes)
void set_gdbarch_stap_register_indirection_suffixes(struct gdbarch *gdbarch, const char *const *stap_register_indirection_suffixes)
void set_gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype *skip_solib_resolver)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections)
void iterate_over_regset_sections_cb(const char *sect_name, int supply_size, int collect_size, const struct regset *regset, const char *human_name, void *cb_data)
struct thread_info * inferior_thread(void)
struct type * lookup_pointer_type(struct type *type)
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
CORE_ADDR glibc_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
int record_linux_system_call(enum gdb_syscall syscall, struct regcache *regcache, struct linux_record_tdep *tdep)
@ gdb_sys_rt_sigqueueinfo
@ gdb_sys_timer_getoverrun
@ gdb_sys_inotify_add_watch
@ gdb_sys_sched_getscheduler
@ gdb_sys_restart_syscall
@ gdb_sys_mq_timedreceive
@ gdb_sys_sched_get_priority_min
@ gdb_sys_rt_sigtimedwait
@ gdb_sys_sched_getaffinity
@ gdb_sys_sched_rr_get_interval
@ gdb_sys_get_robust_list
@ gdb_sys_sched_get_priority_max
@ gdb_sys_clock_nanosleep
@ gdb_sys_inotify_rm_watch
@ gdb_sys_set_tid_address
@ gdb_sys_set_robust_list
@ gdb_sys_remap_file_pages
@ gdb_sys_sched_setaffinity
@ gdb_sys_sched_setscheduler
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 linux_get_hwcap()
CORE_ADDR find_solib_trampoline_target(frame_info_ptr frame, CORE_ADDR pc)
std::unique_ptr< operation > operation_up
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
int record_full_arch_list_add_reg(struct regcache *regcache, int regnum)
CORE_ADDR regcache_read_pc(struct regcache *regcache)
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(* func)(remote_target *remote, char *)
static const char *const stap_register_indirection_prefixes[]
static const char *const stap_register_indirection_suffixes[]
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)
void(* cleanup)(struct gdbarch *, struct regcache *, arm_displaced_step_copy_insn_closure *)
ULONGEST tmp[DISPLACED_TEMPS]
unsigned long modinsn[ARM_DISPLACED_MODIFIED_INSNS]
const gdb_byte * thumb_breakpoint
const gdb_byte * arm_breakpoint
const gdb_byte * thumb2_breakpoint
int thumb2_breakpoint_size
int thumb_breakpoint_size
int(* arm_syscall_record)(struct regcache *regcache, unsigned long svc_number)
struct regcache * regcache
struct type * builtin_long
ULONGEST ioctl_TIOCGLCKTRMIOS
ULONGEST ioctl_TIOCMIWAIT
ULONGEST ioctl_TIOCGICOUNT
ULONGEST ioctl_TIOCSERGSTRUCT
ULONGEST ioctl_TIOCSERGETMULTI
ULONGEST ioctl_TIOCSERCONFIG
ULONGEST ioctl_TIOCSSOFTCAR
ULONGEST ioctl_TIOCSWINSZ
ULONGEST ioctl_TIOCTTYGSTRUCT
int size_hayes_esp_config
ULONGEST ioctl_TIOCSERSETMULTI
ULONGEST ioctl_TIOCSSERIAL
int size_serial_icounter_struct
ULONGEST ioctl_TIOCSPTLCK
ULONGEST ioctl_TIOCGSOFTCAR
ULONGEST ioctl_TIOCGSERIAL
ULONGEST ioctl_TIOCSERGETLSR
ULONGEST ioctl_TIOCGWINSZ
ULONGEST ioctl_TIOCSERGWILD
ULONGEST ioctl_TIOCSLCKTRMIOS
ULONGEST ioctl_TIOCSHAYESESP
ULONGEST ioctl_TIOCGHAYESESP
ULONGEST ioctl_TIOCSERSWILD
int size__old_kernel_stat
struct obj_section * section
struct breakpoint * step_resume_breakpoint
struct tramp_frame::@191 insn[48]
struct obj_section * find_pc_overlay(CORE_ADDR pc)
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
int target_can_do_single_step()
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 trad_frame_set_reg_value(struct trad_frame_cache *this_trad_cache, int regnum, LONGEST val)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define TRAMP_SENTINEL_INSN
int user_reg_map_name_to_regnum(struct gdbarch *gdbarch, const char *name, int len)
void gdb_printf(struct ui_file *stream, const char *format,...)
void set_xml_syscall_file_name(struct gdbarch *gdbarch, const char *name)