GDB (xrefs)

Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/arm-tdep.c File Reference
`#include "defs.h"`
`#include <ctype.h>`
`#include "frame.h"`
`#include "inferior.h"`
`#include "infrun.h"`
`#include "gdbcmd.h"`
`#include "gdbcore.h"`
`#include "dis-asm.h"`
`#include "disasm.h"`
`#include "regcache.h"`
`#include "reggroups.h"`
`#include "target-float.h"`
`#include "value.h"`
`#include "arch-utils.h"`
`#include "osabi.h"`
`#include "frame-unwind.h"`
`#include "frame-base.h"`
`#include "trad-frame.h"`
`#include "objfiles.h"`
`#include "dwarf2-frame.h"`
`#include "gdbtypes.h"`
`#include "prologue-value.h"`
`#include "remote.h"`
`#include "target-descriptions.h"`
`#include "user-regs.h"`
`#include "observer.h"`
`#include "arch/arm.h"`
`#include "arch/arm-get-next-pcs.h"`
`#include "arm-tdep.h"`
`#include "gdb/sim-arm.h"`
`#include "elf-bfd.h"`
`#include "coff/internal.h"`
`#include "elf/arm.h"`
`#include "vec.h"`
`#include "record.h"`
`#include "record-full.h"`
`#include <algorithm>`
`#include "features/arm/arm-with-m.c"`
`#include "features/arm/arm-with-m-fpa-layout.c"`
`#include "features/arm/arm-with-m-vfp-d16.c"`
`#include "features/arm/arm-with-iwmmxt.c"`
`#include "features/arm/arm-with-vfpv2.c"`
`#include "features/arm/arm-with-vfpv3.c"`
`#include "features/arm/arm-with-neon.c"`
`#include "bfd-in2.h"`
`#include "libcoff.h"`

Go to the source code of this file.

## Classes
struct | arm_mapping_symbol
struct | arm_per_objfile
struct | arm_prologue_cache
struct | arm_exidx_entry
struct | arm_exidx_data
struct | stack_item
struct | arm_mem_r
struct | insn_decode_record_t

## Macros
#define | MSYMBOL_SET_SPECIAL(msym) MSYMBOL_TARGET_FLAG_1 (msym) = 1
#define | MSYMBOL_IS_SPECIAL(msym) MSYMBOL_TARGET_FLAG_1 (msym)
#define | DISPLACED_STEPPING_ARCH_VERSION 5
#define | EXTRACT_MOVW_MOVT_IMM_T(insn1, insn2)
#define | EXTRACT_MOVW_MOVT_IMM_A(insn)
#define | MAX_IT_BLOCK_PREFIX 14
#define | IT_SCAN_THRESHOLD 32
#define | ARM_NOP 0xe1a00000
#define | THUMB_NOP 0x4600
#define | ARM_LE_BREAKPOINT {0xFE,0xDE,0xFF,0xE7}
#define | ARM_BE_BREAKPOINT {0xE7,0xFF,0xDE,0xFE}
#define | THUMB_LE_BREAKPOINT {0xbe,0xbe}
#define | THUMB_BE_BREAKPOINT {0xbe,0xbe}
#define | ARM_INSN_SIZE_BYTES 4
#define | THUMB_INSN_SIZE_BYTES 2
#define | THUMB2_INSN_SIZE_BYTES 4
#define | INSN_S_L_BIT_NUM 20
#define | REG_ALLOC(REGS, LENGTH, RECORD_BUF)
#define | MEM_ALLOC(MEMS, LENGTH, RECORD_BUF)
#define | INSN_RECORDED(ARM_RECORD) (0 != (ARM_RECORD)->reg_rec_count || 0 != (ARM_RECORD)->mem_rec_count)

## Typedefs
typedef struct arm_mapping_symbol | arm_mapping_symbol_s
typedef struct arm_exidx_entry | arm_exidx_entry_s
typedef struct insn_decode_record_t | insn_decode_record
typedef int(* | sti_arm_hdl_fp_t) (insn_decode_record *)

## Enumerations
enum | arm_vfp_cprc_base_type { VFP_CPRC_UNKNOWN, VFP_CPRC_SINGLE, VFP_CPRC_DOUBLE, VFP_CPRC_VEC64, VFP_CPRC_VEC128 }
enum | arm_record_result { ARM_RECORD_SUCCESS = 0, ARM_RECORD_FAILURE = 1 }
enum | arm_record_strx_t { ARM_RECORD_STRH =1, ARM_RECORD_STRD }
enum | record_type_t { ARM_RECORD =1, THUMB_RECORD, THUMB2_RECORD }

## Functions
| DEF_VEC_O (arm_mapping_symbol_s)
static void | set_disassembly_style_sfunc (const char *, int, struct cmd_list_element *)
static void | show_disassembly_style_sfunc (struct ui_file *, int, struct cmd_list_element *, const char *)
static enum register_status | arm_neon_quad_read (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, gdb_byte *buf)
static void | arm_neon_quad_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
static CORE_ADDR | arm_get_next_pcs_syscall_next_pc (struct arm_get_next_pcs *self)
static CORE_ADDR | arm_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR prologue_start, CORE_ADDR prologue_end, struct arm_prologue_cache *cache)
int | arm_psr_thumb_bit (struct gdbarch *gdbarch)
int | arm_is_thumb (struct regcache *regcache)
int | arm_frame_is_thumb (struct frame_info *frame)
static int | arm_compare_mapping_symbols (const struct arm_mapping_symbol *lhs, const struct arm_mapping_symbol *rhs)
static char | arm_find_mapping_symbol (CORE_ADDR memaddr, CORE_ADDR *start)
int | arm_pc_is_thumb (struct gdbarch *gdbarch, CORE_ADDR memaddr)
static int | arm_m_addr_is_magic (CORE_ADDR addr)
static CORE_ADDR | arm_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR val)
static int | skip_prologue_function (struct gdbarch *gdbarch, CORE_ADDR pc, int is_thumb)
static unsigned int | thumb_expand_immediate (unsigned int imm)
static int | thumb_instruction_restores_sp (unsigned short insn)
static CORE_ADDR | thumb_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start, CORE_ADDR limit, struct arm_prologue_cache *cache)
static CORE_ADDR | arm_analyze_load_stack_chk_guard (CORE_ADDR pc, struct gdbarch *gdbarch, unsigned int *destreg, int *offset)
static CORE_ADDR | arm_skip_stack_protector (CORE_ADDR pc, struct gdbarch *gdbarch)
static CORE_ADDR | arm_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
static void | thumb_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR prev_pc, CORE_ADDR block_addr, struct arm_prologue_cache *cache)
static int | arm_instruction_restores_sp (unsigned int insn)
static void | arm_scan_prologue (struct frame_info *this_frame, struct arm_prologue_cache *cache)
static struct arm_prologue_cache * | arm_make_prologue_cache (struct frame_info *this_frame)
static enum unwind_stop_reason | arm_prologue_unwind_stop_reason (struct frame_info *this_frame, void **this_cache)
static void | arm_prologue_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | arm_prologue_prev_register (struct frame_info *this_frame, void **this_cache, int prev_regnum)
| DEF_VEC_O (arm_exidx_entry_s)
static void | arm_exidx_data_free (struct objfile *objfile, void *arg)
static int | arm_compare_exidx_entries (const struct arm_exidx_entry *lhs, const struct arm_exidx_entry *rhs)
static struct obj_section * | arm_obj_section_from_vma (struct objfile *objfile, bfd_vma vma)
static void | arm_exidx_new_objfile (struct objfile *objfile)
static gdb_byte * | arm_find_exidx_entry (CORE_ADDR memaddr, CORE_ADDR *start)
static struct arm_prologue_cache * | arm_exidx_fill_cache (struct frame_info *this_frame, gdb_byte *entry)
static int | arm_exidx_unwind_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static struct arm_prologue_cache * | arm_make_epilogue_frame_cache (struct frame_info *this_frame)
static void | arm_epilogue_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | arm_epilogue_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | arm_stack_frame_destroyed_p_1 (struct gdbarch *gdbarch, CORE_ADDR pc)
static int | thumb_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
static int | arm_epilogue_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static CORE_ADDR | arm_skip_bx_reg (struct frame_info *frame, CORE_ADDR pc)
static struct arm_prologue_cache * | arm_make_stub_cache (struct frame_info *this_frame)
static void | arm_stub_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static int | arm_stub_unwind_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static struct arm_prologue_cache * | arm_m_exception_cache (struct frame_info *this_frame)
static void | arm_m_exception_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | arm_m_exception_prev_register (struct frame_info *this_frame, void **this_cache, int prev_regnum)
static int | arm_m_exception_unwind_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static CORE_ADDR | arm_normal_frame_base (struct frame_info *this_frame, void **this_cache)
static struct frame_id | arm_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
static CORE_ADDR | arm_unwind_pc (struct gdbarch *gdbarch, struct frame_info *this_frame)
static CORE_ADDR | arm_unwind_sp (struct gdbarch *gdbarch, struct frame_info *this_frame)
static struct value * | arm_dwarf2_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static void | arm_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, struct frame_info *this_frame)
static int | arm_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
static struct stack_item * | push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
static struct stack_item * | pop_stack_item (struct stack_item *si)
static int | arm_type_align (struct type *t)
static unsigned | arm_vfp_cprc_unit_length (enum arm_vfp_cprc_base_type b)
static int | arm_vfp_cprc_reg_char (enum arm_vfp_cprc_base_type b)
static int | arm_vfp_cprc_sub_candidate (struct type *t, enum arm_vfp_cprc_base_type *base_type)
static int | arm_vfp_call_candidate (struct type *t, enum arm_vfp_cprc_base_type *base_type, int *count)
static int | arm_vfp_abi_for_function (struct gdbarch *gdbarch, struct type *func_type)
static CORE_ADDR | arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
static CORE_ADDR | arm_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
static void | print_fpu_flags (struct ui_file *file, int flags)
static void | arm_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
static struct type * | arm_ext_type (struct gdbarch *gdbarch)
static struct type * | arm_neon_double_type (struct gdbarch *gdbarch)
static struct type * | arm_neon_quad_type (struct gdbarch *gdbarch)
static struct type * | arm_register_type (struct gdbarch *gdbarch, int regnum)
static int | arm_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
static int | arm_register_sim_regno (struct gdbarch *gdbarch, int regnum)
static gdb_byte * | extend_buffer_earlier (gdb_byte *buf, CORE_ADDR endaddr, int old_len, int new_len)
static CORE_ADDR | arm_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr)
ULONGEST | displaced_read_reg (struct regcache *regs, arm_displaced_step_closure *dsc, int regno)
static int | displaced_in_arm_mode (struct regcache *regs)
static void | branch_write_pc (struct regcache *regs, arm_displaced_step_closure *dsc, ULONGEST val)
static void | bx_write_pc (struct regcache *regs, ULONGEST val)
static void | load_write_pc (struct regcache *regs, arm_displaced_step_closure *dsc, ULONGEST val)
static void | alu_write_pc (struct regcache *regs, arm_displaced_step_closure *dsc, ULONGEST val)
void | displaced_write_reg (struct regcache *regs, arm_displaced_step_closure *dsc, int regno, ULONGEST val, enum pc_write_style write_pc)
static int | insn_references_pc (uint32_t insn, uint32_t bitmask)
static int | arm_copy_unmodified (struct gdbarch *gdbarch, uint32_t insn, const char *iname, arm_displaced_step_closure *dsc)
static int | thumb_copy_unmodified_32bit (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, const char *iname, arm_displaced_step_closure *dsc)
static int | thumb_copy_unmodified_16bit (struct gdbarch *gdbarch, uint16_t insn, const char *iname, arm_displaced_step_closure *dsc)
static void | cleanup_preload (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_preload (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, unsigned int rn)
static int | arm_copy_preload (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_copy_preload (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_preload_reg (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, unsigned int rn, unsigned int rm)
static int | arm_copy_preload_reg (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_copro_load_store (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_copro_load_store (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, int writeback, unsigned int rn)
static int | arm_copy_copro_load_store (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_copy_copro_load_store (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_branch (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_b_bl_blx (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, unsigned int cond, int exchange, int link, long offset)
static int | arm_copy_b_bl_blx (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_copy_b_bl_blx (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_b (struct gdbarch *gdbarch, uint16_t insn, arm_displaced_step_closure *dsc)
static void | install_bx_blx_reg (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, int link, unsigned int cond, unsigned int rm)
static int | arm_copy_bx_blx_reg (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_bx_blx_reg (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_alu_imm (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_copy_alu_imm (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_copy_alu_imm (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_alu_reg (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_alu_reg (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, unsigned int rd, unsigned int rn, unsigned int rm)
static int | arm_copy_alu_reg (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_alu_reg (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_alu_shifted_reg (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_alu_shifted_reg (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, unsigned int rd, unsigned int rn, unsigned int rm, unsigned rs)
static int | arm_copy_alu_shifted_reg (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_load (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_store (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_copy_extra_ld_st (struct gdbarch *gdbarch, uint32_t insn, int unprivileged, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_load_store (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, int load, int immed, int writeback, int size, int usermode, int rt, int rm, int rn)
static int | thumb2_copy_load_literal (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc, int size)
static int | thumb2_copy_load_reg_imm (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc, int writeback, int immed)
static int | arm_copy_ldr_str_ldrb_strb (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc, int load, int size, int usermode)
static void | cleanup_block_load_all (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_block_store_pc (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_block_load_pc (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_copy_block_xfer (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_copy_block_xfer (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
ULONGEST | arm_get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr, int len, int byte_order)
CORE_ADDR | arm_get_next_pcs_addr_bits_remove (struct arm_get_next_pcs *self, CORE_ADDR val)
int | arm_get_next_pcs_is_thumb (struct arm_get_next_pcs *self)
std::vector< CORE_ADDR > | arm_software_single_step (struct regcache *regcache)
static void | cleanup_svc (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | install_svc (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_copy_svc (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_svc (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_copy_undef (struct gdbarch *gdbarch, uint32_t insn, arm_displaced_step_closure *dsc)
static int | thumb_32bit_copy_undef (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, arm_displaced_step_closure *dsc)
static int | arm_copy_unpred (struct gdbarch *gdbarch, uint32_t insn, arm_displaced_step_closure *dsc)
static int | arm_decode_misc_memhint_neon (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_unconditional (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_miscellaneous (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_dp_misc (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_ld_st_word_ubyte (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_media (struct gdbarch *gdbarch, uint32_t insn, arm_displaced_step_closure *dsc)
static int | arm_decode_b_bl_ldmstm (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_ext_reg_ld_st (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_decode_dp_shift_reg (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_decode_ext_reg_ld_st (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | arm_decode_svc_copro (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_decode_svc_copro (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | install_pc_relative (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, int rd)
static int | thumb_copy_pc_relative_16bit (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc, int rd, unsigned int imm)
static int | thumb_decode_pc_relative_16bit (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_pc_relative_32bit (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_16bit_ldr_literal (struct gdbarch *gdbarch, uint16_t insn1, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_cbnz_cbz (struct gdbarch *gdbarch, uint16_t insn1, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb2_copy_table_branch (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | cleanup_pop_pc_16bit_all (struct gdbarch *gdbarch, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | thumb_copy_pop_pc_16bit (struct gdbarch *gdbarch, uint16_t insn1, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | thumb_process_displaced_16bit_insn (struct gdbarch *gdbarch, uint16_t insn1, struct regcache *regs, arm_displaced_step_closure *dsc)
static int | decode_thumb_32bit_ld_mem_hints (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | thumb_process_displaced_32bit_insn (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, arm_displaced_step_closure *dsc)
static void | thumb_process_displaced_insn (struct gdbarch *gdbarch, CORE_ADDR from, struct regcache *regs, arm_displaced_step_closure *dsc)
void | arm_process_displaced_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, arm_displaced_step_closure *dsc)
void | arm_displaced_init_closure (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, arm_displaced_step_closure *dsc)
void | arm_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_closure *dsc_, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static int | gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info)
static int | arm_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
static const gdb_byte * | arm_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
static int | arm_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR *pcptr)
static void | arm_extract_return_value (struct type *type, struct regcache *regs, gdb_byte *valbuf)
static int | arm_return_in_memory (struct gdbarch *gdbarch, struct type *type)
static void | arm_store_return_value (struct type *type, struct regcache *regs, const gdb_byte *valbuf)
static enum return_value_convention | arm_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
static int | arm_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
CORE_ADDR | arm_skip_stub (struct frame_info *frame, CORE_ADDR pc)
static void | set_arm_command (const char *args, int from_tty)
static void | show_arm_command (const char *args, int from_tty)
static void | arm_update_current_architecture (void)
static void | set_fp_model_sfunc (const char *args, int from_tty, struct cmd_list_element *c)
static void | show_fp_model (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | arm_set_abi (const char *args, int from_tty, struct cmd_list_element *c)
static void | arm_show_abi (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | arm_show_fallback_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | arm_show_force_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static const char * | arm_register_name (struct gdbarch *gdbarch, int i)
static int | coff_sym_is_thumb (int val)
static void | arm_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
static void | arm_coff_make_msymbol_special (int val, struct minimal_symbol *msym)
static void | arm_objfile_data_free (struct objfile *objfile, void *arg)
static void | arm_record_special_symbol (struct gdbarch *gdbarch, struct objfile *objfile, asymbol *sym)
static void | arm_write_pc (struct regcache *regcache, CORE_ADDR pc)
static enum register_status | arm_pseudo_read (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, gdb_byte *buf)
static void | arm_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
static struct value * | value_of_arm_user_reg (struct frame_info *frame, const void *baton)
static enum gdb_osabi | arm_elf_osabi_sniffer (bfd *abfd)
static int | arm_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *group)
static void | arm_register_g_packet_guesses (struct gdbarch *gdbarch)
static int | arm_code_of_frame_writable (struct gdbarch *gdbarch, struct frame_info *frame)
static struct gdbarch * | arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
static void | arm_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
void | _initialize_arm_tdep (void)
static int | sbo_sbz (uint32_t insn, uint32_t bit_num, uint32_t len, uint32_t sbo)
static int | arm_record_strx (insn_decode_record *arm_insn_r, uint32_t *record_buf, uint32_t *record_buf_mem, arm_record_strx_t str_type)
static int | arm_record_extension_space (insn_decode_record *arm_insn_r)
static int | arm_record_data_proc_misc_ld_str (insn_decode_record *arm_insn_r)
static int | arm_record_data_proc_imm (insn_decode_record *arm_insn_r)
static int | arm_record_media (insn_decode_record *arm_insn_r)
static int | arm_record_ld_st_imm_offset (insn_decode_record *arm_insn_r)
static int | arm_record_ld_st_reg_offset (insn_decode_record *arm_insn_r)
static int | arm_record_ld_st_multiple (insn_decode_record *arm_insn_r)
static int | arm_record_b_bl (insn_decode_record *arm_insn_r)
static int | arm_record_unsupported_insn (insn_decode_record *arm_insn_r)
static int | arm_record_vdata_transfer_insn (insn_decode_record *arm_insn_r)
static int | arm_record_exreg_ld_st_insn (insn_decode_record *arm_insn_r)
static int | arm_record_vfp_data_proc_insn (insn_decode_record *arm_insn_r)
static int | arm_record_asimd_vfp_coproc (insn_decode_record *arm_insn_r)
static int | arm_record_coproc_data_proc (insn_decode_record *arm_insn_r)
static int | thumb_record_shift_add_sub (insn_decode_record *thumb_insn_r)
static int | thumb_record_add_sub_cmp_mov (insn_decode_record *thumb_insn_r)
static int | thumb_record_ld_st_reg_offset (insn_decode_record *thumb_insn_r)
static int | thumb_record_ld_st_imm_offset (insn_decode_record *thumb_insn_r)
static int | thumb_record_ld_st_stack (insn_decode_record *thumb_insn_r)
static int | thumb_record_misc (insn_decode_record *thumb_insn_r)
static int | thumb_record_ldm_stm_swi (insn_decode_record *thumb_insn_r)
static int | thumb_record_branch (insn_decode_record *thumb_insn_r)
static int | thumb2_record_ld_st_multiple (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_ld_st_dual_ex_tbb (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_data_proc_sreg_mimm (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_ps_dest_generic (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_branch_misc_cntrl (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_str_single_data (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_ld_mem_hints (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_ld_word (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_lmul_lmla_div (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_coproc_insn (insn_decode_record *thumb2_insn_r)
static int | thumb2_record_asimd_struct_ld_st (insn_decode_record *thumb2_insn_r)
static unsigned int | thumb2_record_decode_insn_handler (insn_decode_record *thumb2_insn_r)
static int | extract_arm_insn (abstract_memory_reader &reader, insn_decode_record *insn_record, uint32_t insn_size)
static int | decode_insn (abstract_memory_reader &reader, insn_decode_record *arm_record, record_type_t record_type, uint32_t insn_size)
static void | deallocate_reg_mem (insn_decode_record *record)
int | arm_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR insn_addr)

## Variables
static int | arm_debug
static const struct objfile_data * | arm_objfile_data_key
static struct cmd_list_element * | setarmcmdlist = NULL
static struct cmd_list_element * | showarmcmdlist = NULL
static const char *const | fp_model_strings []
static enum arm_float_model | arm_fp_model = ARM_FLOAT_AUTO
static const char * | current_fp_model = "auto"
static const char *const | arm_abi_strings []
static enum arm_abi_kind | arm_abi_global = ARM_ABI_AUTO
static const char * | arm_abi_string = "auto"
static const char *const | arm_mode_strings []
static const char * | arm_fallback_mode_string = "auto"
static const char * | arm_force_mode_string = "auto"
struct {
const char * name
int regnum
} | arm_register_aliases []
static const char *const | arm_register_names []
static char * | arm_disassembler_options
static const char ** | valid_disassembly_styles
static const char * | disassembly_style
static struct arm_get_next_pcs_ops | arm_get_next_pcs_ops
int | arm_apcs_32 = 1
struct frame_unwind | arm_prologue_unwind
static const struct objfile_data * | arm_exidx_data_key
struct frame_unwind | arm_exidx_unwind
static const struct frame_unwind | arm_epilogue_frame_unwind
struct frame_unwind | arm_stub_unwind
struct frame_unwind | arm_m_exception_unwind
struct frame_base | arm_normal_base
static const gdb_byte | arm_default_arm_le_breakpoint [] = ARM_LE_BREAKPOINT
static const gdb_byte | arm_default_arm_be_breakpoint [] = ARM_BE_BREAKPOINT
static const gdb_byte | arm_default_thumb_le_breakpoint [] = THUMB_LE_BREAKPOINT
static const gdb_byte | arm_default_thumb_be_breakpoint [] = THUMB_BE_BREAKPOINT

## Macro Definition Documentation

## ◆ ARM_BE_BREAKPOINT

#define ARM_BE_BREAKPOINT {0xE7,0xFF,0xDE,0xFE}

Definition at line 7771 of file arm-tdep.c.

## ◆ ARM_INSN_SIZE_BYTES

#define ARM_INSN_SIZE_BYTES 4

Definition at line 9686 of file arm-tdep.c.

Referenced by arm_process_record().

## ◆ ARM_LE_BREAKPOINT

#define ARM_LE_BREAKPOINT {0xFE,0xDE,0xFF,0xE7}

Definition at line 7770 of file arm-tdep.c.

## ◆ ARM_NOP

#define ARM_NOP 0xe1a00000

Definition at line 4409 of file arm-tdep.c.

Referenced by arm_copy_b_bl_blx(), arm_copy_block_xfer(), and arm_copy_bx_blx_reg().

## ◆ DISPLACED_STEPPING_ARCH_VERSION

#define DISPLACED_STEPPING_ARCH_VERSION 5

Definition at line 277 of file arm-tdep.c.

Referenced by alu_write_pc(), and load_write_pc().

## ◆ EXTRACT_MOVW_MOVT_IMM_A

#define EXTRACT_MOVW_MOVT_IMM_A | ( |  | insn | ) |

Value:
((bits ((insn), 16, 19) << 12) \
| bits ((insn), 0, 11))
bits
#define bits(obj, st, fn)
Definition: aarch64-tdep.c:64

Definition at line 597 of file arm-tdep.c.

Referenced by arm_analyze_load_stack_chk_guard().

## ◆ EXTRACT_MOVW_MOVT_IMM_T

#define EXTRACT_MOVW_MOVT_IMM_T | ( |  | insn1,
|  |  | insn2
| ) |  |

Value:
((bits ((insn1), 0, 3) << 12) \
| (bits ((insn1), 10, 10) << 11) \
| (bits ((insn2), 12, 14) << 8) \
| bits ((insn2), 0, 7))
bits
#define bits(obj, st, fn)
Definition: aarch64-tdep.c:64

Definition at line 589 of file arm-tdep.c.

Referenced by arm_analyze_load_stack_chk_guard(), and thumb_analyze_prologue().

## ◆ INSN_RECORDED

#define INSN_RECORDED | ( |  | ARM_RECORD | ) | (0 != (ARM_RECORD)->reg_rec_count || 0 != (ARM_RECORD)->mem_rec_count)

Definition at line 9721 of file arm-tdep.c.

Referenced by arm_record_extension_space().

## ◆ INSN_S_L_BIT_NUM

#define INSN_S_L_BIT_NUM 20

Definition at line 9693 of file arm-tdep.c.

Referenced by arm_record_data_proc_misc_ld_str(), arm_record_ld_st_imm_offset(), arm_record_ld_st_multiple(), arm_record_ld_st_reg_offset(), thumb2_record_ld_st_dual_ex_tbb(), and thumb2_record_ld_st_multiple().

## ◆ IT_SCAN_THRESHOLD

#define IT_SCAN_THRESHOLD 32

Definition at line 4229 of file arm-tdep.c.

Referenced by arm_adjust_breakpoint_address().

## ◆ MAX_IT_BLOCK_PREFIX

#define MAX_IT_BLOCK_PREFIX 14

Definition at line 4225 of file arm-tdep.c.

Referenced by arm_adjust_breakpoint_address().

## ◆ MEM_ALLOC

#define MEM_ALLOC | ( |  | MEMS,
|  |  | LENGTH,
|  |  | RECORD_BUF
| ) |  |

Value:
do \
{ \
unsigned int mem_len = LENGTH; \
if (mem_len) \
{ \
MEMS = XNEWVEC (struct arm_mem_r, mem_len); \
memcpy(&MEMS->len, &RECORD_BUF[0], \
sizeof(struct arm_mem_r) * LENGTH); \
} \
} \
while (0)
arm_mem_r
Definition: arm-tdep.c:9725
XNEWVEC
#define XNEWVEC(T, N)
Definition: poison.h:145

Definition at line 9707 of file arm-tdep.c.

Referenced by arm_record_data_proc_imm(), arm_record_data_proc_misc_ld_str(), arm_record_exreg_ld_st_insn(), arm_record_extension_space(), arm_record_ld_st_imm_offset(), arm_record_ld_st_multiple(), arm_record_ld_st_reg_offset(), thumb2_record_asimd_struct_ld_st(), thumb2_record_ld_st_dual_ex_tbb(), thumb2_record_ld_st_multiple(), thumb2_record_str_single_data(), thumb_record_ld_st_imm_offset(), thumb_record_ld_st_reg_offset(), thumb_record_ld_st_stack(), thumb_record_ldm_stm_swi(), and thumb_record_misc().

## ◆ MSYMBOL_IS_SPECIAL

#define MSYMBOL_IS_SPECIAL | ( |  | msym | ) | MSYMBOL_TARGET_FLAG_1 (msym)

Definition at line 88 of file arm-tdep.c.

Referenced by arm_pc_is_thumb().

## ◆ MSYMBOL_SET_SPECIAL

#define MSYMBOL_SET_SPECIAL | ( |  | msym | ) | MSYMBOL_TARGET_FLAG_1 (msym) = 1

Definition at line 85 of file arm-tdep.c.

Referenced by arm_coff_make_msymbol_special(), and arm_elf_make_msymbol_special().

## ◆ REG_ALLOC

#define REG_ALLOC | ( |  | REGS,
|  |  | LENGTH,
|  |  | RECORD_BUF
| ) |  |

Value:
do \
{ \
unsigned int reg_len = LENGTH; \
if (reg_len) \
{ \
REGS = XNEWVEC (uint32_t, reg_len); \
memcpy(&REGS[0], &RECORD_BUF[0], sizeof(uint32_t)*LENGTH); \
} \
} \
while (0)
XNEWVEC
#define XNEWVEC(T, N)
Definition: poison.h:145

Definition at line 9695 of file arm-tdep.c.

Referenced by arm_record_asimd_vfp_coproc(), arm_record_b_bl(), arm_record_coproc_data_proc(), arm_record_data_proc_imm(), arm_record_data_proc_misc_ld_str(), arm_record_exreg_ld_st_insn(), arm_record_extension_space(), arm_record_ld_st_imm_offset(), arm_record_ld_st_multiple(), arm_record_ld_st_reg_offset(), arm_record_media(), arm_record_vdata_transfer_insn(), arm_record_vfp_data_proc_insn(), thumb2_record_asimd_struct_ld_st(), thumb2_record_branch_misc_cntrl(), thumb2_record_data_proc_sreg_mimm(), thumb2_record_ld_mem_hints(), thumb2_record_ld_st_dual_ex_tbb(), thumb2_record_ld_st_multiple(), thumb2_record_ld_word(), thumb2_record_lmul_lmla_div(), thumb2_record_ps_dest_generic(), thumb2_record_str_single_data(), thumb_record_add_sub_cmp_mov(), thumb_record_branch(), thumb_record_ld_st_imm_offset(), thumb_record_ld_st_reg_offset(), thumb_record_ld_st_stack(), thumb_record_ldm_stm_swi(), thumb_record_misc(), and thumb_record_shift_add_sub().

## ◆ THUMB2_INSN_SIZE_BYTES

#define THUMB2_INSN_SIZE_BYTES 4

Definition at line 9688 of file arm-tdep.c.

Referenced by arm_process_record().

## ◆ THUMB_BE_BREAKPOINT

#define THUMB_BE_BREAKPOINT {0xbe,0xbe}

Definition at line 7773 of file arm-tdep.c.

## ◆ THUMB_INSN_SIZE_BYTES

#define THUMB_INSN_SIZE_BYTES 2

Definition at line 9687 of file arm-tdep.c.

Referenced by arm_process_record().

## ◆ THUMB_LE_BREAKPOINT

#define THUMB_LE_BREAKPOINT {0xbe,0xbe}

Definition at line 7772 of file arm-tdep.c.

## ◆ THUMB_NOP

#define THUMB_NOP 0x4600

Definition at line 4410 of file arm-tdep.c.

Referenced by thumb2_copy_b_bl_blx(), thumb_copy_b(), thumb_copy_bx_blx_reg(), and thumb_copy_cbnz_cbz().

## Typedef Documentation

## ◆ arm_exidx_entry_s

typedef struct arm_exidx_entry arm_exidx_entry_s

Definition at line 1981 of file arm-tdep.c.

## ◆ arm_mapping_symbol_s

typedef struct arm_mapping_symbol arm_mapping_symbol_s

Definition at line 99 of file arm-tdep.c.

## ◆ insn_decode_record

typedef struct insn_decode_record_t insn_decode_record

## ◆ sti_arm_hdl_fp_t

typedef int(* sti_arm_hdl_fp_t) (insn_decode_record *)

Definition at line 12946 of file arm-tdep.c.

## Enumeration Type Documentation

## ◆ arm_record_result

enum arm_record_result

Enumerator
ARM_RECORD_SUCCESS |
ARM_RECORD_FAILURE |

Definition at line 9776 of file arm-tdep.c.

## ◆ arm_record_strx_t

enum arm_record_strx_t

Enumerator
ARM_RECORD_STRH |
ARM_RECORD_STRD |

Definition at line 9782 of file arm-tdep.c.

## ◆ arm_vfp_cprc_base_type

enum arm_vfp_cprc_base_type

Enumerator
VFP_CPRC_UNKNOWN |
VFP_CPRC_SINGLE |
VFP_CPRC_DOUBLE |
VFP_CPRC_VEC64 |
VFP_CPRC_VEC128 |

Definition at line 3415 of file arm-tdep.c.

## ◆ record_type_t

enum record_type_t

Enumerator
ARM_RECORD |
THUMB_RECORD |
THUMB2_RECORD |

Definition at line 9788 of file arm-tdep.c.

## Function Documentation

## ◆ _initialize_arm_tdep()

void _initialize_arm_tdep | ( | void |  | ) |

Definition at line 9546 of file arm-tdep.c.

References _, add_prefix_cmd(), add_setshow_boolean_cmd(), add_setshow_enum_cmd(), arm_abi_string, arm_abi_strings, arm_apcs_32, arm_debug, arm_disassembler_options, arm_dump_tdep(), arm_elf_osabi_sniffer(), arm_exidx_data_free(), arm_exidx_data_key, arm_exidx_new_objfile(), arm_fallback_mode_string, arm_force_mode_string, arm_gdbarch_init(), arm_mode_strings, arm_objfile_data_free(), arm_objfile_data_key, arm_set_abi(), arm_show_abi(), arm_show_fallback_mode(), arm_show_force_mode(), class_maintenance, class_support, current_fp_model, disassembly_style, fp_model_strings, gdbarch_register(), gdbarch_register_osabi_sniffer(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_arm_with_m(), initialize_tdesc_arm_with_m_fpa_layout(), initialize_tdesc_arm_with_m_vfp_d16(), initialize_tdesc_arm_with_neon(), initialize_tdesc_arm_with_vfpv2(), initialize_tdesc_arm_with_vfpv3(), no_class, observer_attach_new_objfile(), offset, selftests::register_test(), set_arm_command(), set_disassembly_style_sfunc(), set_fp_model_sfunc(), setarmcmdlist, setdebuglist, setlist, show_arm_command(), show_disassembly_style_sfunc(), show_fp_model(), showarmcmdlist, showdebuglist, showlist, string, string_printf(), valid_disassembly_styles, and XNEWVEC.

## ◆ alu_write_pc()

static void alu_write_pc | ( | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | ULONGEST | val
| ) |  |
| static

Definition at line 4523 of file arm-tdep.c.

References branch_write_pc(), bx_write_pc(), DISPLACED_STEPPING_ARCH_VERSION, and arm_displaced_step_closure::is_thumb.

Referenced by displaced_write_reg().

## ◆ arm_addr_bits_remove()

static CORE_ADDR arm_addr_bits_remove | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | val
| ) |  |
| static

Definition at line 518 of file arm-tdep.c.

References arm_apcs_32, arm_m_addr_is_magic(), and UNMAKE_THUMB_ADDR.

Referenced by arm_dwarf2_prev_register(), arm_gdbarch_init(), arm_prologue_prev_register(), and arm_unwind_pc().

## ◆ arm_adjust_breakpoint_address()

static CORE_ADDR arm_adjust_breakpoint_address | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | bpaddr
| ) |  |
| static

Definition at line 4235 of file arm-tdep.c.

References arm_find_mapping_symbol(), arm_pc_is_thumb(), extend_buffer_earlier(), extract_unsigned_integer(), find_pc_partial_function(), gdbarch_addr_bits_remove(), gdbarch_byte_order_for_code(), IT_SCAN_THRESHOLD, MAX_IT_BLOCK_PREFIX, target_read_code(), thumb_insn_size(), xfree(), and xmalloc().

Referenced by arm_gdbarch_init().

## ◆ arm_analyze_load_stack_chk_guard()

static CORE_ADDR arm_analyze_load_stack_chk_guard | ( | CORE_ADDR | pc,
|  | struct gdbarch * | gdbarch,
|  | unsigned int * | destreg,
|  | int * | offset
| ) |  |
| static

Definition at line 1122 of file arm-tdep.c.

References arm_pc_is_thumb(), bits, EXTRACT_MOVW_MOVT_IMM_A, EXTRACT_MOVW_MOVT_IMM_T, gdbarch_byte_order_for_code(), offset, read_code_unsigned_integer(), and read_memory_unsigned_integer().

Referenced by arm_skip_stack_protector().

## ◆ arm_analyze_prologue()

static CORE_ADDR arm_analyze_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | prologue_start,
|  | CORE_ADDR | prologue_end,
|  | struct arm_prologue_cache * | cache
| ) |  |
| static

Definition at line 1478 of file arm-tdep.c.

References trad_frame_saved_reg::addr, arm_debug, ARM_F0_REGNUM, ARM_FP_REGNUM, ARM_FPS_REGNUM, arm_instruction_changes_pc(), arm_instruction_restores_sp(), ARM_IP_REGNUM, ARM_PC_REGNUM, ARM_SP_REGNUM, bits, BranchDest, pv_area::find_reg(), fprintf_unfiltered(), arm_prologue_cache::framereg, arm_prologue_cache::framesize, gdb_stdlog, gdbarch_addr_bit(), gdbarch_byte_order_for_code(), prologue_value::k, offset, paddress(), pv_add_constant(), pv_is_register(), pv_register(), read_code_unsigned_integer(), arm_prologue_cache::saved_regs, skip_prologue_function(), pv_area::store(), and pv_area::store_would_trash().

Referenced by arm_scan_prologue(), and arm_skip_prologue().

## ◆ arm_breakpoint_kind_from_current_state()

static int arm_breakpoint_kind_from_current_state | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR * | pcptr
| ) |  |
| static

Definition at line 7841 of file arm-tdep.c.

References ARM_BP_KIND_ARM, arm_breakpoint_kind_from_pc(), arm_get_next_pcs(), arm_get_next_pcs_ctor(), gdbarch_byte_order(), gdbarch_byte_order_for_code(), IS_THUMB_ADDR, MAKE_THUMB_ADDR, regcache_read_pc(), target_read_memory(), and UNMAKE_THUMB_ADDR.

Referenced by arm_gdbarch_init().

## ◆ arm_breakpoint_kind_from_pc()

static int arm_breakpoint_kind_from_pc | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR * | pcptr
| ) |  |
| static

Definition at line 7783 of file arm-tdep.c.

References ARM_BP_KIND_ARM, ARM_BP_KIND_THUMB, ARM_BP_KIND_THUMB2, arm_pc_is_thumb(), extract_unsigned_integer(), gdbarch_byte_order_for_code(), gdbarch_tdep(), target_read_memory(), gdbarch_tdep::thumb2_breakpoint, thumb_insn_size(), and UNMAKE_THUMB_ADDR.

Referenced by arm_breakpoint_kind_from_current_state(), and arm_gdbarch_init().

## ◆ arm_code_of_frame_writable()

static int arm_code_of_frame_writable | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | frame
| ) |  |
| static

Definition at line 8905 of file arm-tdep.c.

References get_frame_type(), and SIGTRAMP_FRAME.

Referenced by arm_gdbarch_init().

## ◆ arm_coff_make_msymbol_special()

static void arm_coff_make_msymbol_special | ( | int | val,
|  | struct minimal_symbol * | msym
| ) |  |
| static

Definition at line 8586 of file arm-tdep.c.

References coff_sym_is_thumb(), and MSYMBOL_SET_SPECIAL.

Referenced by arm_gdbarch_init().

## ◆ arm_compare_exidx_entries()

static int arm_compare_exidx_entries | ( | const struct arm_exidx_entry * | lhs,
|  | const struct arm_exidx_entry * | rhs
| ) |  |
| inline static

Definition at line 2000 of file arm-tdep.c.

References arm_exidx_entry::addr.

Referenced by arm_find_exidx_entry().

## ◆ arm_compare_mapping_symbols()

static int arm_compare_mapping_symbols | ( | const struct arm_mapping_symbol * | lhs,
|  | const struct arm_mapping_symbol * | rhs
| ) |  |
| inline static

Definition at line 327 of file arm-tdep.c.

References arm_mapping_symbol::value.

Referenced by arm_find_mapping_symbol(), and arm_record_special_symbol().

## ◆ arm_copy_alu_imm()

static int arm_copy_alu_imm | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5166 of file arm-tdep.c.

References arm_copy_unmodified(), bits, CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_alu_imm(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), arm_displaced_step_closure::modinsn, arm_displaced_step_closure::rd, and arm_displaced_step_closure::tmp.

Referenced by arm_decode_dp_misc().

## ◆ arm_copy_alu_reg()

static int arm_copy_alu_reg | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5316 of file arm-tdep.c.

References arm_copy_unmodified(), bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), install_alu_reg(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_dp_misc().

## ◆ arm_copy_alu_shifted_reg()

static int arm_copy_alu_shifted_reg | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5418 of file arm-tdep.c.

References arm_copy_unmodified(), bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), install_alu_shifted_reg(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_dp_misc().

## ◆ arm_copy_b_bl_blx()

static int arm_copy_b_bl_blx | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4966 of file arm-tdep.c.

References ARM_NOP, bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_b_bl_blx(), arm_displaced_step_closure::modinsn, and offset.

Referenced by arm_decode_b_bl_ldmstm(), and arm_decode_unconditional().

## ◆ arm_copy_block_xfer()

static int arm_copy_block_xfer | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6014 of file arm-tdep.c.

References _, arm_copy_unmodified(), ARM_NOP, ARM_PC_REGNUM, bit, bitcount(), bits, arm_displaced_step_closure::block, arm_displaced_step_closure::cleanup, cleanup_block_load_all(), cleanup_block_load_pc(), cleanup_block_store_pc(), debug_displaced, displaced_read_reg(), fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::tmp, arm_displaced_step_closure::u, and warning().

Referenced by arm_decode_b_bl_ldmstm().

## ◆ arm_copy_bx_blx_reg()

static int arm_copy_bx_blx_reg | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5114 of file arm-tdep.c.

References ARM_NOP, bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_bx_blx_reg(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_miscellaneous().

## ◆ arm_copy_copro_load_store()

static int arm_copy_copro_load_store | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4856 of file arm-tdep.c.

References arm_copy_unmodified(), bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), install_copro_load_store(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_ext_reg_ld_st(), arm_decode_svc_copro(), and arm_decode_unconditional().

## ◆ arm_copy_extra_ld_st()

static int arm_copy_extra_ld_st | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | int | unprivileged,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5504 of file arm-tdep.c.

References _, arm_copy_unmodified(), bit, bits, CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_load(), cleanup_store(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), internal_error(), arm_displaced_step_closure::ldst, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::rd, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_decode_dp_misc().

## ◆ arm_copy_ldr_str_ldrb_strb()

static int arm_copy_ldr_str_ldrb_strb | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | load,
|  | int | size,
|  | int | usermode
| ) |  |
| static

Definition at line 5738 of file arm-tdep.c.

References arm_copy_unmodified(), ARM_PC_REGNUM, bit, bits, arm_displaced_step_closure::cleanup, cleanup_load(), cleanup_store(), debug_displaced, fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), install_load_store(), arm_displaced_step_closure::ldst, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, size, and arm_displaced_step_closure::u.

Referenced by arm_decode_ld_st_word_ubyte().

## ◆ arm_copy_preload()

static int arm_copy_preload | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4698 of file arm-tdep.c.

References arm_copy_unmodified(), bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), install_preload(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_misc_memhint_neon().

## ◆ arm_copy_preload_reg()

static int arm_copy_preload_reg | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4792 of file arm-tdep.c.

References arm_copy_unmodified(), bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, insn_references_pc(), install_preload_reg(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_misc_memhint_neon().

## ◆ arm_copy_svc()

static int arm_copy_svc | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6313 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_svc(), and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_svc_copro().

## ◆ arm_copy_undef()

static int arm_copy_undef | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6343 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_media(), arm_decode_misc_memhint_neon(), arm_decode_miscellaneous(), arm_decode_svc_copro(), and arm_decode_unconditional().

## ◆ arm_copy_unmodified()

static int arm_copy_unmodified | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | const char * | iname,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4620 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, and arm_displaced_step_closure::modinsn.

Referenced by arm_copy_alu_imm(), arm_copy_alu_reg(), arm_copy_alu_shifted_reg(), arm_copy_block_xfer(), arm_copy_copro_load_store(), arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), arm_copy_preload(), arm_copy_preload_reg(), arm_decode_dp_misc(), arm_decode_ext_reg_ld_st(), arm_decode_media(), arm_decode_misc_memhint_neon(), arm_decode_miscellaneous(), arm_decode_svc_copro(), and arm_decode_unconditional().

## ◆ arm_copy_unpred()

static int arm_copy_unpred | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6376 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, and arm_displaced_step_closure::modinsn.

Referenced by arm_decode_misc_memhint_neon().

## ◆ arm_decode_b_bl_ldmstm()

static int arm_decode_b_bl_ldmstm | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6726 of file arm-tdep.c.

References arm_copy_b_bl_blx(), arm_copy_block_xfer(), and bit.

Referenced by arm_process_displaced_insn().

## ◆ arm_decode_dp_misc()

static int arm_decode_dp_misc | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6587 of file arm-tdep.c.

References arm_copy_alu_imm(), arm_copy_alu_reg(), arm_copy_alu_shifted_reg(), arm_copy_extra_ld_st(), arm_copy_unmodified(), arm_decode_miscellaneous(), bit, and bits.

Referenced by arm_process_displaced_insn().

## ◆ arm_decode_ext_reg_ld_st()

static int arm_decode_ext_reg_ld_st | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6737 of file arm-tdep.c.

References arm_copy_copro_load_store(), arm_copy_unmodified(), and bits.

Referenced by arm_decode_svc_copro().

## ◆ arm_decode_ld_st_word_ubyte()

static int arm_decode_ld_st_word_ubyte | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6633 of file arm-tdep.c.

References arm_copy_ldr_str_ldrb_strb(), bit, and bits.

Referenced by arm_process_displaced_insn().

## ◆ arm_decode_media()

static int arm_decode_media | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6670 of file arm-tdep.c.

References arm_copy_undef(), arm_copy_unmodified(), and bits.

Referenced by arm_process_displaced_insn().

## ◆ arm_decode_misc_memhint_neon()

static int arm_decode_misc_memhint_neon | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6392 of file arm-tdep.c.

References arm_copy_preload(), arm_copy_preload_reg(), arm_copy_undef(), arm_copy_unmodified(), arm_copy_unpred(), and bits.

Referenced by arm_decode_unconditional().

## ◆ arm_decode_miscellaneous()

static int arm_decode_miscellaneous | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6537 of file arm-tdep.c.

References arm_copy_bx_blx_reg(), arm_copy_undef(), arm_copy_unmodified(), and bits.

Referenced by arm_decode_dp_misc().

## ◆ arm_decode_svc_copro()

static int arm_decode_svc_copro | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6827 of file arm-tdep.c.

References arm_copy_copro_load_store(), arm_copy_svc(), arm_copy_undef(), arm_copy_unmodified(), arm_decode_ext_reg_ld_st(), bit, and bits.

Referenced by arm_process_displaced_insn().

## ◆ arm_decode_unconditional()

static int arm_decode_unconditional | ( | struct gdbarch * | gdbarch,
|  | uint32_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6452 of file arm-tdep.c.

References arm_copy_b_bl_blx(), arm_copy_copro_load_store(), arm_copy_undef(), arm_copy_unmodified(), arm_decode_misc_memhint_neon(), bit, and bits.

Referenced by arm_process_displaced_insn().

## ◆ arm_displaced_init_closure()

void arm_displaced_init_closure | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | from,
|  | CORE_ADDR | to,
|  | arm_displaced_step_closure * | dsc
| ) |  |

Definition at line 7616 of file arm-tdep.c.

References gdbarch_tdep::arm_breakpoint, gdbarch_tdep::arm_breakpoint_size, debug_displaced, fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order_for_code(), gdbarch_tdep(), arm_displaced_step_closure::is_thumb, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, offset, paddress(), size, gdbarch_tdep::thumb_breakpoint, gdbarch_tdep::thumb_breakpoint_size, write_memory(), and write_memory_unsigned_integer().

Referenced by arm_linux_displaced_step_copy_insn().

## ◆ arm_displaced_step_fixup()

void arm_displaced_step_fixup | ( | struct gdbarch * | gdbarch,
|  | struct displaced_step_closure * | dsc_,
|  | CORE_ADDR | from,
|  | CORE_ADDR | to,
|  | struct regcache * | regs
| ) |  |

Definition at line 7673 of file arm-tdep.c.

References ARM_PC_REGNUM, arm_displaced_step_closure::cleanup, arm_displaced_step_closure::insn_addr, arm_displaced_step_closure::insn_size, regcache_cooked_write_unsigned(), gdbarch_tdep::regs, and arm_displaced_step_closure::wrote_to_pc.

Referenced by arm_linux_init_abi().

## ◆ arm_dummy_id()

static struct frame_id arm_dummy_id | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3074 of file arm-tdep.c.

References ARM_SP_REGNUM, frame_id_build(), get_frame_pc(), and get_frame_register_unsigned().

Referenced by arm_gdbarch_init().

## ◆ arm_dump_tdep()

static void arm_dump_tdep | ( | struct gdbarch * | gdbarch,
|  | struct ui_file * | file
| ) |  |
| static

Definition at line 9527 of file arm-tdep.c.

References _, fprintf_unfiltered(), gdbarch_tdep(), and gdbarch_tdep::lowest_pc.

Referenced by _initialize_arm_tdep().

## ◆ arm_dwarf2_frame_init_reg()

static void arm_dwarf2_frame_init_reg | ( | struct gdbarch * | gdbarch,
|  | int | regnum,
|  | struct dwarf2_frame_state_reg * | reg,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3135 of file arm-tdep.c.

References arm_dwarf2_prev_register(), ARM_PC_REGNUM, ARM_PS_REGNUM, ARM_SP_REGNUM, DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_FN, and regnum.

Referenced by arm_gdbarch_init().

## ◆ arm_dwarf2_prev_register()

static struct value* arm_dwarf2_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 3100 of file arm-tdep.c.

References _, arm_addr_bits_remove(), ARM_LR_REGNUM, ARM_PC_REGNUM, ARM_PS_REGNUM, arm_psr_thumb_bit(), frame_unwind_got_constant(), frame_unwind_register_unsigned(), get_frame_arch(), get_frame_register_unsigned(), internal_error(), IS_THUMB_ADDR, and regnum.

Referenced by arm_dwarf2_frame_init_reg().

## ◆ arm_dwarf_reg_to_regnum()

static int arm_dwarf_reg_to_regnum | ( | struct gdbarch * | gdbarch,
|  | int | reg
| ) |  |
| static

Definition at line 4110 of file arm-tdep.c.

References ARM_F0_REGNUM, ARM_WC0_REGNUM, ARM_WCGR0_REGNUM, ARM_WR0_REGNUM, user_reg_map_name_to_regnum(), and xsnprintf().

Referenced by arm_gdbarch_init().

## ◆ arm_elf_make_msymbol_special()

static void arm_elf_make_msymbol_special | ( | asymbol * | sym,
|  | struct minimal_symbol * | msym
| ) |  |
| static

Definition at line 8576 of file arm-tdep.c.

References MSYMBOL_SET_SPECIAL.

Referenced by arm_gdbarch_init().

## ◆ arm_elf_osabi_sniffer()

static enum gdb_osabi arm_elf_osabi_sniffer | ( | bfd * | abfd | ) |
| static

Definition at line 8825 of file arm-tdep.c.

References GDB_OSABI_UNKNOWN, and generic_elf_osabi_sniff_abi_tag_sections().

Referenced by _initialize_arm_tdep().

## ◆ arm_epilogue_frame_prev_register()

static struct value* arm_epilogue_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 2765 of file arm-tdep.c.

References arm_make_epilogue_frame_cache(), arm_prologue_prev_register(), and regnum.

## ◆ arm_epilogue_frame_sniffer()

static int arm_epilogue_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2783 of file arm-tdep.c.

References arm_frame_is_thumb(), arm_stack_frame_destroyed_p_1(), frame_relative_level(), get_frame_arch(), get_frame_pc(), and thumb_stack_frame_destroyed_p().

## ◆ arm_epilogue_frame_this_id()

static void arm_epilogue_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2739 of file arm-tdep.c.

References arm_make_epilogue_frame_cache(), frame_id_build(), func, get_frame_func(), get_frame_pc(), and arm_prologue_cache::prev_sp.

## ◆ arm_exidx_data_free()

static void arm_exidx_data_free | ( | struct objfile * | objfile,
|  | void * | arg
| ) |  |
| static

Definition at line 1990 of file arm-tdep.c.

References objfile::obfd, and VEC_free.

Referenced by _initialize_arm_tdep().

## ◆ arm_exidx_fill_cache()

static struct arm_prologue_cache* arm_exidx_fill_cache | ( | struct frame_info * | this_frame,
|  | gdb_byte * | entry
| ) |  |
| static

Definition at line 2318 of file arm-tdep.c.

References trad_frame_saved_reg::addr, ARM_D0_REGNUM, ARM_LR_REGNUM, ARM_PC_REGNUM, ARM_SP_REGNUM, ARM_WCGR0_REGNUM, ARM_WR0_REGNUM, FRAME_OBSTACK_ZALLOC, arm_prologue_cache::framereg, arm_prologue_cache::framesize, get_frame_memory_unsigned(), get_frame_register_unsigned(), offset, arm_prologue_cache::prev_sp, trad_frame_saved_reg::realreg, arm_prologue_cache::saved_regs, trad_frame_addr_p(), trad_frame_alloc_saved_regs(), and trad_frame_realreg_p().

Referenced by arm_exidx_unwind_sniffer().

## ◆ arm_exidx_new_objfile()

static void arm_exidx_new_objfile | ( | struct objfile * | objfile | ) |
| static

Definition at line 2041 of file arm-tdep.c.

References arm_exidx_entry::addr, arm_exidx_data_key, arm_obj_section_from_vma(), do_cleanups(), arm_exidx_entry::entry, lookup_minimal_symbol_by_pc_name(), make_cleanup(), null_cleanup(), objfile::obfd, obj_section_offset, OBSTACK_CALLOC, OBSTACK_ZALLOC, obj_section::the_bfd_section, UNMAKE_THUMB_ADDR, VEC, VEC_safe_push, xfree(), and xmalloc().

Referenced by _initialize_arm_tdep().

## ◆ arm_exidx_unwind_sniffer()

static int arm_exidx_unwind_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2613 of file arm-tdep.c.

References arm_exidx_fill_cache(), arm_find_exidx_entry(), arm_frame_is_thumb(), gdbarch::byte_order_for_code, find_pc_partial_function(), gdbarch_byte_order_for_code(), get_frame_address_in_block(), get_frame_arch(), get_frame_pc(), get_frame_type(), get_next_frame(), NORMAL_FRAME, and safe_read_memory_unsigned_integer().

## ◆ arm_ext_type()

static struct type* arm_ext_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3973 of file arm-tdep.c.

References arch_float_type(), gdbarch_tdep::arm_ext_type, floatformats_arm_ext, and gdbarch_tdep().

Referenced by arm_extract_return_value(), arm_register_type(), and arm_store_return_value().

## ◆ arm_extract_return_value()

static void arm_extract_return_value | ( | struct type * | type,
|  | struct regcache * | regs,
|  | gdb_byte * | valbuf
| ) |  |
| static

Definition at line 7887 of file arm-tdep.c.

References _, regcache::arch(), ARM_A1_REGNUM, arm_ext_type(), ARM_F0_REGNUM, ARM_FLOAT_FPA, ARM_FLOAT_SOFT_FPA, ARM_FLOAT_SOFT_VFP, ARM_FLOAT_VFP, gdbarch::byte_order, FP_REGISTER_SIZE, gdbarch_byte_order(), INT_REGISTER_SIZE, internal_error(), regcache_cooked_read(), regcache_cooked_read_unsigned(), store_unsigned_integer(), target_float_convert(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_IS_REFERENCE, and TYPE_LENGTH.

Referenced by arm_return_value().

## ◆ arm_find_exidx_entry()

static gdb_byte* arm_find_exidx_entry | ( | CORE_ADDR | memaddr,
|  | CORE_ADDR * | start
| ) |  |
| static

Definition at line 2255 of file arm-tdep.c.

References arm_exidx_entry::addr, arm_compare_exidx_entries(), arm_exidx_data_key, arm_exidx_entry::entry, find_pc_section(), obj_section_addr, obj_section::objfile, obj_section::the_bfd_section, VEC, VEC_empty, VEC_index, VEC_length, and VEC_lower_bound.

Referenced by arm_exidx_unwind_sniffer().

## ◆ arm_find_mapping_symbol()

static char arm_find_mapping_symbol | ( | CORE_ADDR | memaddr,
|  | CORE_ADDR * | start
| ) |  |
| static

Definition at line 338 of file arm-tdep.c.

References arm_compare_mapping_symbols(), arm_objfile_data_key, find_pc_section(), obj_section_addr, obj_section::objfile, obj_section::the_bfd_section, arm_mapping_symbol::type, arm_mapping_symbol::value, VEC, VEC_empty, VEC_index, VEC_length, and VEC_lower_bound.

Referenced by arm_adjust_breakpoint_address(), and arm_pc_is_thumb().

## ◆ arm_frame_align()

static CORE_ADDR arm_frame_align | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | sp
| ) |  |
| static

Definition at line 3927 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_frame_is_thumb()

int arm_frame_is_thumb | ( | struct frame_info * | frame | ) |

Definition at line 310 of file arm-tdep.c.

References ARM_PS_REGNUM, arm_psr_thumb_bit(), 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().

## ◆ arm_gdbarch_init()

static struct gdbarch* arm_gdbarch_init | ( | struct gdbarch_info | info,
|  | struct gdbarch_list * | arches
| ) |  |
| static

Definition at line 8927 of file arm-tdep.c.

References _, gdbarch_info::abfd, gdbarch_tdep::arm_abi, ARM_ABI_AAPCS, ARM_ABI_APCS, ARM_ABI_AUTO, arm_abi_global, arm_addr_bits_remove(), arm_adjust_breakpoint_address(), gdbarch_tdep::arm_breakpoint, arm_breakpoint_kind_from_current_state(), arm_breakpoint_kind_from_pc(), gdbarch_tdep::arm_breakpoint_size, arm_code_of_frame_writable(), arm_coff_make_msymbol_special(), ARM_D0_REGNUM, arm_default_arm_be_breakpoint, arm_default_arm_le_breakpoint, arm_default_thumb_be_breakpoint, arm_default_thumb_le_breakpoint, arm_disassembler_options, arm_dummy_id(), arm_dwarf2_frame_init_reg(), arm_dwarf_reg_to_regnum(), arm_elf_make_msymbol_special(), arm_epilogue_frame_unwind, arm_exidx_unwind, ARM_F0_REGNUM, ARM_FLOAT_AUTO, ARM_FLOAT_FPA, ARM_FLOAT_SOFT_FPA, ARM_FLOAT_SOFT_VFP, ARM_FLOAT_VFP, arm_fp_model, ARM_FPS_REGNUM, ARM_FPSCR_REGNUM, arm_frame_align(), arm_get_longjmp_target(), ARM_LR_REGNUM, arm_m_exception_unwind, arm_normal_base, ARM_NUM_REGS, ARM_PC_REGNUM, arm_print_float_info(), arm_prologue_unwind, ARM_PS_REGNUM, arm_pseudo_read(), arm_pseudo_write(), arm_push_dummy_call(), arm_record_special_symbol(), arm_register_aliases, arm_register_g_packet_guesses(), arm_register_name(), arm_register_names, arm_register_reggroup_p(), arm_register_sim_regno(), arm_register_type(), arm_return_value(), arm_skip_prologue(), arm_skip_stub(), ARM_SP_REGNUM, arm_stack_frame_destroyed_p(), arm_stub_unwind, arm_sw_breakpoint_from_kind(), arm_unwind_pc(), arm_unwind_sp(), ARM_WC0_REGNUM, ARM_WCASF_REGNUM, ARM_WCGR0_REGNUM, ARM_WCGR3_REGNUM, ARM_WR0_REGNUM, ARM_WR15_REGNUM, arm_write_pc(), gdbarch_info::byte_order_for_code, core_addr_lessthan(), DISPLACED_MODIFIED_INSNS, dwarf2_append_unwinders(), dwarf2_frame_set_init_reg(), floatformats_ieee_double, floatformats_ieee_double_littlebyte_bigword, floatformats_ieee_single, gdbarch_tdep::fp_model, frame_base_set_default(), frame_unwind_append_unwinder(), gdb_assert, gdb_print_insn_arm(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_tdep::have_fpa_registers, gdbarch_tdep::have_neon, gdbarch_tdep::have_neon_pseudos, gdbarch_tdep::have_vfp_pseudos, gdbarch_tdep::have_wmmx_registers, internal_error(), gdbarch_tdep::is_m, gdbarch_tdep::jb_pc, gdbarch_tdep::lowest_pc, name, gdbarch_list::next, reg_struct_return, regnum, set_gdbarch_addr_bits_remove(), set_gdbarch_adjust_breakpoint_address(), set_gdbarch_breakpoint_kind_from_current_state(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_char_signed(), set_gdbarch_code_of_frame_writable(), set_gdbarch_coff_make_msymbol_special(), set_gdbarch_disassembler_options(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_elf_make_msymbol_special(), set_gdbarch_float_format(), set_gdbarch_frame_align(), set_gdbarch_get_longjmp_target(), set_gdbarch_have_nonsteppable_watchpoint(), set_gdbarch_inner_than(), set_gdbarch_long_double_format(), set_gdbarch_max_insn_length(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_float_info(), set_gdbarch_print_insn(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_push_dummy_call(), set_gdbarch_record_special_symbol(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_sim_regno(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_skip_trampoline_code(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_valid_disassembler_options(), set_gdbarch_vbit_in_delta(), set_gdbarch_wchar_signed(), set_gdbarch_write_pc(), set_tdesc_pseudo_register_name(), gdbarch_tdep::struct_return, gdbarch_info::target_desc, tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_numbered_register_choices(), tdesc_unnumbered_register(), tdesc_use_registers(), gdbarch_tdep::thumb_breakpoint, gdbarch_tdep::thumb_breakpoint_size, user_reg_add(), value_of_arm_user_reg(), gdbarch_tdep::vfp_register_count, warning(), and XCNEW.

Referenced by _initialize_arm_tdep().

## ◆ arm_get_longjmp_target()

static int arm_get_longjmp_target | ( | struct frame_info * | frame,
|  | CORE_ADDR * | pc
| ) |  |
| static

Definition at line 8260 of file arm-tdep.c.

References ARM_A1_REGNUM, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_register_unsigned(), INT_REGISTER_SIZE, gdbarch_tdep::jb_elt_size, gdbarch_tdep::jb_pc, gdbarch_tdep::pc, and target_read_memory().

Referenced by arm_gdbarch_init().

## ◆ arm_get_next_pcs_addr_bits_remove()

CORE_ADDR arm_get_next_pcs_addr_bits_remove | ( | struct arm_get_next_pcs * | self,
|  | CORE_ADDR | val
| ) |  |

Definition at line 6223 of file arm-tdep.c.

References gdbarch_addr_bits_remove().

## ◆ arm_get_next_pcs_is_thumb()

int arm_get_next_pcs_is_thumb | ( | struct arm_get_next_pcs * | self | ) |

Definition at line 6240 of file arm-tdep.c.

References arm_is_thumb().

## ◆ arm_get_next_pcs_read_memory_unsigned_integer()

ULONGEST arm_get_next_pcs_read_memory_unsigned_integer | ( | CORE_ADDR | memaddr,
|  | int | len,
|  | int | byte_order
| ) |  |

Definition at line 6213 of file arm-tdep.c.

References read_memory_unsigned_integer().

## ◆ arm_get_next_pcs_syscall_next_pc()

static CORE_ADDR arm_get_next_pcs_syscall_next_pc | ( | struct arm_get_next_pcs * | self | ) |
| static

Definition at line 6232 of file arm-tdep.c.

## ◆ arm_instruction_restores_sp()

static int arm_instruction_restores_sp | ( | unsigned int | insn | ) |
| static

Definition at line 1447 of file arm-tdep.c.

References bits, and INST_NV.

Referenced by arm_analyze_prologue(), and arm_stack_frame_destroyed_p_1().

## ◆ arm_is_thumb()

int arm_is_thumb | ( | struct regcache * | regcache | ) |

Definition at line 297 of file arm-tdep.c.

References regcache::arch(), ARM_PS_REGNUM, arm_psr_thumb_bit(), and regcache_raw_get_unsigned().

Referenced by arm_get_next_pcs_is_thumb(), and arm_linux_get_next_pcs_syscall_next_pc().

## ◆ arm_m_addr_is_magic()

static int arm_m_addr_is_magic | ( | CORE_ADDR | addr | ) |
| static

Definition at line 495 of file arm-tdep.c.

Referenced by arm_addr_bits_remove(), and arm_m_exception_unwind_sniffer().

## ◆ arm_m_exception_cache()

static struct arm_prologue_cache* arm_m_exception_cache | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 2939 of file arm-tdep.c.

References trad_frame_saved_reg::addr, ARM_PS_REGNUM, ARM_SP_REGNUM, gdbarch::byte_order, FRAME_OBSTACK_ZALLOC, gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), arm_prologue_cache::prev_sp, safe_read_memory_integer(), arm_prologue_cache::saved_regs, and trad_frame_alloc_saved_regs().

Referenced by arm_m_exception_prev_register(), and arm_m_exception_this_id().

## ◆ arm_m_exception_prev_register()

static struct value* arm_m_exception_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | prev_regnum
| ) |  |
| static

Definition at line 3000 of file arm-tdep.c.

References arm_m_exception_cache(), ARM_SP_REGNUM, frame_unwind_got_constant(), arm_prologue_cache::prev_sp, arm_prologue_cache::saved_regs, and trad_frame_get_prev_register().

## ◆ arm_m_exception_this_id()

static void arm_m_exception_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2981 of file arm-tdep.c.

References arm_m_exception_cache(), frame_id_build(), get_frame_pc(), and arm_prologue_cache::prev_sp.

## ◆ arm_m_exception_unwind_sniffer()

static int arm_m_exception_unwind_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 3023 of file arm-tdep.c.

References arm_m_addr_is_magic(), and get_frame_pc().

## ◆ arm_make_epilogue_frame_cache()

static struct arm_prologue_cache* arm_make_epilogue_frame_cache | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 2712 of file arm-tdep.c.

References trad_frame_saved_reg::addr, arm_scan_prologue(), ARM_SP_REGNUM, FRAME_OBSTACK_ZALLOC, gdbarch_num_regs(), get_frame_arch(), get_frame_register_unsigned(), arm_prologue_cache::prev_sp, arm_prologue_cache::saved_regs, trad_frame_addr_p(), and trad_frame_alloc_saved_regs().

Referenced by arm_epilogue_frame_prev_register(), and arm_epilogue_frame_this_id().

## ◆ arm_make_prologue_cache()

static struct arm_prologue_cache* arm_make_prologue_cache | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 1823 of file arm-tdep.c.

References trad_frame_saved_reg::addr, arm_scan_prologue(), FRAME_OBSTACK_ZALLOC, arm_prologue_cache::framereg, arm_prologue_cache::framesize, gdbarch_num_regs(), get_frame_arch(), get_frame_register_unsigned(), arm_prologue_cache::prev_sp, arm_prologue_cache::saved_regs, trad_frame_addr_p(), and trad_frame_alloc_saved_regs().

Referenced by arm_normal_frame_base(), arm_prologue_prev_register(), arm_prologue_this_id(), and arm_prologue_unwind_stop_reason().

## ◆ arm_make_stub_cache()

static struct arm_prologue_cache* arm_make_stub_cache | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 2872 of file arm-tdep.c.

References ARM_SP_REGNUM, FRAME_OBSTACK_ZALLOC, get_frame_register_unsigned(), arm_prologue_cache::prev_sp, arm_prologue_cache::saved_regs, and trad_frame_alloc_saved_regs().

Referenced by arm_stub_this_id().

## ◆ arm_neon_double_type()

static struct type* arm_neon_double_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3986 of file arm-tdep.c.

References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_double, builtin_type::builtin_float, builtin_type(), builtin_type::builtin_uint16, builtin_type::builtin_uint32, builtin_type::builtin_uint64, builtin_type::builtin_uint8, gdbarch_tdep(), init_vector_type(), gdbarch_tdep::neon_double_type, TYPE_CODE_UNION, TYPE_NAME, and TYPE_VECTOR.

Referenced by arm_register_type().

## ◆ arm_neon_quad_read()

static enum register_status arm_neon_quad_read | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |
| static

Definition at line 8681 of file arm-tdep.c.

References gdbarch_byte_order(), offset, REG_VALID, regcache_raw_read(), regnum, status, user_reg_map_name_to_regnum(), and xsnprintf().

Referenced by arm_pseudo_read(), and arm_return_value().

## ◆ arm_neon_quad_type()

static struct type* arm_neon_quad_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 4025 of file arm-tdep.c.

References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_double, builtin_type::builtin_float, builtin_type(), builtin_type::builtin_uint16, builtin_type::builtin_uint32, builtin_type::builtin_uint64, builtin_type::builtin_uint8, gdbarch_tdep(), init_vector_type(), gdbarch_tdep::neon_quad_type, TYPE_CODE_UNION, TYPE_NAME, and TYPE_VECTOR.

Referenced by arm_register_type().

## ◆ arm_neon_quad_write()

static void arm_neon_quad_write | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const gdb_byte * | buf
| ) |  |
| static

Definition at line 8760 of file arm-tdep.c.

References gdbarch_byte_order(), offset, regcache_raw_write(), regnum, user_reg_map_name_to_regnum(), and xsnprintf().

Referenced by arm_pseudo_write(), arm_push_dummy_call(), and arm_return_value().

## ◆ arm_normal_frame_base()

static CORE_ADDR arm_normal_frame_base | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 3049 of file arm-tdep.c.

References arm_make_prologue_cache(), arm_prologue_cache::framesize, and arm_prologue_cache::prev_sp.

## ◆ arm_obj_section_from_vma()

static struct obj_section* arm_obj_section_from_vma | ( | struct objfile * | objfile,
|  | bfd_vma | vma
| ) |  |
| static

Definition at line 2007 of file arm-tdep.c.

References ALL_OBJFILE_OSECTIONS, objfile::obfd, size, and obj_section::the_bfd_section.

Referenced by arm_exidx_new_objfile().

## ◆ arm_objfile_data_free()

static void arm_objfile_data_free | ( | struct objfile * | objfile,
|  | void * | arg
| ) |  |
| static

Definition at line 8593 of file arm-tdep.c.

References objfile::obfd, and VEC_free.

Referenced by _initialize_arm_tdep().

## ◆ arm_pc_is_thumb()

int arm_pc_is_thumb | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | memaddr
| ) |  |

Definition at line 398 of file arm-tdep.c.

References arm_fallback_mode_string, arm_find_mapping_symbol(), arm_force_mode_string, arm_frame_is_thumb(), debug_displaced, fprintf_unfiltered(), gdb_stdlog, get_current_frame(), get_displaced_step_closure_by_addr(), arm_displaced_step_closure::insn_addr, 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().

## ◆ arm_print_float_info()

static void arm_print_float_info | ( | struct gdbarch * | gdbarch,
|  | struct ui_file * | file,
|  | struct frame_info * | frame,
|  | const char * | args
| ) |  |
| static

Definition at line 3952 of file arm-tdep.c.

References _, ARM_FPS_REGNUM, fprintf_filtered(), fputs_filtered(), get_frame_register_unsigned(), print_fpu_flags(), status, and type.

Referenced by arm_gdbarch_init().

## ◆ arm_process_displaced_insn()

void arm_process_displaced_insn | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | from,
|  | CORE_ADDR | to,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |

Definition at line 7556 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_closure::cleanup, debug_displaced, displaced_in_arm_mode(), err, fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order_for_code(), arm_displaced_step_closure::insn_addr, arm_displaced_step_closure::insn_size, internal_error(), arm_displaced_step_closure::is_thumb, arm_displaced_step_closure::numinsns, read_memory_unsigned_integer(), arm_displaced_step_closure::scratch_base, thumb_process_displaced_insn(), and arm_displaced_step_closure::wrote_to_pc.

Referenced by arm_linux_displaced_step_copy_insn().

## ◆ arm_process_record()

int arm_process_record | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR | insn_addr
| ) |  |

Definition at line 13176 of file arm-tdep.c.

References _, arm_mem_r::addr, insn_decode_record_t::arm_insn, ARM_INSN_SIZE_BYTES, insn_decode_record_t::arm_mems, ARM_PC_REGNUM, ARM_PS_REGNUM, arm_psr_thumb_bit(), ARM_RECORD, insn_decode_record_t::arm_regs, bits, deallocate_reg_mem(), decode_insn(), extract_arm_insn(), fprintf_unfiltered(), gdb_stdlog, insn_decode_record_t::gdbarch, arm_mem_r::len, insn_decode_record_t::mem_rec_count, memset(), paddress(), printf_unfiltered(), record_debug, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, regcache_raw_read_unsigned(), insn_decode_record_t::this_addr, THUMB2_INSN_SIZE_BYTES, THUMB2_RECORD, THUMB_INSN_SIZE_BYTES, and THUMB_RECORD.

Referenced by arm_linux_init_abi().

## ◆ arm_prologue_prev_register()

static struct value* arm_prologue_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | prev_regnum
| ) |  |
| static

Definition at line 1903 of file arm-tdep.c.

References arm_addr_bits_remove(), ARM_LR_REGNUM, arm_make_prologue_cache(), ARM_PC_REGNUM, ARM_PS_REGNUM, arm_psr_thumb_bit(), ARM_SP_REGNUM, frame_unwind_got_constant(), frame_unwind_register_unsigned(), get_frame_arch(), get_frame_register_unsigned(), IS_THUMB_ADDR, arm_prologue_cache::prev_sp, arm_prologue_cache::saved_regs, and trad_frame_get_prev_register().

Referenced by arm_epilogue_frame_prev_register().

## ◆ arm_prologue_this_id()

static void arm_prologue_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 1878 of file arm-tdep.c.

References arm_make_prologue_cache(), frame_id_build(), func, get_frame_func(), get_frame_pc(), and arm_prologue_cache::prev_sp.

## ◆ arm_prologue_unwind_stop_reason()

static enum unwind_stop_reason arm_prologue_unwind_stop_reason | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 1852 of file arm-tdep.c.

References arm_make_prologue_cache(), get_frame_arch(), get_frame_pc(), and arm_prologue_cache::prev_sp.

## ◆ arm_pseudo_read()

static enum register_status arm_pseudo_read | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |
| static

Definition at line 8714 of file arm-tdep.c.

References arm_neon_quad_read(), gdb_assert, gdbarch_byte_order(), gdbarch_num_regs(), gdbarch::num_regs, offset, REG_VALID, regcache_raw_read(), regnum, status, user_reg_map_name_to_regnum(), and xsnprintf().

Referenced by arm_gdbarch_init().

## ◆ arm_pseudo_write()

static void arm_pseudo_write | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const gdb_byte * | buf
| ) |  |
| static

Definition at line 8782 of file arm-tdep.c.

References arm_neon_quad_write(), gdb_assert, gdbarch_byte_order(), gdbarch_num_regs(), gdbarch::num_regs, offset, regcache_raw_read(), regcache_raw_write(), regnum, user_reg_map_name_to_regnum(), and xsnprintf().

Referenced by arm_gdbarch_init().

## ◆ arm_psr_thumb_bit()

int arm_psr_thumb_bit | ( | struct gdbarch * | gdbarch | ) |

Definition at line 286 of file arm-tdep.c.

References CPSR_T, and XPSR_T.

Referenced by arm_dwarf2_prev_register(), 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_prologue_prev_register(), arm_write_pc(), bx_write_pc(), and displaced_in_arm_mode().

## ◆ arm_push_dummy_call()

static CORE_ADDR arm_push_dummy_call | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct regcache * | regcache,
|  | CORE_ADDR | bp_addr,
|  | int | nargs,
|  | struct value ** | args,
|  | CORE_ADDR | sp,
|  | int | struct_return,
|  | CORE_ADDR | struct_addr
| ) |  |
| static

Definition at line 3689 of file arm-tdep.c.

References ARM_A1_REGNUM, gdbarch_tdep::arm_abi, ARM_ABI_APCS, arm_debug, ARM_LAST_ARG_REGNUM, ARM_LR_REGNUM, arm_neon_quad_write(), arm_pc_is_thumb(), ARM_SP_REGNUM, arm_type_align(), arm_vfp_abi_for_function(), arm_vfp_call_candidate(), arm_vfp_cprc_reg_char(), arm_vfp_cprc_unit_length(), check_typedef(), stack_item::data, extract_unsigned_integer(), fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order(), gdbarch_register_name(), INT_REGISTER_SIZE, stack_item::len, MAKE_THUMB_ADDR, memset(), paddress(), phex(), pop_stack_item(), push_stack_item(), regcache_cooked_write(), regcache_cooked_write_unsigned(), regnum, store_unsigned_integer(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_LENGTH, TYPE_TARGET_TYPE, user_reg_map_name_to_regnum(), value_contents(), value_type(), write_memory(), and xsnprintf().

Referenced by arm_gdbarch_init().

## ◆ arm_record_asimd_vfp_coproc()

static int arm_record_asimd_vfp_coproc | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11526 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, arm_record_exreg_ld_st_insn(), arm_record_unsupported_insn(), insn_decode_record_t::arm_regs, bit, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by decode_insn(), and thumb2_record_coproc_insn().

## ◆ arm_record_b_bl()

static int arm_record_b_bl | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11002 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_LR_REGNUM, insn_decode_record_t::arm_regs, bit, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by decode_insn().

## ◆ arm_record_coproc_data_proc()

static int arm_record_coproc_data_proc | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11580 of file arm-tdep.c.

References _, insn_decode_record_t::arm_insn, ARM_PS_REGNUM, arm_record_unsupported_insn(), arm_record_vdata_transfer_insn(), arm_record_vfp_data_proc_insn(), insn_decode_record_t::arm_regs, gdbarch_tdep::arm_syscall_record, bit, bits, insn_decode_record_t::gdbarch, gdbarch_tdep(), insn_decode_record_t::opcode, printf_unfiltered(), REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn(), and thumb2_record_coproc_insn().

## ◆ arm_record_data_proc_imm()

static int arm_record_data_proc_imm | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 10417 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bits, insn_decode_record_t::decode, MEM_ALLOC, insn_decode_record_t::mem_rec_count, insn_decode_record_t::opcode, REG_ALLOC, insn_decode_record_t::reg_rec_count, and sbo_sbz().

Referenced by decode_insn().

## ◆ arm_record_data_proc_misc_ld_str()

static int arm_record_data_proc_misc_ld_str | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 10228 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_LR_REGNUM, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, ARM_RECORD_STRH, arm_record_strx(), insn_decode_record_t::arm_regs, bit, bits, insn_decode_record_t::decode, INSN_S_L_BIT_NUM, MEM_ALLOC, insn_decode_record_t::mem_rec_count, insn_decode_record_t::opcode, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, regcache_raw_read_unsigned(), and sbo_sbz().

Referenced by decode_insn().

## ◆ arm_record_exreg_ld_st_insn()

static int arm_record_exreg_ld_st_insn | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11120 of file arm-tdep.c.

References ARM_D0_REGNUM, insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, insn_decode_record_t::arm_regs, bit, bits, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by arm_record_asimd_vfp_coproc().

## ◆ arm_record_extension_space()

static int arm_record_extension_space | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 9965 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_LR_REGNUM, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, ARM_RECORD_STRD, ARM_RECORD_STRH, arm_record_strx(), insn_decode_record_t::arm_regs, bit, bits, insn_decode_record_t::cond, gdb_assert, in_inclusive_range(), INSN_RECORDED, MEM_ALLOC, insn_decode_record_t::mem_rec_count, insn_decode_record_t::opcode, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ arm_record_ld_st_imm_offset()

static int arm_record_ld_st_imm_offset | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 10545 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PC_REGNUM, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bit, bits, INSN_S_L_BIT_NUM, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ arm_record_ld_st_multiple()

static int arm_record_ld_st_multiple | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 10902 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bit, bits, gdb_assert_not_reached, INSN_S_L_BIT_NUM, INT_REGISTER_SIZE, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ arm_record_ld_st_reg_offset()

static int arm_record_ld_st_reg_offset | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 10636 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, arm_record_media(), insn_decode_record_t::arm_regs, bit, bits, insn_decode_record_t::decode, gdb_assert_not_reached, INSN_S_L_BIT_NUM, MEM_ALLOC, insn_decode_record_t::mem_rec_count, insn_decode_record_t::opcode, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, regcache_raw_read_signed(), and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ arm_record_media()

static int arm_record_media | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 10461 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bit, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by arm_record_ld_st_reg_offset().

## ◆ arm_record_special_symbol()

static void arm_record_special_symbol | ( | struct gdbarch * | gdbarch,
|  | struct objfile * | objfile,
|  | asymbol * | sym
| ) |  |
| static

Definition at line 8603 of file arm-tdep.c.

References arm_compare_mapping_symbols(), arm_objfile_data_key, gdb_assert, name, objfile::obfd, OBSTACK_CALLOC, OBSTACK_ZALLOC, arm_mapping_symbol::type, arm_mapping_symbol::value, VEC, VEC_empty, VEC_last, VEC_lower_bound, VEC_safe_insert, and VEC_safe_push.

Referenced by arm_gdbarch_init().

## ◆ arm_record_strx()

static int arm_record_strx | ( | insn_decode_record * | arm_insn_r,
|  | uint32_t * | record_buf,
|  | uint32_t * | record_buf_mem,
|  | arm_record_strx_t | str_type
| ) |  |
| static

Definition at line 9797 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PC_REGNUM, ARM_RECORD_STRD, ARM_RECORD_STRH, bits, insn_decode_record_t::decode, insn_decode_record_t::mem_rec_count, insn_decode_record_t::opcode, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by arm_record_data_proc_misc_ld_str(), and arm_record_extension_space().

## ◆ arm_record_unsupported_insn()

static int arm_record_unsupported_insn | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11022 of file arm-tdep.c.

References _, insn_decode_record_t::arm_insn, insn_decode_record_t::gdbarch, paddress(), printf_unfiltered(), and insn_decode_record_t::this_addr.

Referenced by arm_record_asimd_vfp_coproc(), arm_record_coproc_data_proc(), decode_insn(), thumb2_record_branch_misc_cntrl(), and thumb2_record_ld_st_multiple().

## ◆ arm_record_vdata_transfer_insn()

static int arm_record_vdata_transfer_insn | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11034 of file arm-tdep.c.

References ARM_D0_REGNUM, ARM_FPSCR_REGNUM, insn_decode_record_t::arm_insn, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bit, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by arm_record_coproc_data_proc().

## ◆ arm_record_vfp_data_proc_insn()

static int arm_record_vfp_data_proc_insn | ( | insn_decode_record * | arm_insn_r | ) |
| static

Definition at line 11315 of file arm-tdep.c.

References ARM_D0_REGNUM, ARM_FPSCR_REGNUM, insn_decode_record_t::arm_insn, insn_decode_record_t::arm_regs, bit, bits, gdb_assert_not_reached, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by arm_record_coproc_data_proc().

## ◆ arm_register_g_packet_guesses()

static void arm_register_g_packet_guesses | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 8869 of file arm-tdep.c.

References FP_REGISTER_SIZE, INT_REGISTER_SIZE, register_remote_g_packet_guess(), tdesc_arm_with_m, tdesc_arm_with_m_fpa_layout, tdesc_arm_with_m_vfp_d16, and VFP_REGISTER_SIZE.

Referenced by arm_gdbarch_init().

## ◆ arm_register_name()

static const char* arm_register_name | ( | struct gdbarch * | gdbarch,
|  | int | i
| ) |  |
| static

Definition at line 8519 of file arm-tdep.c.

References arm_register_names, gdbarch_num_regs(), and gdbarch::num_regs.

Referenced by arm_gdbarch_init().

## ◆ arm_register_reggroup_p()

static int arm_register_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum,
|  | struct reggroup * | group
| ) |  |
| static

Definition at line 8844 of file arm-tdep.c.

References all_reggroup, ARM_FPS_REGNUM, default_register_reggroup_p(), float_reggroup, regnum, restore_reggroup, and save_reggroup.

Referenced by arm_gdbarch_init().

## ◆ arm_register_sim_regno()

static int arm_register_sim_regno | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 4170 of file arm-tdep.c.

References _, ARM_WC0_REGNUM, ARM_WC7_REGNUM, ARM_WCGR0_REGNUM, ARM_WCGR7_REGNUM, ARM_WR0_REGNUM, ARM_WR15_REGNUM, gdb_assert, gdbarch_num_regs(), internal_error(), NUM_FREGS, NUM_GREGS, NUM_SREGS, and regnum.

Referenced by arm_gdbarch_init().

## ◆ arm_register_type()

static struct type* arm_register_type | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 4060 of file arm-tdep.c.

References ARM_D0_REGNUM, arm_ext_type(), ARM_F0_REGNUM, arm_neon_double_type(), arm_neon_quad_type(), ARM_PC_REGNUM, arm_register_names, ARM_SP_REGNUM, builtin_type::builtin_data_ptr, builtin_type::builtin_float, builtin_type::builtin_func_ptr, builtin_type::builtin_int0, builtin_type(), builtin_type::builtin_uint32, builtin_type::builtin_void, gdbarch_num_regs(), gdbarch_target_desc(), NUM_FREGS, regnum, tdesc_has_registers(), tdesc_register_type(), TYPE_CODE, and TYPE_CODE_FLT.

Referenced by arm_gdbarch_init().

## ◆ arm_return_in_memory()

static int arm_return_in_memory | ( | struct gdbarch * | gdbarch,
|  | struct type * | type
| ) |  |
| static

Definition at line 7981 of file arm-tdep.c.

References ARM_ABI_APCS, check_typedef(), code, INT_REGISTER_SIZE, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_COMPLEX, TYPE_CODE_FLT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, and TYPE_VECTOR.

Referenced by arm_return_value().

## ◆ arm_return_value()

static enum return_value_convention arm_return_value | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct type * | valtype,
|  | struct regcache * | regcache,
|  | gdb_byte * | readbuf,
|  | const gdb_byte * | writebuf
| ) |  |
| static

Definition at line 8189 of file arm-tdep.c.

References arm_extract_return_value(), arm_neon_quad_read(), arm_neon_quad_write(), arm_return_in_memory(), arm_store_return_value(), arm_vfp_abi_for_function(), arm_vfp_call_candidate(), arm_vfp_cprc_reg_char(), arm_vfp_cprc_unit_length(), gdbarch_tdep(), pcc_struct_return, regcache_cooked_read(), regcache_cooked_write(), regnum, RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, gdbarch_tdep::struct_return, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_COMPLEX, TYPE_CODE_STRUCT, TYPE_CODE_UNION, user_reg_map_name_to_regnum(), value_type(), and xsnprintf().

Referenced by arm_gdbarch_init().

## ◆ arm_scan_prologue()

static void arm_scan_prologue | ( | struct frame_info * | this_frame,
|  | struct arm_prologue_cache * | cache
| ) |  |
| static

Definition at line 1732 of file arm-tdep.c.

References arm_analyze_prologue(), ARM_FP_REGNUM, arm_frame_is_thumb(), ARM_SP_REGNUM, gdbarch::byte_order, find_pc_partial_function(), arm_prologue_cache::framereg, arm_prologue_cache::framesize, gdbarch_addr_bits_remove(), gdbarch_byte_order(), get_frame_address_in_block(), get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), gdbarch::return_value, safe_read_memory_unsigned_integer(), and thumb_scan_prologue().

Referenced by arm_make_epilogue_frame_cache(), and arm_make_prologue_cache().

## ◆ arm_set_abi()

static void arm_set_abi | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 8427 of file arm-tdep.c.

References _, gdbarch_tdep::arm_abi, ARM_ABI_AUTO, arm_abi_global, ARM_ABI_LAST, arm_abi_string, arm_abi_strings, arm_update_current_architecture(), and internal_error().

Referenced by _initialize_arm_tdep().

## ◆ arm_show_abi()

static void arm_show_abi | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 8447 of file arm-tdep.c.

References _, gdbarch_tdep::arm_abi, ARM_ABI_AUTO, arm_abi_global, arm_abi_string, arm_abi_strings, fprintf_filtered(), gdbarch_bfd_arch_info(), gdbarch_tdep(), and target_gdbarch().

Referenced by _initialize_arm_tdep().

## ◆ arm_show_fallback_mode()

static void arm_show_fallback_mode | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 8463 of file arm-tdep.c.

References _, arm_fallback_mode_string, and fprintf_filtered().

Referenced by _initialize_arm_tdep().

## ◆ arm_show_force_mode()

static void arm_show_force_mode | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 8473 of file arm-tdep.c.

References _, arm_force_mode_string, and fprintf_filtered().

Referenced by _initialize_arm_tdep().

## ◆ arm_skip_bx_reg()

static CORE_ADDR arm_skip_bx_reg | ( | struct frame_info * | frame,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 2840 of file arm-tdep.c.

References arm_frame_is_thumb(), bits, gdbarch::byte_order_for_code, extract_unsigned_integer(), gdbarch_byte_order_for_code(), get_frame_arch(), get_frame_register_unsigned(), target_read_memory(), and UNMAKE_THUMB_ADDR.

Referenced by arm_skip_stub(), and arm_stub_unwind_sniffer().

## ◆ arm_skip_prologue()

static CORE_ADDR arm_skip_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 1317 of file arm-tdep.c.

References arm_analyze_prologue(), arm_pc_is_thumb(), arm_skip_stack_protector(), COMPUNIT_PRODUCER, find_pc_compunit_symtab(), find_pc_partial_function(), skip_prologue_using_sal(), startswith(), and thumb_analyze_prologue().

Referenced by arm_gdbarch_init().

## ◆ arm_skip_stack_protector()

static CORE_ADDR arm_skip_stack_protector | ( | CORE_ADDR | pc,
|  | struct gdbarch * | gdbarch
| ) |  |
| static

Definition at line 1230 of file arm-tdep.c.

References arm_analyze_load_stack_chk_guard(), arm_pc_is_thumb(), bits, gdbarch_byte_order_for_code(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, offset, read_code_unsigned_integer(), and startswith().

Referenced by arm_skip_prologue().

## ◆ arm_skip_stub()

CORE_ADDR arm_skip_stub | ( | struct frame_info * | frame,
|  | CORE_ADDR | pc
| ) |  |

Definition at line 8282 of file arm-tdep.c.

References arm_skip_bx_reg(), BMSYMBOL_VALUE_ADDRESS, find_pc_partial_function(), find_pc_section(), get_frame_register_unsigned(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, name, obj_section::objfile, objfile::objfile(), offset, gdbarch_tdep::pc, startswith(), and target_name.

Referenced by arm_gdbarch_init(), arm_linux_skip_trampoline_code(), and arm_pe_skip_trampoline_code().

## ◆ arm_software_single_step()

std::vector<CORE_ADDR> arm_software_single_step | ( | struct regcache * | regcache | ) |

Definition at line 6251 of file arm-tdep.c.

References regcache::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_wince_init_abi(), and armobsd_init_abi().

## ◆ arm_stack_frame_destroyed_p()

static int arm_stack_frame_destroyed_p | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 3314 of file arm-tdep.c.

References arm_pc_is_thumb(), arm_stack_frame_destroyed_p_1(), and thumb_stack_frame_destroyed_p().

Referenced by arm_gdbarch_init().

## ◆ arm_stack_frame_destroyed_p_1()

static int arm_stack_frame_destroyed_p_1 | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 3263 of file arm-tdep.c.

References arm_instruction_restores_sp(), bits, gdbarch::byte_order_for_code, find_pc_partial_function(), gdbarch_byte_order_for_code(), INST_NV, and read_memory_unsigned_integer().

Referenced by arm_epilogue_frame_sniffer(), and arm_stack_frame_destroyed_p().

## ◆ arm_store_return_value()

static void arm_store_return_value | ( | struct type * | type,
|  | struct regcache * | regs,
|  | const gdb_byte * | valbuf
| ) |  |
| static

Definition at line 8096 of file arm-tdep.c.

References _, regcache::arch(), ARM_A1_REGNUM, arm_ext_type(), ARM_F0_REGNUM, ARM_FLOAT_FPA, ARM_FLOAT_SOFT_FPA, ARM_FLOAT_SOFT_VFP, ARM_FLOAT_VFP, gdbarch::byte_order, FP_REGISTER_SIZE, gdbarch_byte_order(), INT_REGISTER_SIZE, internal_error(), regcache_cooked_write(), store_signed_integer(), target_float_convert(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_IS_REFERENCE, TYPE_LENGTH, and unpack_long().

Referenced by arm_return_value().

## ◆ arm_stub_this_id()

static void arm_stub_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2887 of file arm-tdep.c.

References arm_make_stub_cache(), frame_id_build(), get_frame_pc(), and arm_prologue_cache::prev_sp.

## ◆ arm_stub_unwind_sniffer()

static int arm_stub_unwind_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2901 of file arm-tdep.c.

References arm_skip_bx_reg(), dummy, find_pc_partial_function(), get_frame_address_in_block(), get_frame_pc(), in_plt_section(), name, and target_read_memory().

## ◆ arm_sw_breakpoint_from_kind()

static const gdb_byte* arm_sw_breakpoint_from_kind | ( | struct gdbarch * | gdbarch,
|  | int | kind,
|  | int * | size
| ) |  |
| static

Definition at line 7818 of file arm-tdep.c.

References ARM_BP_KIND_ARM, ARM_BP_KIND_THUMB, ARM_BP_KIND_THUMB2, gdbarch_tdep::arm_breakpoint, gdbarch_tdep::arm_breakpoint_size, gdb_assert_not_reached, gdbarch_tdep(), size, gdbarch_tdep::thumb2_breakpoint, gdbarch_tdep::thumb2_breakpoint_size, gdbarch_tdep::thumb_breakpoint, and gdbarch_tdep::thumb_breakpoint_size.

Referenced by arm_gdbarch_init().

## ◆ arm_type_align()

static int arm_type_align | ( | struct type * | t | ) |
| static

Definition at line 3358 of file arm-tdep.c.

References _, check_typedef(), internal_error(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_RVALUE_REF, TYPE_CODE_SET, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_TYPE, and TYPE_VECTOR.

Referenced by arm_push_dummy_call().

## ◆ arm_unwind_pc()

static CORE_ADDR arm_unwind_pc | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3086 of file arm-tdep.c.

References arm_addr_bits_remove(), ARM_PC_REGNUM, and frame_unwind_register_unsigned().

Referenced by arm_gdbarch_init().

## ◆ arm_unwind_sp()

static CORE_ADDR arm_unwind_sp | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3094 of file arm-tdep.c.

References ARM_SP_REGNUM, and frame_unwind_register_unsigned().

Referenced by arm_gdbarch_init().

## ◆ arm_update_current_architecture()

static void arm_update_current_architecture | ( | void |  | ) |
| static

Definition at line 8374 of file arm-tdep.c.

References _, gdbarch_bfd_arch_info(), gdbarch_info_init(), gdbarch_update_p(), internal_error(), and target_gdbarch().

Referenced by arm_set_abi(), and set_fp_model_sfunc().

## ◆ arm_vfp_abi_for_function()

static int arm_vfp_abi_for_function | ( | struct gdbarch * | gdbarch,
|  | struct type * | func_type
| ) |  |
| static

Definition at line 3670 of file arm-tdep.c.

References gdbarch_tdep::arm_abi, ARM_ABI_AAPCS, ARM_FLOAT_VFP, check_typedef(), gdbarch_tdep::fp_model, gdbarch_tdep(), and TYPE_VARARGS.

Referenced by arm_push_dummy_call(), and arm_return_value().

## ◆ arm_vfp_call_candidate()

static int arm_vfp_call_candidate | ( | struct type * | t,
|  | enum arm_vfp_cprc_base_type * | base_type,
|  | int * | count
| ) |  |
| static

Definition at line 3653 of file arm-tdep.c.

References arm_vfp_cprc_sub_candidate(), and VFP_CPRC_UNKNOWN.

Referenced by arm_push_dummy_call(), and arm_return_value().

## ◆ arm_vfp_cprc_reg_char()

static int arm_vfp_cprc_reg_char | ( | enum arm_vfp_cprc_base_type | b | ) |
| static

Definition at line 3449 of file arm-tdep.c.

References _, internal_error(), VFP_CPRC_DOUBLE, VFP_CPRC_SINGLE, VFP_CPRC_VEC128, and VFP_CPRC_VEC64.

Referenced by arm_push_dummy_call(), and arm_return_value().

## ◆ arm_vfp_cprc_sub_candidate()

static int arm_vfp_cprc_sub_candidate | ( | struct type * | t,
|  | enum arm_vfp_cprc_base_type * | base_type
| ) |  |
| static

Definition at line 3481 of file arm-tdep.c.

References arm_vfp_cprc_unit_length(), check_typedef(), field_is_static(), gdb_assert, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_COMPLEX, TYPE_CODE_FLT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_TYPE, TYPE_VECTOR, VFP_CPRC_DOUBLE, VFP_CPRC_SINGLE, VFP_CPRC_UNKNOWN, VFP_CPRC_VEC128, and VFP_CPRC_VEC64.

Referenced by arm_vfp_call_candidate().

## ◆ arm_vfp_cprc_unit_length()

static unsigned arm_vfp_cprc_unit_length | ( | enum arm_vfp_cprc_base_type | b | ) |
| static

Definition at line 3427 of file arm-tdep.c.

References _, internal_error(), VFP_CPRC_DOUBLE, VFP_CPRC_SINGLE, VFP_CPRC_VEC128, and VFP_CPRC_VEC64.

Referenced by arm_push_dummy_call(), arm_return_value(), and arm_vfp_cprc_sub_candidate().

## ◆ arm_write_pc()

static void arm_write_pc | ( | struct regcache * | regcache,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 8653 of file arm-tdep.c.

References regcache::arch(), arm_apcs_32, arm_pc_is_thumb(), ARM_PC_REGNUM, ARM_PS_REGNUM, arm_psr_thumb_bit(), regcache_cooked_read_unsigned(), and regcache_cooked_write_unsigned().

Referenced by arm_gdbarch_init().

## ◆ branch_write_pc()

static void branch_write_pc | ( | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | ULONGEST | val
| ) |  |
| static

Definition at line 4465 of file arm-tdep.c.

References ARM_PC_REGNUM, arm_displaced_step_closure::is_thumb, and regcache_cooked_write_unsigned().

Referenced by alu_write_pc(), displaced_write_reg(), and load_write_pc().

## ◆ bx_write_pc()

static void bx_write_pc | ( | struct regcache * | regs,
|  | ULONGEST | val
| ) |  |
| static

Definition at line 4481 of file arm-tdep.c.

References _, regcache::arch(), ARM_PC_REGNUM, ARM_PS_REGNUM, arm_psr_thumb_bit(), cleanup_check::ps, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), and warning().

Referenced by alu_write_pc(), displaced_write_reg(), and load_write_pc().

## ◆ cleanup_alu_imm()

static void cleanup_alu_imm | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5156 of file arm-tdep.c.

References ALU_WRITE_PC, CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::rd, and arm_displaced_step_closure::tmp.

Referenced by arm_copy_alu_imm(), and thumb2_copy_alu_imm().

## ◆ cleanup_alu_reg()

static void cleanup_alu_reg | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5268 of file arm-tdep.c.

References ALU_WRITE_PC, CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::rd, and arm_displaced_step_closure::tmp.

Referenced by install_alu_reg().

## ◆ cleanup_alu_shifted_reg()

static void cleanup_alu_shifted_reg | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5366 of file arm-tdep.c.

References ALU_WRITE_PC, CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::rd, and arm_displaced_step_closure::tmp.

Referenced by install_alu_shifted_reg().

## ◆ cleanup_block_load_all()

static void cleanup_block_load_all | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5823 of file arm-tdep.c.

References _, ARM_PC_REGNUM, ARM_PS_REGNUM, arm_displaced_step_closure::block, CANNOT_WRITE_PC, condition_true(), debug_displaced, displaced_read_reg(), displaced_write_reg(), error(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, gdbarch_byte_order(), LOAD_WRITE_PC, read_memory_unsigned_integer(), status, and arm_displaced_step_closure::u.

Referenced by arm_copy_block_xfer().

## ◆ cleanup_block_load_pc()

static void cleanup_block_load_pc | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5934 of file arm-tdep.c.

References _, ARM_PC_REGNUM, ARM_PS_REGNUM, bitcount(), arm_displaced_step_closure::block, CANNOT_WRITE_PC, condition_true(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, LOAD_WRITE_PC, status, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_block_xfer(), thumb2_copy_block_xfer(), and thumb_copy_pop_pc_16bit().

## ◆ cleanup_block_store_pc()

static void cleanup_block_store_pc | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5884 of file arm-tdep.c.

References ARM_PS_REGNUM, bitcount(), arm_displaced_step_closure::block, condition_true(), debug_displaced, displaced_read_reg(), fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order(), arm_displaced_step_closure::insn_addr, offset, read_memory_unsigned_integer(), arm_displaced_step_closure::scratch_base, status, arm_displaced_step_closure::u, and write_memory_unsigned_integer().

Referenced by arm_copy_block_xfer(), and thumb2_copy_block_xfer().

## ◆ cleanup_branch()

static void cleanup_branch | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4906 of file arm-tdep.c.

References ARM_LR_REGNUM, ARM_PC_REGNUM, ARM_PS_REGNUM, arm_displaced_step_closure::branch, BRANCH_WRITE_PC, BX_WRITE_PC, CANNOT_WRITE_PC, condition_true(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::insn_addr, arm_displaced_step_closure::insn_size, arm_displaced_step_closure::is_thumb, status, and arm_displaced_step_closure::u.

Referenced by install_b_bl_blx(), install_bx_blx_reg(), thumb2_copy_table_branch(), thumb_copy_b(), and thumb_copy_cbnz_cbz().

## ◆ cleanup_copro_load_store()

static void cleanup_copro_load_store | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4816 of file arm-tdep.c.

References CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::ldst, LOAD_WRITE_PC, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by install_copro_load_store().

## ◆ cleanup_load()

static void cleanup_load | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5452 of file arm-tdep.c.

References CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::ldst, LOAD_WRITE_PC, arm_displaced_step_closure::rd, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), install_load_store(), thumb2_copy_load_literal(), and thumb_copy_16bit_ldr_literal().

## ◆ cleanup_pop_pc_16bit_all()

static void cleanup_pop_pc_16bit_all | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7130 of file arm-tdep.c.

References ARM_PC_REGNUM, BX_WRITE_PC, CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), and arm_displaced_step_closure::tmp.

Referenced by thumb_copy_pop_pc_16bit().

## ◆ cleanup_preload()

static void cleanup_preload | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4670 of file arm-tdep.c.

References CANNOT_WRITE_PC, displaced_write_reg(), arm_displaced_step_closure::preload, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by install_preload(), install_preload_reg(), and thumb2_copy_preload().

## ◆ cleanup_store()

static void cleanup_store | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5481 of file arm-tdep.c.

References CANNOT_WRITE_PC, displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::ldst, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), and install_load_store().

## ◆ cleanup_svc()

static void cleanup_svc | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6275 of file arm-tdep.c.

References ARM_PC_REGNUM, BRANCH_WRITE_PC, debug_displaced, displaced_write_reg(), fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::insn_addr, and arm_displaced_step_closure::insn_size.

Referenced by install_svc().

## ◆ coff_sym_is_thumb()

static int coff_sym_is_thumb | ( | int | val | ) |
| static

Definition at line 8559 of file arm-tdep.c.

Referenced by arm_coff_make_msymbol_special().

## ◆ deallocate_reg_mem()

static void deallocate_reg_mem | ( | insn_decode_record * | record | ) |
| static

Definition at line 13164 of file arm-tdep.c.

References arm-linux::record(), and xfree().

Referenced by arm_process_record().

## ◆ decode_insn()

static int decode_insn | ( | abstract_memory_reader & | reader,
|  | insn_decode_record * | arm_record,
|  | record_type_t | record_type,
|  | uint32_t | insn_size
| ) |  |
| static

Definition at line 12952 of file arm-tdep.c.

References _, insn_decode_record_t::arm_insn, ARM_RECORD, arm_record_asimd_vfp_coproc(), arm_record_b_bl(), arm_record_coproc_data_proc(), arm_record_data_proc_imm(), arm_record_data_proc_misc_ld_str(), arm_record_extension_space(), arm_record_ld_st_imm_offset(), arm_record_ld_st_multiple(), arm_record_ld_st_reg_offset(), ARM_RECORD_SUCCESS, arm_record_unsupported_insn(), bits, insn_decode_record_t::cond, extract_arm_insn(), gdb_assert_not_reached, insn_decode_record_t::gdbarch, paddress(), printf_unfiltered(), record_debug, insn_decode_record_t::this_addr, THUMB2_RECORD, thumb2_record_decode_insn_handler(), THUMB_RECORD, thumb_record_add_sub_cmp_mov(), thumb_record_branch(), thumb_record_ld_st_imm_offset(), thumb_record_ld_st_reg_offset(), thumb_record_ld_st_stack(), thumb_record_ldm_stm_swi(), and thumb_record_misc().

Referenced by arm_process_record().

## ◆ decode_thumb_32bit_ld_mem_hints()

static int decode_thumb_32bit_ld_mem_hints | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7323 of file arm-tdep.c.

References bit, bits, thumb2_copy_load_literal(), thumb2_copy_load_reg_imm(), thumb2_copy_preload(), thumb_32bit_copy_undef(), and thumb_copy_unmodified_32bit().

Referenced by thumb_process_displaced_32bit_insn().

## ◆ DEF_VEC_O() [1/2]

DEF_VEC_O | ( | arm_mapping_symbol_s |  | ) |

## ◆ DEF_VEC_O() [2/2]

DEF_VEC_O | ( | arm_exidx_entry_s |  | ) |

## ◆ displaced_in_arm_mode()

static int displaced_in_arm_mode | ( | struct regcache * | regs | ) |
| static

Definition at line 4452 of file arm-tdep.c.

References regcache::arch(), ARM_PS_REGNUM, arm_psr_thumb_bit(), cleanup_check::ps, and regcache_cooked_read_unsigned().

Referenced by arm_process_displaced_insn().

## ◆ displaced_read_reg()

ULONGEST displaced_read_reg | ( | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | regno
| ) |  |

Definition at line 4417 of file arm-tdep.c.

References ARM_PC_REGNUM, debug_displaced, fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::insn_addr, arm_displaced_step_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().

## ◆ displaced_write_reg()

void displaced_write_reg | ( | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | regno,
|  | ULONGEST | val,
|  | enum pc_write_style | write_pc
| ) |  |

Definition at line 4537 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, debug_displaced, fprintf_unfiltered(), gdb_stdlog, internal_error(), LOAD_WRITE_PC, load_write_pc(), regcache_cooked_write_unsigned(), warning(), and arm_displaced_step_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().

## ◆ extend_buffer_earlier()

static gdb_byte* extend_buffer_earlier | ( | gdb_byte * | buf,
|  | CORE_ADDR | endaddr,
|  | int | old_len,
|  | int | new_len
| ) |  |
| static

Definition at line 4204 of file arm-tdep.c.

References target_read_code(), xfree(), and xmalloc().

Referenced by arm_adjust_breakpoint_address().

## ◆ extract_arm_insn()

static int extract_arm_insn | ( | abstract_memory_reader & | reader,
|  | insn_decode_record * | insn_record,
|  | uint32_t | insn_size
| ) |  |
| static

Definition at line 12931 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, extract_unsigned_integer(), insn_decode_record_t::gdbarch, gdbarch_byte_order_for_code(), memset(), and insn_decode_record_t::this_addr.

Referenced by arm_process_record(), and decode_insn().

## ◆ gdb_print_insn_arm()

static int gdb_print_insn_arm | ( | bfd_vma | memaddr,
|  | disassemble_info * | info
| ) |  |
| static

Definition at line 7693 of file arm-tdep.c.

References gdb_disassembler::arch(), arm_pc_is_thumb(), default_print_insn(), exec_bfd, and UNMAKE_THUMB_ADDR.

Referenced by arm_gdbarch_init().

## ◆ insn_references_pc()

static int insn_references_pc | ( | uint32_t | insn,
|  | uint32_t | bitmask
| ) |  |
| static

Definition at line 4591 of file arm-tdep.c.

Referenced by arm_copy_alu_imm(), arm_copy_alu_reg(), arm_copy_alu_shifted_reg(), arm_copy_copro_load_store(), arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), arm_copy_preload(), and arm_copy_preload_reg().

## ◆ install_alu_reg()

static void install_alu_reg | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | unsigned int | rd,
|  | unsigned int | rn,
|  | unsigned int | rm
| ) |  |
| static

Definition at line 5283 of file arm-tdep.c.

References CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_alu_reg(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::rd, and arm_displaced_step_closure::tmp.

Referenced by arm_copy_alu_reg(), and thumb_copy_alu_reg().

## ◆ install_alu_shifted_reg()

static void install_alu_shifted_reg | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | unsigned int | rd,
|  | unsigned int | rn,
|  | unsigned int | rm,
|  | unsigned | rs
| ) |  |
| static

Definition at line 5380 of file arm-tdep.c.

References CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_alu_shifted_reg(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::rd, and arm_displaced_step_closure::tmp.

Referenced by arm_copy_alu_shifted_reg().

## ◆ install_b_bl_blx()

static void install_b_bl_blx | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | unsigned int | cond,
|  | int | exchange,
|  | int | link,
|  | long | offset
| ) |  |
| static

Definition at line 4937 of file arm-tdep.c.

References arm_displaced_step_closure::branch, arm_displaced_step_closure::cleanup, cleanup_branch(), arm_displaced_step_closure::insn_addr, arm_displaced_step_closure::is_thumb, offset, and arm_displaced_step_closure::u.

Referenced by arm_copy_b_bl_blx(), and thumb2_copy_b_bl_blx().

## ◆ install_bx_blx_reg()

static void install_bx_blx_reg | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | link,
|  | unsigned int | cond,
|  | unsigned int | rm
| ) |  |
| static

Definition at line 5091 of file arm-tdep.c.

References arm_displaced_step_closure::branch, arm_displaced_step_closure::cleanup, cleanup_branch(), displaced_read_reg(), and arm_displaced_step_closure::u.

Referenced by arm_copy_bx_blx_reg(), and thumb_copy_bx_blx_reg().

## ◆ install_copro_load_store()

static void install_copro_load_store | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | writeback,
|  | unsigned int | rn
| ) |  |
| static

Definition at line 4829 of file arm-tdep.c.

References CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_copro_load_store(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::ldst, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_copro_load_store(), and thumb2_copy_copro_load_store().

## ◆ install_load_store()

static void install_load_store | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | load,
|  | int | immed,
|  | int | writeback,
|  | int | size,
|  | int | usermode,
|  | int | rt,
|  | int | rm,
|  | int | rn
| ) |  |
| static

Definition at line 5578 of file arm-tdep.c.

References CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_load(), cleanup_store(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::ldst, arm_displaced_step_closure::rd, size, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_ldr_str_ldrb_strb(), and thumb2_copy_load_reg_imm().

## ◆ install_pc_relative()

static void install_pc_relative | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | rd
| ) |  |
| static

Definition at line 6913 of file arm-tdep.c.

References ARM_PC_REGNUM, CANNOT_WRITE_PC, displaced_read_reg(), and displaced_write_reg().

Referenced by thumb_copy_pc_relative_16bit(), and thumb_copy_pc_relative_32bit().

## ◆ install_preload()

static void install_preload | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | unsigned int | rn
| ) |  |
| static

Definition at line 4679 of file arm-tdep.c.

References CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_preload(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::preload, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_preload().

## ◆ install_preload_reg()

static void install_preload_reg | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | unsigned int | rn,
|  | unsigned int | rm
| ) |  |
| static

Definition at line 4768 of file arm-tdep.c.

References CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_preload(), displaced_read_reg(), displaced_write_reg(), arm_displaced_step_closure::preload, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by arm_copy_preload_reg().

## ◆ install_svc()

static int install_svc | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6291 of file arm-tdep.c.

References arm_displaced_step_closure::cleanup, cleanup_svc(), arm_displaced_step_closure::svc, arm_displaced_step_closure::u, and arm_displaced_step_closure::wrote_to_pc.

Referenced by arm_copy_svc(), and thumb_copy_svc().

## ◆ load_write_pc()

static void load_write_pc | ( | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | ULONGEST | val
| ) |  |
| static

Definition at line 4511 of file arm-tdep.c.

References branch_write_pc(), bx_write_pc(), and DISPLACED_STEPPING_ARCH_VERSION.

Referenced by displaced_write_reg().

## ◆ pop_stack_item()

static struct stack_item* pop_stack_item | ( | struct stack_item * | si | ) |
| static

Definition at line 3345 of file arm-tdep.c.

References stack_item::data, stack_item::prev, and xfree().

Referenced by arm_push_dummy_call().

## ◆ print_fpu_flags()

static void print_fpu_flags | ( | struct ui_file * | file,
|  | int | flags
| ) |  |
| static

Definition at line 3934 of file arm-tdep.c.

References flags, fputc_filtered(), and fputs_filtered().

Referenced by arm_print_float_info().

## ◆ push_stack_item()

static struct stack_item* push_stack_item | ( | struct stack_item * | prev,
|  | const gdb_byte * | contents,
|  | int | len
| ) |  |
| static

Definition at line 3333 of file arm-tdep.c.

References stack_item::data, stack_item::len, stack_item::prev, xmalloc(), and XNEW.

Referenced by arm_push_dummy_call().

## ◆ sbo_sbz()

static int sbo_sbz | ( | uint32_t | insn,
|  | uint32_t | bit_num,
|  | uint32_t | len,
|  | uint32_t | sbo
| ) |  |
| static

Definition at line 9755 of file arm-tdep.c.

References bits, and arm_mem_r::len.

Referenced by arm_record_data_proc_imm(), and arm_record_data_proc_misc_ld_str().

## ◆ set_arm_command()

static void set_arm_command | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8360 of file arm-tdep.c.

References _, all_commands, gdb_stdout, help_list(), printf_unfiltered(), and setarmcmdlist.

Referenced by _initialize_arm_tdep().

## ◆ set_disassembly_style_sfunc()

static void set_disassembly_style_sfunc | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 8488 of file arm-tdep.c.

References disassembly_style, set_disassembler_options(), and string.

Referenced by _initialize_arm_tdep().

## ◆ set_fp_model_sfunc()

static void set_fp_model_sfunc | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 8390 of file arm-tdep.c.

References _, ARM_FLOAT_AUTO, ARM_FLOAT_LAST, arm_fp_model, arm_update_current_architecture(), current_fp_model, fp_model_strings, and internal_error().

Referenced by _initialize_arm_tdep().

## ◆ show_arm_command()

static void show_arm_command | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8368 of file arm-tdep.c.

References cmd_show_list(), and showarmcmdlist.

Referenced by _initialize_arm_tdep().

## ◆ show_disassembly_style_sfunc()

static void show_disassembly_style_sfunc | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 8498 of file arm-tdep.c.

References fprintf_unfiltered(), get_current_arch(), and get_disassembler_options().

Referenced by _initialize_arm_tdep().

## ◆ show_fp_model()

static void show_fp_model | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 8410 of file arm-tdep.c.

References _, ARM_FLOAT_AUTO, arm_fp_model, gdbarch_tdep::fp_model, fp_model_strings, fprintf_filtered(), gdbarch_bfd_arch_info(), gdbarch_tdep(), and target_gdbarch().

Referenced by _initialize_arm_tdep().

## ◆ skip_prologue_function()

static int skip_prologue_function | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc,
|  | int | is_thumb
| ) |  |
| static

Definition at line 537 of file arm-tdep.c.

References BMSYMBOL_VALUE_ADDRESS, gdbarch_byte_order_for_code(), lookup_minimal_symbol_by_pc(), MSYMBOL_LINKAGE_NAME, name, read_code_unsigned_integer(), and startswith().

Referenced by arm_analyze_prologue(), and thumb_analyze_prologue().

## ◆ thumb2_copy_alu_imm()

static int thumb2_copy_alu_imm | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5214 of file arm-tdep.c.

References ARM_PC_REGNUM, bits, CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_alu_imm(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, arm_displaced_step_closure::rd, thumb_copy_unmodified_32bit(), and arm_displaced_step_closure::tmp.

Referenced by thumb2_decode_dp_shift_reg().

## ◆ thumb2_copy_b_bl_blx()

static int thumb2_copy_b_bl_blx | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4995 of file arm-tdep.c.

References bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, INST_AL, install_b_bl_blx(), arm_displaced_step_closure::modinsn, offset, sbits, and THUMB_NOP.

Referenced by thumb_process_displaced_32bit_insn().

## ◆ thumb2_copy_block_xfer()

static int thumb2_copy_block_xfer | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6128 of file arm-tdep.c.

References _, ARM_PC_REGNUM, bit, bitcount(), bits, arm_displaced_step_closure::block, arm_displaced_step_closure::cleanup, cleanup_block_load_pc(), cleanup_block_store_pc(), debug_displaced, displaced_read_reg(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, INST_AL, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, thumb_copy_unmodified_32bit(), arm_displaced_step_closure::tmp, arm_displaced_step_closure::u, and warning().

Referenced by thumb_process_displaced_32bit_insn().

## ◆ thumb2_copy_copro_load_store()

static int thumb2_copy_copro_load_store | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4877 of file arm-tdep.c.

References ARM_PC_REGNUM, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_copro_load_store(), arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, and thumb_copy_unmodified_32bit().

Referenced by thumb2_decode_ext_reg_ld_st(), and thumb2_decode_svc_copro().

## ◆ thumb2_copy_load_literal()

static int thumb2_copy_load_literal | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | size
| ) |  |
| static

Definition at line 5633 of file arm-tdep.c.

References ARM_PC_REGNUM, bit, bits, CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_load(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::insn_addr, arm_displaced_step_closure::ldst, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, arm_displaced_step_closure::rd, size, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by decode_thumb_32bit_ld_mem_hints().

## ◆ thumb2_copy_load_reg_imm()

static int thumb2_copy_load_reg_imm | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | writeback,
|  | int | immed
| ) |  |
| static

Definition at line 5689 of file arm-tdep.c.

References ARM_PC_REGNUM, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_load_store(), arm_displaced_step_closure::ldst, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, thumb_copy_unmodified_32bit(), and arm_displaced_step_closure::u.

Referenced by decode_thumb_32bit_ld_mem_hints().

## ◆ thumb2_copy_preload()

static int thumb2_copy_preload | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4718 of file arm-tdep.c.

References ARM_PC_REGNUM, bit, bits, CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_preload(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::insn_addr, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, arm_displaced_step_closure::preload, thumb_copy_unmodified_32bit(), arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by decode_thumb_32bit_ld_mem_hints().

## ◆ thumb2_copy_table_branch()

static int thumb2_copy_table_branch | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7086 of file arm-tdep.c.

References bit, bits, arm_displaced_step_closure::branch, arm_get_next_pcs::byte_order, arm_displaced_step_closure::cleanup, cleanup_branch(), debug_displaced, displaced_read_reg(), extract_unsigned_integer(), fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order(), arm_displaced_step_closure::insn_addr, INST_AL, target_read_memory(), and arm_displaced_step_closure::u.

Referenced by thumb_process_displaced_32bit_insn().

## ◆ thumb2_decode_dp_shift_reg()

static int thumb2_decode_dp_shift_reg | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6770 of file arm-tdep.c.

References bits, thumb2_copy_alu_imm(), and thumb_copy_unmodified_32bit().

Referenced by thumb_process_displaced_32bit_insn().

## ◆ thumb2_decode_ext_reg_ld_st()

static int thumb2_decode_ext_reg_ld_st | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6791 of file arm-tdep.c.

References bits, thumb2_copy_copro_load_store(), and thumb_copy_unmodified_32bit().

Referenced by thumb2_decode_svc_copro().

## ◆ thumb2_decode_svc_copro()

static int thumb2_decode_svc_copro | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6872 of file arm-tdep.c.

References bit, bits, thumb2_copy_copro_load_store(), thumb2_decode_ext_reg_ld_st(), thumb_32bit_copy_undef(), and thumb_copy_unmodified_32bit().

Referenced by thumb_process_displaced_32bit_insn().

## ◆ thumb2_record_asimd_struct_ld_st()

static int thumb2_record_asimd_struct_ld_st | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12610 of file arm-tdep.c.

References ARM_D0_REGNUM, insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, insn_decode_record_t::arm_regs, bit, bits, if(), MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_branch_misc_cntrl()

static int thumb2_record_branch_misc_cntrl | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12390 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_LR_REGNUM, ARM_PS_REGNUM, ARM_RECORD_SUCCESS, arm_record_unsupported_insn(), insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_coproc_insn()

static int thumb2_record_coproc_insn | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12599 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, arm_record_asimd_vfp_coproc(), arm_record_coproc_data_proc(), and bit.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_data_proc_sreg_mimm()

static int thumb2_record_data_proc_sreg_mimm | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12342 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_decode_insn_handler()

static unsigned int thumb2_record_decode_insn_handler | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12798 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, bit, bits, thumb2_record_asimd_struct_ld_st(), thumb2_record_branch_misc_cntrl(), thumb2_record_coproc_insn(), thumb2_record_data_proc_sreg_mimm(), thumb2_record_ld_mem_hints(), thumb2_record_ld_st_dual_ex_tbb(), thumb2_record_ld_st_multiple(), thumb2_record_ld_word(), thumb2_record_lmul_lmla_div(), thumb2_record_ps_dest_generic(), and thumb2_record_str_single_data().

Referenced by decode_insn().

## ◆ thumb2_record_ld_mem_hints()

static int thumb2_record_ld_mem_hints | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12520 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PC_REGNUM, ARM_PS_REGNUM, ARM_RECORD_FAILURE, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_ld_st_dual_ex_tbb()

static int thumb2_record_ld_st_dual_ex_tbb | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12225 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bit, bits, INSN_S_L_BIT_NUM, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_ld_st_multiple()

static int thumb2_record_ld_st_multiple | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12130 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, ARM_RECORD_SUCCESS, arm_record_unsupported_insn(), insn_decode_record_t::arm_regs, bit, bits, INSN_S_L_BIT_NUM, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_ld_word()

static int thumb2_record_ld_word | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12546 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_lmul_lmla_div()

static int thumb2_record_lmul_lmla_div | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12563 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, ARM_RECORD_FAILURE, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_ps_dest_generic()

static int thumb2_record_ps_dest_generic | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12371 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb2_record_str_single_data()

static int thumb2_record_str_single_data | ( | insn_decode_record * | thumb2_insn_r | ) |
| static

Definition at line 12430 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_RECORD_SUCCESS, insn_decode_record_t::arm_regs, bit, bits, gdb_assert_not_reached, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by thumb2_record_decode_insn_handler().

## ◆ thumb_32bit_copy_undef()

static int thumb_32bit_copy_undef | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6357 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::modinsn, and arm_displaced_step_closure::numinsns.

Referenced by decode_thumb_32bit_ld_mem_hints(), and thumb2_decode_svc_copro().

## ◆ thumb_analyze_prologue()

static CORE_ADDR thumb_analyze_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | start,
|  | CORE_ADDR | limit,
|  | struct arm_prologue_cache * | cache
| ) |  |
| static

Definition at line 643 of file arm-tdep.c.

References trad_frame_saved_reg::addr, arm_debug, ARM_FP_REGNUM, ARM_LR_REGNUM, ARM_SP_REGNUM, bit, bits, EXTRACT_MOVW_MOVT_IMM_T, pv_area::find_reg(), fprintf_unfiltered(), arm_prologue_cache::framereg, arm_prologue_cache::framesize, gdb_stdlog, gdbarch_addr_bit(), gdbarch_byte_order(), gdbarch_byte_order_for_code(), prologue_value::k, loc, offset, paddress(), pv_add(), pv_add_constant(), pv_constant(), pv_is_constant(), pv_is_register(), pv_register(), read_code_unsigned_integer(), read_memory_unsigned_integer(), arm_prologue_cache::saved_regs, sbits, skip_prologue_function(), pv_area::store(), pv_area::store_would_trash(), thumb2_instruction_changes_pc(), thumb_expand_immediate(), THUMB_FP_REGNUM, thumb_insn_size(), thumb_instruction_changes_pc(), and thumb_instruction_restores_sp().

Referenced by arm_skip_prologue(), and thumb_scan_prologue().

## ◆ thumb_copy_16bit_ldr_literal()

static int thumb_copy_16bit_ldr_literal | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6998 of file arm-tdep.c.

References ARM_PC_REGNUM, bits, CANNOT_WRITE_PC, arm_displaced_step_closure::cleanup, cleanup_load(), debug_displaced, displaced_read_reg(), displaced_write_reg(), fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::ldst, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::rd, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_alu_reg()

static int thumb_copy_alu_reg | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5340 of file arm-tdep.c.

References ARM_PC_REGNUM, bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_alu_reg(), arm_displaced_step_closure::modinsn, and thumb_copy_unmodified_16bit().

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_b()

static int thumb_copy_b | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5051 of file arm-tdep.c.

References bits, arm_displaced_step_closure::branch, arm_displaced_step_closure::cleanup, cleanup_branch(), debug_displaced, fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::insn_addr, INST_AL, arm_displaced_step_closure::modinsn, offset, sbits, THUMB_NOP, and arm_displaced_step_closure::u.

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_bx_blx_reg()

static int thumb_copy_bx_blx_reg | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 5134 of file arm-tdep.c.

References bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, INST_AL, install_bx_blx_reg(), arm_displaced_step_closure::modinsn, and THUMB_NOP.

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_cbnz_cbz()

static int thumb_copy_cbnz_cbz | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7048 of file arm-tdep.c.

References bit, bits, arm_displaced_step_closure::branch, arm_displaced_step_closure::cleanup, cleanup_branch(), debug_displaced, displaced_read_reg(), fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::insn_addr, INST_AL, arm_displaced_step_closure::modinsn, THUMB_NOP, and arm_displaced_step_closure::u.

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_pc_relative_16bit()

static int thumb_copy_pc_relative_16bit | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc,
|  | int | rd,
|  | unsigned int | imm
| ) |  |
| static

Definition at line 6931 of file arm-tdep.c.

References install_pc_relative(), and arm_displaced_step_closure::modinsn.

Referenced by thumb_decode_pc_relative_16bit().

## ◆ thumb_copy_pc_relative_32bit()

static int thumb_copy_pc_relative_32bit | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6961 of file arm-tdep.c.

References bit, bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_pc_relative(), arm_displaced_step_closure::modinsn, and arm_displaced_step_closure::numinsns.

Referenced by thumb_process_displaced_32bit_insn().

## ◆ thumb_copy_pop_pc_16bit()

static int thumb_copy_pop_pc_16bit | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7147 of file arm-tdep.c.

References _, bitcount(), arm_displaced_step_closure::block, arm_displaced_step_closure::cleanup, cleanup_block_load_pc(), cleanup_pop_pc_16bit_all(), debug_displaced, displaced_read_reg(), fprintf_unfiltered(), gdb_stdlog, INST_AL, arm_displaced_step_closure::modinsn, arm_displaced_step_closure::numinsns, arm_displaced_step_closure::tmp, and arm_displaced_step_closure::u.

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_svc()

static int thumb_copy_svc | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6327 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, install_svc(), and arm_displaced_step_closure::modinsn.

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_unmodified_16bit()

static int thumb_copy_unmodified_16bit | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn,
|  | const char * | iname,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4653 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, and arm_displaced_step_closure::modinsn.

Referenced by thumb_copy_alu_reg(), and thumb_process_displaced_16bit_insn().

## ◆ thumb_copy_unmodified_32bit()

static int thumb_copy_unmodified_32bit | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | const char * | iname,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 4634 of file arm-tdep.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, arm_displaced_step_closure::modinsn, and arm_displaced_step_closure::numinsns.

Referenced by decode_thumb_32bit_ld_mem_hints(), thumb2_copy_alu_imm(), thumb2_copy_block_xfer(), thumb2_copy_copro_load_store(), thumb2_copy_load_reg_imm(), thumb2_copy_preload(), thumb2_decode_dp_shift_reg(), thumb2_decode_ext_reg_ld_st(), thumb2_decode_svc_copro(), and thumb_process_displaced_32bit_insn().

## ◆ thumb_decode_pc_relative_16bit()

static int thumb_decode_pc_relative_16bit | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 6945 of file arm-tdep.c.

References bits, debug_displaced, fprintf_unfiltered(), gdb_stdlog, and thumb_copy_pc_relative_16bit().

Referenced by thumb_process_displaced_16bit_insn().

## ◆ thumb_expand_immediate()

static unsigned int thumb_expand_immediate | ( | unsigned int | imm | ) |
| static

Definition at line 604 of file arm-tdep.c.

Referenced by thumb_analyze_prologue().

## ◆ thumb_instruction_restores_sp()

static int thumb_instruction_restores_sp | ( | unsigned short | insn | ) |
| static

Definition at line 629 of file arm-tdep.c.

Referenced by thumb_analyze_prologue(), and thumb_stack_frame_destroyed_p().

## ◆ thumb_process_displaced_16bit_insn()

static void thumb_process_displaced_16bit_insn | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7220 of file arm-tdep.c.

References _, bit, bits, err, internal_error(), thumb_copy_16bit_ldr_literal(), thumb_copy_alu_reg(), thumb_copy_b(), thumb_copy_bx_blx_reg(), thumb_copy_cbnz_cbz(), thumb_copy_pop_pc_16bit(), thumb_copy_svc(), thumb_copy_unmodified_16bit(), and thumb_decode_pc_relative_16bit().

Referenced by thumb_process_displaced_insn().

## ◆ thumb_process_displaced_32bit_insn()

static void thumb_process_displaced_32bit_insn | ( | struct gdbarch * | gdbarch,
|  | uint16_t | insn1,
|  | uint16_t | insn2,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7403 of file arm-tdep.c.

References _, bit, bits, decode_thumb_32bit_ld_mem_hints(), err, internal_error(), thumb2_copy_b_bl_blx(), thumb2_copy_block_xfer(), thumb2_copy_table_branch(), thumb2_decode_dp_shift_reg(), thumb2_decode_svc_copro(), thumb_copy_pc_relative_32bit(), and thumb_copy_unmodified_32bit().

Referenced by thumb_process_displaced_insn().

## ◆ thumb_process_displaced_insn()

static void thumb_process_displaced_insn | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | from,
|  | struct regcache * | regs,
|  | arm_displaced_step_closure * | dsc
| ) |  |
| static

Definition at line 7531 of file arm-tdep.c.

References arm_get_next_pcs::byte_order_for_code, debug_displaced, fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order_for_code(), arm_displaced_step_closure::insn_size, arm_displaced_step_closure::is_thumb, read_memory_unsigned_integer(), thumb_insn_size(), thumb_process_displaced_16bit_insn(), and thumb_process_displaced_32bit_insn().

Referenced by arm_process_displaced_insn().

## ◆ thumb_record_add_sub_cmp_mov()

static int thumb_record_add_sub_cmp_mov | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 11677 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by decode_insn().

## ◆ thumb_record_branch()

static int thumb_record_branch | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 12098 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_LR_REGNUM, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

Referenced by decode_insn().

## ◆ thumb_record_ld_st_imm_offset()

static int thumb_record_ld_st_imm_offset | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 11788 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, insn_decode_record_t::arm_regs, bits, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ thumb_record_ld_st_reg_offset()

static int thumb_record_ld_st_reg_offset | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 11696 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bit, bits, in_inclusive_range(), MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ thumb_record_ld_st_stack()

static int thumb_record_ld_st_stack | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 11828 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, insn_decode_record_t::arm_regs, ARM_SP_REGNUM, bits, MEM_ALLOC, insn_decode_record_t::mem_rec_count, REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ thumb_record_ldm_stm_swi()

static int thumb_record_ldm_stm_swi | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 12014 of file arm-tdep.c.

References _, insn_decode_record_t::arm_insn, insn_decode_record_t::arm_mems, insn_decode_record_t::arm_regs, gdbarch_tdep::arm_syscall_record, bits, insn_decode_record_t::gdbarch, gdbarch_tdep(), MEM_ALLOC, insn_decode_record_t::mem_rec_count, printf_unfiltered(), REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, and regcache_raw_read_unsigned().

Referenced by decode_insn().

## ◆ thumb_record_misc()

static int thumb_record_misc | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 11884 of file arm-tdep.c.

References _, insn_decode_record_t::arm_insn, ARM_LR_REGNUM, insn_decode_record_t::arm_mems, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, ARM_SP_REGNUM, bit, bits, insn_decode_record_t::gdbarch, MEM_ALLOC, insn_decode_record_t::mem_rec_count, paddress(), printf_unfiltered(), REG_ALLOC, insn_decode_record_t::reg_rec_count, insn_decode_record_t::regcache, regcache_raw_read_unsigned(), and insn_decode_record_t::this_addr.

Referenced by decode_insn().

## ◆ thumb_record_shift_add_sub()

static int thumb_record_shift_add_sub | ( | insn_decode_record * | thumb_insn_r | ) |
| static

Definition at line 11657 of file arm-tdep.c.

References insn_decode_record_t::arm_insn, ARM_PS_REGNUM, insn_decode_record_t::arm_regs, bits, REG_ALLOC, and insn_decode_record_t::reg_rec_count.

## ◆ thumb_scan_prologue()

static void thumb_scan_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | prev_pc,
|  | CORE_ADDR | block_addr,
|  | struct arm_prologue_cache * | cache
| ) |  |
| static

Definition at line 1417 of file arm-tdep.c.

References find_pc_partial_function(), and thumb_analyze_prologue().

Referenced by arm_scan_prologue().

## ◆ thumb_stack_frame_destroyed_p()

static int thumb_stack_frame_destroyed_p | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 3155 of file arm-tdep.c.

References gdbarch::byte_order_for_code, extract_unsigned_integer(), find_pc_partial_function(), gdbarch_byte_order_for_code(), target_read_memory(), thumb_insn_size(), and thumb_instruction_restores_sp().

Referenced by arm_epilogue_frame_sniffer(), and arm_stack_frame_destroyed_p().

## ◆ value_of_arm_user_reg()

static struct value* value_of_arm_user_reg | ( | struct frame_info * | frame,
|  | const void * | baton
| ) |  |
| static

Definition at line 8818 of file arm-tdep.c.

References value_of_register().

Referenced by arm_gdbarch_init().

## Variable Documentation

## ◆ arm_abi_global

enum arm_abi_kind arm_abi_global = ARM_ABI_AUTO
| static

Definition at line 137 of file arm-tdep.c.

Referenced by arm_gdbarch_init(), arm_set_abi(), and arm_show_abi().

## ◆ arm_abi_string

const char* arm_abi_string = "auto"
| static

Definition at line 138 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_set_abi(), and arm_show_abi().

## ◆ arm_abi_strings

const char* const arm_abi_strings[]
| static

Initial value:
=
{
"auto",
"APCS",
"AAPCS",
NULL
}

Definition at line 128 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_set_abi(), and arm_show_abi().

## ◆ arm_apcs_32

int arm_apcs_32 = 1

Definition at line 281 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_supply_gregset(), arm_write_pc(), fetch_register(), fetch_regs(), store_register(), and store_regs().

## ◆ arm_debug

int arm_debug
| static

Definition at line 76 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_analyze_prologue(), arm_push_dummy_call(), and thumb_analyze_prologue().

## ◆ arm_default_arm_be_breakpoint

const gdb_byte arm_default_arm_be_breakpoint[] = ARM_BE_BREAKPOINT
| static

Definition at line 7776 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_default_arm_le_breakpoint

const gdb_byte arm_default_arm_le_breakpoint[] = ARM_LE_BREAKPOINT
| static

Definition at line 7775 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_default_thumb_be_breakpoint

const gdb_byte arm_default_thumb_be_breakpoint[] = THUMB_BE_BREAKPOINT
| static

Definition at line 7778 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_default_thumb_le_breakpoint

const gdb_byte arm_default_thumb_le_breakpoint[] = THUMB_LE_BREAKPOINT
| static

Definition at line 7777 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_disassembler_options

char* arm_disassembler_options
| static

Definition at line 213 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), and arm_gdbarch_init().

## ◆ arm_epilogue_frame_unwind

const struct frame_unwind arm_epilogue_frame_unwind
| static

Initial value:
=
{
NORMAL_FRAME,
default_frame_unwind_stop_reason,
arm_epilogue_frame_this_id,
arm_epilogue_frame_prev_register,
NULL,
arm_epilogue_frame_sniffer,
}
arm_epilogue_frame_sniffer
static int arm_epilogue_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: arm-tdep.c:2783
NORMAL_FRAME
Definition: frame.h:244
arm_epilogue_frame_prev_register
static struct value * arm_epilogue_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: arm-tdep.c:2765
arm_epilogue_frame_this_id
static void arm_epilogue_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:2739
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184

Definition at line 2803 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_exidx_data_key

const struct objfile_data* arm_exidx_data_key
| static

Definition at line 1974 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_exidx_new_objfile(), and arm_find_exidx_entry().

## ◆ arm_exidx_unwind

struct frame_unwind arm_exidx_unwind

Initial value:
= {
NORMAL_FRAME,
default_frame_unwind_stop_reason,
arm_prologue_this_id,
arm_prologue_prev_register,
NULL,
arm_exidx_unwind_sniffer
}
arm_prologue_this_id
static void arm_prologue_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:1878
arm_exidx_unwind_sniffer
static int arm_exidx_unwind_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: arm-tdep.c:2613
NORMAL_FRAME
Definition: frame.h:244
arm_prologue_prev_register
static struct value * arm_prologue_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:1903
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184

Definition at line 2702 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_fallback_mode_string

const char* arm_fallback_mode_string = "auto"
| static

Definition at line 149 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_pc_is_thumb(), and arm_show_fallback_mode().

## ◆ arm_force_mode_string

const char* arm_force_mode_string = "auto"
| static

Definition at line 150 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_pc_is_thumb(), and arm_show_force_mode().

## ◆ arm_fp_model

enum arm_float_model arm_fp_model = ARM_FLOAT_AUTO
| static

Definition at line 124 of file arm-tdep.c.

Referenced by arm_gdbarch_init(), set_fp_model_sfunc(), and show_fp_model().

## ◆ arm_get_next_pcs_ops

struct arm_get_next_pcs_ops arm_get_next_pcs_ops
| static

Initial value:
= {
arm_get_next_pcs_read_memory_unsigned_integer,
arm_get_next_pcs_syscall_next_pc,
arm_get_next_pcs_addr_bits_remove,
arm_get_next_pcs_is_thumb,
NULL,
}
arm_get_next_pcs_syscall_next_pc
static CORE_ADDR arm_get_next_pcs_syscall_next_pc(struct arm_get_next_pcs *self)
Definition: arm-tdep.c:6232
arm_get_next_pcs_addr_bits_remove
CORE_ADDR arm_get_next_pcs_addr_bits_remove(struct arm_get_next_pcs *self, CORE_ADDR val)
Definition: arm-tdep.c:6223
arm_get_next_pcs_read_memory_unsigned_integer
ULONGEST arm_get_next_pcs_read_memory_unsigned_integer(CORE_ADDR memaddr, int len, int byte_order)
Definition: arm-tdep.c:6213
arm_get_next_pcs_is_thumb
int arm_get_next_pcs_is_thumb(struct arm_get_next_pcs *self)
Definition: arm-tdep.c:6240

Definition at line 241 of file arm-tdep.c.

## ◆ arm_m_exception_unwind

struct frame_unwind arm_m_exception_unwind

Initial value:
=
{
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
arm_m_exception_this_id,
arm_m_exception_prev_register,
NULL,
arm_m_exception_unwind_sniffer
}
arm_m_exception_unwind_sniffer
static int arm_m_exception_unwind_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: arm-tdep.c:3023
SIGTRAMP_FRAME
Definition: frame.h:255
arm_m_exception_this_id
static void arm_m_exception_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:2981
arm_m_exception_prev_register
static struct value * arm_m_exception_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:3000
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184

Definition at line 3038 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_mode_strings

const char* const arm_mode_strings[]
| static

Initial value:
=
{
"auto",
"arm",
"thumb",
NULL
}

Definition at line 141 of file arm-tdep.c.

Referenced by _initialize_arm_tdep().

## ◆ arm_normal_base

struct frame_base arm_normal_base

Initial value:
= {
&arm_prologue_unwind,
arm_normal_frame_base,
arm_normal_frame_base,
arm_normal_frame_base
}
arm_prologue_unwind
struct frame_unwind arm_prologue_unwind
Definition: arm-tdep.c:1960
arm_normal_frame_base
static CORE_ADDR arm_normal_frame_base(struct frame_info *this_frame, void **this_cache)
Definition: arm-tdep.c:3049

Definition at line 3060 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_objfile_data_key

const struct objfile_data* arm_objfile_data_key
| static

Definition at line 92 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), arm_find_mapping_symbol(), and arm_record_special_symbol().

## ◆ arm_prologue_unwind

struct frame_unwind arm_prologue_unwind

Initial value:
= {
NORMAL_FRAME,
arm_prologue_unwind_stop_reason,
arm_prologue_this_id,
arm_prologue_prev_register,
NULL,
default_frame_sniffer
}
arm_prologue_this_id
static void arm_prologue_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:1878
arm_prologue_unwind_stop_reason
static enum unwind_stop_reason arm_prologue_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: arm-tdep.c:1852
NORMAL_FRAME
Definition: frame.h:244
default_frame_sniffer
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: frame-unwind.c:174
arm_prologue_prev_register
static struct value * arm_prologue_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:1903

Definition at line 1960 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ arm_register_aliases

const { ... } arm_register_aliases[]

Referenced by arm_gdbarch_init().

## ◆ arm_register_names

const char* const arm_register_names[]
| static

Initial value:
=
{"r0", "r1", "r2", "r3",
"r4", "r5", "r6", "r7",
"r8", "r9", "r10", "r11",
"r12", "sp", "lr", "pc",
"f0", "f1", "f2", "f3",
"f4", "f5", "f6", "f7",
"fps", "cpsr" }

Definition at line 203 of file arm-tdep.c.

Referenced by arm_gdbarch_init(), arm_register_name(), and arm_register_type().

## ◆ arm_stub_unwind

struct frame_unwind arm_stub_unwind

Initial value:
= {
NORMAL_FRAME,
default_frame_unwind_stop_reason,
arm_stub_this_id,
arm_prologue_prev_register,
NULL,
arm_stub_unwind_sniffer
}
arm_stub_this_id
static void arm_stub_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:2887
NORMAL_FRAME
Definition: frame.h:244
arm_prologue_prev_register
static struct value * arm_prologue_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:1903
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184
arm_stub_unwind_sniffer
static int arm_stub_unwind_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: arm-tdep.c:2901

Definition at line 2925 of file arm-tdep.c.

Referenced by arm_gdbarch_init().

## ◆ current_fp_model

const char* current_fp_model = "auto"
| static

Definition at line 125 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), and set_fp_model_sfunc().

## ◆ disassembly_style

const char* disassembly_style
| static

Definition at line 219 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), and set_disassembly_style_sfunc().

## ◆ fp_model_strings

const char* const fp_model_strings[]
| static

Initial value:
=
{
"auto",
"softfpa",
"fpa",
"softvfp",
"vfp",
NULL
}

Definition at line 113 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), set_fp_model_sfunc(), and show_fp_model().

## ◆ name

const char* name

Definition at line 158 of file arm-tdep.c.

Referenced by arm_gdbarch_init(), arm_record_special_symbol(), arm_skip_stub(), arm_stub_unwind_sniffer(), and skip_prologue_function().

## ◆ regnum

int regnum

Definition at line 159 of file arm-tdep.c.

Referenced by arm_dwarf2_frame_init_reg(), arm_dwarf2_prev_register(), arm_epilogue_frame_prev_register(), arm_gdbarch_init(), arm_neon_quad_read(), arm_neon_quad_write(), arm_pseudo_read(), arm_pseudo_write(), arm_push_dummy_call(), arm_register_reggroup_p(), arm_register_sim_regno(), arm_register_type(), and arm_return_value().

## ◆ setarmcmdlist

struct cmd_list_element* setarmcmdlist = NULL
| static

Definition at line 108 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), and set_arm_command().

## ◆ showarmcmdlist

struct cmd_list_element* showarmcmdlist = NULL
| static

Definition at line 109 of file arm-tdep.c.

Referenced by _initialize_arm_tdep(), and show_arm_command().

## ◆ valid_disassembly_styles

const char** valid_disassembly_styles
| static

Definition at line 216 of file arm-tdep.c.

Referenced by _initialize_arm_tdep().