GDB (xrefs)
|
Go to the source code of this file.
Classes | |
struct | arm_gdbarch_tdep |
struct | arm_displaced_step_copy_insn_closure |
Macros | |
#define | NUM_FREGS 8 /* Number of floating point registers. */ |
#define | NUM_SREGS 2 /* Number of status registers. */ |
#define | NUM_GREGS 16 /* Number of general purpose registers. */ |
#define | DISPLACED_TEMPS 16 |
#define | ARM_DISPLACED_MODIFIED_INSNS 8 |
Enumerations | |
enum | arm_float_model { ARM_FLOAT_AUTO , ARM_FLOAT_SOFT_FPA , ARM_FLOAT_FPA , ARM_FLOAT_SOFT_VFP , ARM_FLOAT_VFP , ARM_FLOAT_LAST } |
enum | arm_abi_kind { ARM_ABI_AUTO , ARM_ABI_APCS , ARM_ABI_AAPCS , ARM_ABI_LAST } |
enum | struct_return { pcc_struct_return , reg_struct_return } |
enum | pc_write_style { BRANCH_WRITE_PC , BX_WRITE_PC , LOAD_WRITE_PC , ALU_WRITE_PC , CANNOT_WRITE_PC } |
Variables | |
bool | arm_apcs_32 |
#define ARM_DISPLACED_MODIFIED_INSNS 8 |
Definition at line 181 of file arm-tdep.h.
Referenced by arm_gdbarch_init(), and arm_linux_cleanup_svc().
#define DISPLACED_TEMPS 16 |
Definition at line 177 of file arm-tdep.h.
#define NUM_FREGS 8 /* Number of floating point registers. */ |
Definition at line 46 of file arm-tdep.h.
Referenced by arm_register_sim_regno(), and arm_register_type().
#define NUM_GREGS 16 /* Number of general purpose registers. */ |
Definition at line 48 of file arm-tdep.h.
Referenced by arm_register_sim_regno().
#define NUM_SREGS 2 /* Number of status registers. */ |
Definition at line 47 of file arm-tdep.h.
Referenced by arm_register_sim_regno().
enum arm_abi_kind |
Enumerator | |
---|---|
ARM_ABI_AUTO | |
ARM_ABI_APCS | |
ARM_ABI_AAPCS | |
ARM_ABI_LAST |
Definition at line 73 of file arm-tdep.h.
enum arm_float_model |
Enumerator | |
---|---|
ARM_FLOAT_AUTO | |
ARM_FLOAT_SOFT_FPA | |
ARM_FLOAT_FPA | |
ARM_FLOAT_SOFT_VFP | |
ARM_FLOAT_VFP | |
ARM_FLOAT_LAST |
Definition at line 62 of file arm-tdep.h.
enum pc_write_style |
Enumerator | |
---|---|
BRANCH_WRITE_PC | |
BX_WRITE_PC | |
LOAD_WRITE_PC | |
ALU_WRITE_PC | |
CANNOT_WRITE_PC |
Definition at line 257 of file arm-tdep.h.
enum enum struct_return m68k_gdbarch_tdep::struct_return |
Enumerator | |
---|---|
pcc_struct_return | |
reg_struct_return |
Definition at line 83 of file arm-tdep.h.
|
extern |
Definition at line 8621 of file arm-tdep.c.
References arm_gdbarch_tdep::arm_breakpoint, arm_gdbarch_tdep::arm_breakpoint_size, arm_get_next_pcs::byte_order_for_code, displaced_debug_printf, gdbarch_byte_order_for_code(), arm_displaced_step_copy_insn_closure::is_thumb, arm_displaced_step_copy_insn_closure::modinsn, arm_displaced_step_copy_insn_closure::numinsns, paddress(), size, arm_gdbarch_tdep::thumb_breakpoint, arm_gdbarch_tdep::thumb_breakpoint_size, write_memory(), and write_memory_unsigned_integer().
Referenced by arm_linux_displaced_step_copy_insn().
|
extern |
Definition at line 8672 of file arm-tdep.c.
References ARM_PC_REGNUM, arm_displaced_step_copy_insn_closure::cleanup, arm_displaced_step_copy_insn_closure::insn_addr, arm_displaced_step_copy_insn_closure::insn_size, regcache_cooked_write_unsigned(), regcache_read_pc(), regcache_write_pc(), and arm_displaced_step_copy_insn_closure::wrote_to_pc.
Referenced by arm_linux_init_abi().
int arm_frame_is_thumb | ( | frame_info_ptr | frame | ) |
Definition at line 631 of file arm-tdep.c.
References ARM_PS_REGNUM, arm_psr_thumb_bit(), gdbarch_bfd_arch_info(), get_frame_arch(), and get_frame_register_unsigned().
Referenced by arm_epilogue_frame_sniffer(), arm_exidx_unwind_sniffer(), arm_pc_is_thumb(), arm_scan_prologue(), and arm_skip_bx_reg().
CORE_ADDR arm_get_next_pcs_addr_bits_remove | ( | struct arm_get_next_pcs * | self, |
CORE_ADDR | val ) |
Definition at line 7255 of file arm-tdep.c.
References reg_buffer::arch(), gdbarch_addr_bits_remove(), and arm_get_next_pcs::regcache.
int arm_get_next_pcs_is_thumb | ( | struct arm_get_next_pcs * | self | ) |
Definition at line 7272 of file arm-tdep.c.
References arm_is_thumb(), and arm_get_next_pcs::regcache.
ULONGEST arm_get_next_pcs_read_memory_unsigned_integer | ( | CORE_ADDR | memaddr, |
int | len, | ||
int | byte_order ) |
Definition at line 7245 of file arm-tdep.c.
References read_memory_unsigned_integer().
int arm_is_thumb | ( | struct regcache * | regcache | ) |
Definition at line 617 of file arm-tdep.c.
References reg_buffer::arch(), ARM_PS_REGNUM, and arm_psr_thumb_bit().
Referenced by arm_get_next_pcs_is_thumb(), and arm_linux_get_next_pcs_syscall_next_pc().
|
extern |
Definition at line 713 of file arm-tdep.c.
References arm_fallback_mode_string, arm_find_mapping_symbol(), arm_force_mode_string, arm_frame_is_thumb(), current_inferior(), displaced_debug_printf, gdbarch_displaced_step_copy_insn_closure_by_addr(), gdbarch_displaced_step_copy_insn_closure_by_addr_p(), get_current_frame(), arm_displaced_step_copy_insn_closure::insn_addr, arm_gdbarch_tdep::is_m, IS_THUMB_ADDR, lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_IS_SPECIAL, target_has_registers(), and type.
Referenced by arm_adjust_breakpoint_address(), arm_analyze_load_stack_chk_guard(), arm_breakpoint_kind_from_pc(), arm_linux_hw_breakpoint_initialize(), arm_push_dummy_call(), arm_skip_prologue(), arm_skip_stack_protector(), arm_stack_frame_destroyed_p(), arm_write_pc(), and gdb_print_insn_arm().
|
extern |
Definition at line 8564 of file arm-tdep.c.
References arm_decode_b_bl_ldmstm(), arm_decode_dp_misc(), arm_decode_ld_st_word_ubyte(), arm_decode_media(), arm_decode_svc_copro(), arm_decode_unconditional(), arm_get_next_pcs::byte_order_for_code, arm_displaced_step_copy_insn_closure::cleanup, displaced_debug_printf, displaced_in_arm_mode(), err, gdbarch_byte_order_for_code(), arm_displaced_step_copy_insn_closure::insn_addr, arm_displaced_step_copy_insn_closure::insn_size, arm_displaced_step_copy_insn_closure::is_thumb, arm_displaced_step_copy_insn_closure::numinsns, read_memory_unsigned_integer(), arm_displaced_step_copy_insn_closure::scratch_base, thumb_process_displaced_insn(), and arm_displaced_step_copy_insn_closure::wrote_to_pc.
Referenced by arm_linux_displaced_step_copy_insn().
|
extern |
Definition at line 14830 of file arm-tdep.c.
References arm_mem_r::addr, arm_insn_decode_record::arm_insn, ARM_INSN_SIZE_BYTES, arm_insn_decode_record::arm_mems, ARM_PC_REGNUM, ARM_PS_REGNUM, arm_psr_thumb_bit(), ARM_RECORD, arm_insn_decode_record::arm_regs, bits, deallocate_reg_mem(), decode_insn(), gdb_printf(), gdb_stdlog, arm_insn_decode_record::gdbarch, gdbarch_byte_order_for_code(), arm_mem_r::len, arm_insn_decode_record::mem_rec_count, paddress(), record_debug, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), arm_insn_decode_record::reg_rec_count, arm_insn_decode_record::regcache, regcache_raw_read_unsigned(), arm_insn_decode_record::this_addr, THUMB2_INSN_SIZE_BYTES, THUMB2_RECORD, THUMB_INSN_SIZE_BYTES, and THUMB_RECORD.
Referenced by arm_linux_init_abi().
|
extern |
Definition at line 604 of file arm-tdep.c.
References CPSR_T, arm_gdbarch_tdep::is_m, and XPSR_T.
Referenced by arm_frame_is_thumb(), arm_is_thumb(), arm_linux_get_syscall_number(), arm_linux_restart_syscall_init(), arm_linux_sigreturn_next_pc(), arm_linux_sigreturn_return_addr(), arm_process_record(), arm_write_pc(), bx_write_pc(), displaced_in_arm_mode(), and reconstruct_t_bit().
const target_desc * arm_read_description | ( | arm_fp_type | fp_type, |
bool | tls ) |
Definition at line 14927 of file arm-tdep.c.
References arm_create_target_description(), and tdesc_arm_list.
Referenced by arm_fbsd_read_description_auxv(), arm_linux_core_read_description(), arm_linux_nat_target::read_description(), and arm_netbsd_nat_target::read_description().
const target_desc * arm_read_mprofile_description | ( | arm_m_profile_type | m_type | ) |
Definition at line 14943 of file arm-tdep.c.
References arm_create_mprofile_target_description(), and tdesc_arm_mprofile_list.
Referenced by arm_register_g_packet_guesses().
CORE_ADDR arm_skip_stub | ( | frame_info_ptr | frame, |
CORE_ADDR | pc ) |
Definition at line 9399 of file arm-tdep.c.
References arm_is_sgstubs_section(), arm_skip_bx_reg(), arm_skip_cmse_entry(), find_pc_partial_function(), find_pc_section(), get_frame_register_unsigned(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, name, obj_section::objfile, objfile::objfile(), target_name, and bound_minimal_symbol::value_address().
Referenced by arm_gdbarch_init(), arm_linux_skip_trampoline_code(), and arm_pe_skip_trampoline_code().
std::vector< CORE_ADDR > arm_software_single_step | ( | struct regcache * | regcache | ) |
Definition at line 7283 of file arm-tdep.c.
References reg_buffer::arch(), arm_get_next_pcs(), arm_get_next_pcs_ctor(), gdbarch_addr_bits_remove(), gdbarch_byte_order(), and gdbarch_byte_order_for_code().
Referenced by arm_fbsd_init_abi(), arm_netbsd_init_abi_common(), arm_pikeos_init_abi(), arm_wince_init_abi(), and armobsd_init_abi().
|
extern |
Definition at line 115 of file arm-bsd-tdep.c.
References armbsd_fpregset, armbsd_gregset, ARMBSD_SIZEOF_FPREGS, and ARMBSD_SIZEOF_GREGS.
Referenced by armobsd_init_abi().
|
extern |
Definition at line 5497 of file arm-tdep.c.
References ARM_PC_REGNUM, displaced_debug_printf, arm_displaced_step_copy_insn_closure::insn_addr, arm_displaced_step_copy_insn_closure::is_thumb, and regcache_cooked_read_unsigned().
Referenced by arm_catch_kernel_helper_return(), arm_copy_alu_imm(), arm_copy_block_xfer(), arm_copy_extra_ld_st(), arm_linux_copy_svc(), cleanup_alu_imm(), cleanup_alu_reg(), cleanup_alu_shifted_reg(), cleanup_block_load_all(), cleanup_block_load_pc(), cleanup_block_store_pc(), cleanup_branch(), cleanup_copro_load_store(), cleanup_load(), cleanup_pop_pc_16bit_all(), cleanup_store(), install_alu_reg(), install_alu_shifted_reg(), install_bx_blx_reg(), install_copro_load_store(), install_load_store(), install_pc_relative(), install_preload(), install_preload_reg(), thumb2_copy_alu_imm(), thumb2_copy_block_xfer(), thumb2_copy_load_literal(), thumb2_copy_preload(), thumb2_copy_table_branch(), thumb_copy_16bit_ldr_literal(), thumb_copy_cbnz_cbz(), and thumb_copy_pop_pc_16bit().
|
extern |
Definition at line 5617 of file arm-tdep.c.
References alu_write_pc(), ALU_WRITE_PC, ARM_PC_REGNUM, branch_write_pc(), BRANCH_WRITE_PC, bx_write_pc(), BX_WRITE_PC, CANNOT_WRITE_PC, displaced_debug_printf, load_write_pc(), LOAD_WRITE_PC, regcache_cooked_write_unsigned(), and arm_displaced_step_copy_insn_closure::wrote_to_pc.
Referenced by arm_catch_kernel_helper_return(), arm_copy_alu_imm(), arm_copy_extra_ld_st(), arm_linux_cleanup_svc(), cleanup_alu_imm(), cleanup_alu_reg(), cleanup_alu_shifted_reg(), cleanup_block_load_all(), cleanup_block_load_pc(), cleanup_branch(), cleanup_copro_load_store(), cleanup_kernel_helper_return(), cleanup_load(), cleanup_pop_pc_16bit_all(), cleanup_preload(), cleanup_store(), cleanup_svc(), install_alu_reg(), install_alu_shifted_reg(), install_copro_load_store(), install_load_store(), install_pc_relative(), install_preload(), install_preload_reg(), thumb2_copy_alu_imm(), thumb2_copy_load_literal(), thumb2_copy_preload(), and thumb_copy_16bit_ldr_literal().
|
extern |
Definition at line 598 of file arm-tdep.c.
Referenced by _initialize_arm_tdep(), aarch32_gp_regcache_collect(), aarch32_gp_regcache_supply(), arm_addr_bits_remove(), arm_linux_collect_gregset(), arm_linux_supply_gregset(), arm_nbsd_supply_gregset(), arm_none_collect_gregset(), arm_none_supply_gregset(), arm_write_pc(), fetch_regs(), store_register(), store_regs(), and store_regs().