GDB (xrefs)
Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-7.10/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 "regcache.h"
#include "reggroups.h"
#include "doublest.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 "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 "features/arm-with-m.c"
#include "features/arm-with-m-fpa-layout.c"
#include "features/arm-with-m-vfp-d16.c"
#include "features/arm-with-iwmmxt.c"
#include "features/arm-with-vfpv2.c"
#include "features/arm-with-vfpv3.c"
#include "features/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 IS_THUMB_ADDR(addr)   ((addr) & 1)
 
#define MAKE_THUMB_ADDR(addr)   ((addr) | 1)
 
#define UNMAKE_THUMB_ADDR(addr)   ((addr) & ~1)
 
#define submask(x)   ((1L << ((x) + 1)) - 1)
 
#define bit(obj, st)   (((obj) >> (st)) & 1)
 
#define bits(obj, st, fn)   (((obj) >> (st)) & submask ((fn) - (st)))
 
#define sbits(obj, st, fn)   ((long) (bits(obj,st,fn) | ((long) bit(obj,fn) * ~ submask (fn - st))))
 
#define BranchDest(addr, instr)   ((CORE_ADDR) (((unsigned long) (addr)) + 8 + (sbits (instr, 0, 23) << 2)))
 
#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 (char *, int, struct cmd_list_element *)
 
static void set_disassembly_style (void)
 
static void convert_from_extended (const struct floatformat *, const void *, void *, int)
 
static void convert_to_extended (const struct floatformat *, void *, const void *, int)
 
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 int thumb_insn_size (unsigned short inst1)
 
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_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 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_changes_pc (unsigned short inst)
 
static int thumb2_instruction_changes_pc (unsigned short inst1, unsigned short inst2)
 
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_changes_pc (uint32_t this_instr)
 
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_cachearm_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 valuearm_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_sectionarm_obj_section_from_vma (struct objfile *objfile, bfd_vma vma)
 
static void arm_exidx_new_objfile (struct objfile *objfile)
 
static gdb_bytearm_find_exidx_entry (CORE_ADDR memaddr, CORE_ADDR *start)
 
static struct arm_prologue_cachearm_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 CORE_ADDR arm_skip_bx_reg (struct frame_info *frame, CORE_ADDR pc)
 
static struct arm_prologue_cachearm_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_cachearm_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 valuearm_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 valuearm_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 thumb_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int arm_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static struct stack_itempush_stack_item (struct stack_item *prev, const void *contents, int len)
 
static struct stack_itempop_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 typearm_ext_type (struct gdbarch *gdbarch)
 
static struct typearm_neon_double_type (struct gdbarch *gdbarch)
 
static struct typearm_neon_quad_type (struct gdbarch *gdbarch)
 
static struct typearm_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 int condition_true (unsigned long cond, unsigned long status_reg)
 
static unsigned long shifted_reg_val (struct frame_info *frame, unsigned long inst, int carry, unsigned long pc_val, unsigned long status_reg)
 
static int bitcount (unsigned long val)
 
static int thumb_advance_itstate (unsigned int itstate)
 
static CORE_ADDR thumb_get_next_pc_raw (struct frame_info *frame, CORE_ADDR pc)
 
static CORE_ADDR arm_get_next_pc_raw (struct frame_info *frame, CORE_ADDR pc)
 
CORE_ADDR arm_get_next_pc (struct frame_info *frame, CORE_ADDR pc)
 
void arm_insert_single_step_breakpoint (struct gdbarch *gdbarch, struct address_space *aspace, CORE_ADDR pc)
 
static int thumb_deal_with_atomic_sequence_raw (struct frame_info *frame)
 
static int arm_deal_with_atomic_sequence_raw (struct frame_info *frame)
 
int arm_deal_with_atomic_sequence (struct frame_info *frame)
 
int arm_software_single_step (struct frame_info *frame)
 
static gdb_byteextend_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, struct displaced_step_closure *dsc, int regno)
 
static int displaced_in_arm_mode (struct regcache *regs)
 
static void branch_write_pc (struct regcache *regs, struct displaced_step_closure *dsc, ULONGEST val)
 
static void bx_write_pc (struct regcache *regs, ULONGEST val)
 
static void load_write_pc (struct regcache *regs, struct displaced_step_closure *dsc, ULONGEST val)
 
static void alu_write_pc (struct regcache *regs, struct displaced_step_closure *dsc, ULONGEST val)
 
void displaced_write_reg (struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static int thumb_copy_unmodified_32bit (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, const char *iname, struct displaced_step_closure *dsc)
 
static int thumb_copy_unmodified_16bit (struct gdbarch *gdbarch, unsigned int insn, const char *iname, struct displaced_step_closure *dsc)
 
static void cleanup_preload (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_preload (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc, unsigned int rn)
 
static int arm_copy_preload (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_copy_preload (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_preload_reg (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static void cleanup_copro_load_store (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_copro_load_store (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static int thumb2_copy_copro_load_store (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_branch (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_b_bl_blx (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static int thumb2_copy_b_bl_blx (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb_copy_b (struct gdbarch *gdbarch, unsigned short insn, struct displaced_step_closure *dsc)
 
static void install_bx_blx_reg (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static int thumb_copy_bx_blx_reg (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_alu_imm (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_copy_alu_imm (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_copy_alu_imm (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_alu_reg (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_alu_reg (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static int thumb_copy_alu_reg (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_alu_shifted_reg (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_alu_shifted_reg (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static void cleanup_load (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_store (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_copy_extra_ld_st (struct gdbarch *gdbarch, uint32_t insn, int unpriveleged, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_load_store (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct 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, struct 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, struct displaced_step_closure *dsc, int load, int size, int usermode)
 
static void cleanup_block_load_all (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_block_store_pc (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_block_load_pc (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_copy_block_xfer (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_copy_block_xfer (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_svc (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int install_svc (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_copy_svc (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb_copy_svc (struct gdbarch *gdbarch, uint16_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_copy_undef (struct gdbarch *gdbarch, uint32_t insn, struct displaced_step_closure *dsc)
 
static int thumb_32bit_copy_undef (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct displaced_step_closure *dsc)
 
static int arm_copy_unpred (struct gdbarch *gdbarch, uint32_t insn, struct displaced_step_closure *dsc)
 
static int arm_decode_misc_memhint_neon (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_unconditional (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_miscellaneous (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_dp_misc (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_ld_st_word_ubyte (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_media (struct gdbarch *gdbarch, uint32_t insn, struct displaced_step_closure *dsc)
 
static int arm_decode_b_bl_ldmstm (struct gdbarch *gdbarch, int32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_ext_reg_ld_st (struct gdbarch *gdbarch, uint32_t insn, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_decode_dp_shift_reg (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_decode_ext_reg_ld_st (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int arm_decode_svc_copro (struct gdbarch *gdbarch, uint32_t insn, CORE_ADDR to, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_decode_svc_copro (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void install_pc_relative (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc, int rd)
 
static int thumb_copy_pc_relative_16bit (struct gdbarch *gdbarch, struct regcache *regs, struct 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, struct displaced_step_closure *dsc)
 
static int thumb_copy_pc_relative_32bit (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb_copy_16bit_ldr_literal (struct gdbarch *gdbarch, unsigned short insn1, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb_copy_cbnz_cbz (struct gdbarch *gdbarch, uint16_t insn1, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb2_copy_table_branch (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void cleanup_pop_pc_16bit_all (struct gdbarch *gdbarch, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int thumb_copy_pop_pc_16bit (struct gdbarch *gdbarch, unsigned short insn1, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void thumb_process_displaced_16bit_insn (struct gdbarch *gdbarch, uint16_t insn1, struct regcache *regs, struct displaced_step_closure *dsc)
 
static int decode_thumb_32bit_ld_mem_hints (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void thumb_process_displaced_32bit_insn (struct gdbarch *gdbarch, uint16_t insn1, uint16_t insn2, struct regcache *regs, struct displaced_step_closure *dsc)
 
static void thumb_process_displaced_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, struct displaced_step_closure *dsc)
 
void arm_process_displaced_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, struct displaced_step_closure *dsc)
 
void arm_displaced_init_closure (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct displaced_step_closure *dsc)
 
struct displaced_step_closurearm_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
 
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 const unsigned char * arm_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
 
static void arm_remote_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *kindptr)
 
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 (char *args, int from_tty)
 
static void show_arm_command (char *args, int from_tty)
 
static void arm_update_current_architecture (void)
 
static void set_fp_model_sfunc (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 (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 valuevalue_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 struct gdbarcharm_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_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 (insn_decode_record *insn_record, uint32_t insn_size)
 
static int decode_insn (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_elementsetarmcmdlist = NULL
 
static struct cmd_list_elementshowarmcmdlist = 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"
 
static int arm_override_mode = -1
 
static int num_disassembly_options
 
struct {
   const char *   name
 
   int   regnum
 
arm_register_aliases []
 
static const char *const arm_register_names []
 
static const char ** valid_disassembly_styles
 
static const char * disassembly_style
 
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
 
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
 
initialize_file_ftype _initialize_arm_tdep
 

Macro Definition Documentation

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

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

#define ARM_INSN_SIZE_BYTES   4

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

Referenced by arm_process_record().

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

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

#define ARM_NOP   0xe1a00000

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

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

#define bit (   obj,
  st 
)    (((obj) >> (st)) & 1)

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

Referenced by arm_copy_b_bl_blx(), arm_copy_block_xfer(), arm_copy_bx_blx_reg(), arm_copy_copro_load_store(), arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), arm_decode_b_bl_ldmstm(), arm_decode_dp_misc(), arm_decode_ld_st_word_ubyte(), arm_decode_svc_copro(), arm_decode_unconditional(), arm_get_next_pc_raw(), arm_instruction_changes_pc(), arm_record_asimd_vfp_coproc(), arm_record_b_bl(), arm_record_coproc_data_proc(), 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_vdata_transfer_insn(), arm_record_vfp_data_proc_insn(), decode_thumb_32bit_ld_mem_hints(), shifted_reg_val(), thumb2_copy_b_bl_blx(), thumb2_copy_block_xfer(), thumb2_copy_load_literal(), thumb2_copy_preload(), thumb2_copy_table_branch(), thumb2_decode_svc_copro(), thumb2_instruction_changes_pc(), thumb2_record_asimd_struct_ld_st(), thumb2_record_coproc_insn(), thumb2_record_decode_insn_handler(), thumb2_record_ld_st_dual_ex_tbb(), thumb2_record_ld_st_multiple(), thumb2_record_str_single_data(), thumb_analyze_prologue(), thumb_copy_alu_reg(), thumb_copy_bx_blx_reg(), thumb_copy_cbnz_cbz(), thumb_copy_pc_relative_32bit(), thumb_copy_pop_pc_16bit(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pc_raw(), thumb_process_displaced_16bit_insn(), thumb_process_displaced_32bit_insn(), thumb_record_ld_st_reg_offset(), and thumb_record_misc().

#define bits (   obj,
  st,
  fn 
)    (((obj) >> (st)) & submask ((fn) - (st)))

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

Referenced by arm_analyze_load_stack_chk_guard(), arm_analyze_prologue(), arm_copy_alu_imm(), arm_copy_alu_reg(), arm_copy_alu_shifted_reg(), arm_copy_b_bl_blx(), arm_copy_block_xfer(), arm_copy_bx_blx_reg(), arm_copy_copro_load_store(), arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), arm_copy_preload(), arm_copy_preload_reg(), arm_deal_with_atomic_sequence_raw(), arm_decode_dp_misc(), arm_decode_ext_reg_ld_st(), arm_decode_ld_st_word_ubyte(), arm_decode_media(), arm_decode_misc_memhint_neon(), arm_decode_miscellaneous(), arm_decode_svc_copro(), arm_decode_unconditional(), arm_get_next_pc_raw(), arm_instruction_changes_pc(), arm_instruction_restores_sp(), arm_process_record(), arm_record_asimd_vfp_coproc(), 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_strx(), arm_record_vdata_transfer_insn(), arm_record_vfp_data_proc_insn(), arm_skip_bx_reg(), arm_skip_stack_protector(), arm_stack_frame_destroyed_p(), decode_insn(), decode_thumb_32bit_ld_mem_hints(), sbo_sbz(), shifted_reg_val(), thumb2_copy_alu_imm(), thumb2_copy_b_bl_blx(), thumb2_copy_block_xfer(), thumb2_copy_copro_load_store(), thumb2_copy_load_literal(), thumb2_copy_load_reg_imm(), thumb2_copy_preload(), thumb2_copy_table_branch(), thumb2_decode_dp_shift_reg(), thumb2_decode_ext_reg_ld_st(), thumb2_decode_svc_copro(), thumb2_instruction_changes_pc(), thumb2_record_asimd_struct_ld_st(), thumb2_record_branch_misc_cntrl(), thumb2_record_data_proc_sreg_mimm(), thumb2_record_decode_insn_handler(), 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_analyze_prologue(), thumb_copy_16bit_ldr_literal(), thumb_copy_alu_reg(), thumb_copy_b(), thumb_copy_bx_blx_reg(), thumb_copy_cbnz_cbz(), thumb_copy_pc_relative_32bit(), thumb_deal_with_atomic_sequence_raw(), thumb_decode_pc_relative_16bit(), thumb_get_next_pc_raw(), thumb_process_displaced_16bit_insn(), thumb_process_displaced_32bit_insn(), 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().

#define BranchDest (   addr,
  instr 
)    ((CORE_ADDR) (((unsigned long) (addr)) + 8 + (sbits (instr, 0, 23) << 2)))
#define DISPLACED_STEPPING_ARCH_VERSION   5

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

Referenced by alu_write_pc(), and load_write_pc().

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

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

Referenced by arm_analyze_load_stack_chk_guard().

#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))
#define bits(obj, st, fn)
Definition: arm-tdep.c:519

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

Referenced by arm_analyze_load_stack_chk_guard(), and thumb_analyze_prologue().

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

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

Referenced by arm_record_extension_space(), and decode_insn().

#define INSN_S_L_BIT_NUM   20
#define IS_THUMB_ADDR (   addr)    ((addr) & 1)
#define IT_SCAN_THRESHOLD   32

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

Referenced by arm_adjust_breakpoint_address().

#define MAKE_THUMB_ADDR (   addr)    ((addr) | 1)
#define MAX_IT_BLOCK_PREFIX   14

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

Referenced by arm_adjust_breakpoint_address().

#define MEM_ALLOC (   MEMS,
  LENGTH,
  RECORD_BUF 
)
#define MSYMBOL_IS_SPECIAL (   msym)    MSYMBOL_TARGET_FLAG_1 (msym)

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

Referenced by arm_pc_is_thumb().

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

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

Referenced by arm_coff_make_msymbol_special(), and arm_elf_make_msymbol_special().

#define REG_ALLOC (   REGS,
  LENGTH,
  RECORD_BUF 
)
#define sbits (   obj,
  st,
  fn 
)    ((long) (bits(obj,st,fn) | ((long) bit(obj,fn) * ~ submask (fn - st))))
#define submask (   x)    ((1L << ((x) + 1)) - 1)

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

#define THUMB2_INSN_SIZE_BYTES   4

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

Referenced by arm_process_record().

#define THUMB_BE_BREAKPOINT   {0xbe,0xbe}

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

#define THUMB_INSN_SIZE_BYTES   2

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

Referenced by arm_process_record().

#define THUMB_LE_BREAKPOINT   {0xbe,0xbe}

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

#define THUMB_NOP   0x4600
#define UNMAKE_THUMB_ADDR (   addr)    ((addr) & ~1)

Typedef Documentation

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

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

typedef int(* sti_arm_hdl_fp_t) (insn_decode_record *)

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

Enumeration Type Documentation

Enumerator
ARM_RECORD_SUCCESS 
ARM_RECORD_FAILURE 

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

Enumerator
ARM_RECORD_STRH 
ARM_RECORD_STRD 

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

Enumerator
VFP_CPRC_UNKNOWN 
VFP_CPRC_SINGLE 
VFP_CPRC_DOUBLE 
VFP_CPRC_VEC64 
VFP_CPRC_VEC128 

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

Enumerator
ARM_RECORD 
THUMB_RECORD 
THUMB2_RECORD 

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

Function Documentation

void _initialize_arm_tdep ( void  )
static void alu_write_pc ( struct regcache regs,
struct displaced_step_closure dsc,
ULONGEST  val 
)
static
static CORE_ADDR arm_addr_bits_remove ( struct gdbarch gdbarch,
CORE_ADDR  val 
)
static
static CORE_ADDR arm_adjust_breakpoint_address ( struct gdbarch gdbarch,
CORE_ADDR  bpaddr 
)
static
static CORE_ADDR arm_analyze_load_stack_chk_guard ( CORE_ADDR  pc,
struct gdbarch gdbarch,
unsigned int destreg,
int offset 
)
static
static CORE_ADDR arm_analyze_prologue ( struct gdbarch gdbarch,
CORE_ADDR  prologue_start,
CORE_ADDR  prologue_end,
struct arm_prologue_cache cache 
)
static
static const unsigned char* arm_breakpoint_from_pc ( struct gdbarch gdbarch,
CORE_ADDR pcptr,
int lenptr 
)
static
static void arm_coff_make_msymbol_special ( int  val,
struct minimal_symbol msym 
)
static

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

References coff_sym_is_thumb(), and MSYMBOL_SET_SPECIAL.

Referenced by arm_gdbarch_init().

static int arm_compare_exidx_entries ( const struct arm_exidx_entry lhs,
const struct arm_exidx_entry rhs 
)
inlinestatic

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

References arm_exidx_entry::addr.

Referenced by arm_find_exidx_entry().

static int arm_compare_mapping_symbols ( const struct arm_mapping_symbol lhs,
const struct arm_mapping_symbol rhs 
)
inlinestatic

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

References arm_mapping_symbol::value.

Referenced by arm_find_mapping_symbol(), and arm_record_special_symbol().

static int arm_copy_alu_imm ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_alu_reg ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_alu_shifted_reg ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_b_bl_blx ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_block_xfer ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_bx_blx_reg ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_copro_load_store ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_extra_ld_st ( struct gdbarch gdbarch,
uint32_t  insn,
int  unpriveleged,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_ldr_str_ldrb_strb ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc,
int  load,
int  size,
int  usermode 
)
static
static int arm_copy_preload ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_preload_reg ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_svc ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_copy_undef ( struct gdbarch gdbarch,
uint32_t  insn,
struct displaced_step_closure dsc 
)
static
static int arm_copy_unmodified ( struct gdbarch gdbarch,
uint32_t  insn,
const char *  iname,
struct displaced_step_closure dsc 
)
static
static int arm_copy_unpred ( struct gdbarch gdbarch,
uint32_t  insn,
struct displaced_step_closure dsc 
)
static
int arm_deal_with_atomic_sequence ( struct frame_info frame)
static int arm_deal_with_atomic_sequence_raw ( struct frame_info frame)
static
static int arm_decode_b_bl_ldmstm ( struct gdbarch gdbarch,
int32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static

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

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

Referenced by arm_process_displaced_insn().

static int arm_decode_dp_misc ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_decode_ext_reg_ld_st ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static

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

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

Referenced by arm_decode_svc_copro().

static int arm_decode_ld_st_word_ubyte ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static

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

References arm_copy_ldr_str_ldrb_strb(), bit, and bits.

Referenced by arm_process_displaced_insn().

static int arm_decode_media ( struct gdbarch gdbarch,
uint32_t  insn,
struct displaced_step_closure dsc 
)
static

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

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

Referenced by arm_process_displaced_insn().

static int arm_decode_misc_memhint_neon ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_decode_miscellaneous ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static

Definition at line 7593 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().

static int arm_decode_svc_copro ( struct gdbarch gdbarch,
uint32_t  insn,
CORE_ADDR  to,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int arm_decode_unconditional ( struct gdbarch gdbarch,
uint32_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
void arm_displaced_init_closure ( struct gdbarch gdbarch,
CORE_ADDR  from,
CORE_ADDR  to,
struct displaced_step_closure dsc 
)
struct displaced_step_closure* arm_displaced_step_copy_insn ( struct gdbarch gdbarch,
CORE_ADDR  from,
CORE_ADDR  to,
struct regcache regs 
)
void arm_displaced_step_fixup ( struct gdbarch gdbarch,
struct displaced_step_closure dsc,
CORE_ADDR  from,
CORE_ADDR  to,
struct regcache regs 
)
static struct frame_id arm_dummy_id ( struct gdbarch gdbarch,
struct frame_info this_frame 
)
static

Definition at line 3148 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().

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

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

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

Referenced by _initialize_arm_tdep().

static void arm_dwarf2_frame_init_reg ( struct gdbarch gdbarch,
int  regnum,
struct dwarf2_frame_state_reg reg,
struct frame_info this_frame 
)
static
static struct value* arm_dwarf2_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static
static int arm_dwarf_reg_to_regnum ( struct gdbarch gdbarch,
int  reg 
)
static
static void arm_elf_make_msymbol_special ( asymbol *  sym,
struct minimal_symbol msym 
)
static

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

References MSYMBOL_SET_SPECIAL.

Referenced by arm_gdbarch_init().

static enum gdb_osabi arm_elf_osabi_sniffer ( bfd *  abfd)
static

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

References GDB_OSABI_UNKNOWN, and generic_elf_osabi_sniff_abi_tag_sections().

Referenced by _initialize_arm_tdep().

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

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

References objfile::obfd, and VEC_free.

Referenced by _initialize_arm_tdep().

static struct arm_prologue_cache* arm_exidx_fill_cache ( struct frame_info this_frame,
gdb_byte entry 
)
static
static void arm_exidx_new_objfile ( struct objfile objfile)
static
static int arm_exidx_unwind_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_prologue_cache 
)
static
static struct type* arm_ext_type ( struct gdbarch gdbarch)
static
static void arm_extract_return_value ( struct type type,
struct regcache regs,
gdb_byte valbuf 
)
static
static gdb_byte* arm_find_exidx_entry ( CORE_ADDR  memaddr,
CORE_ADDR start 
)
static
static char arm_find_mapping_symbol ( CORE_ADDR  memaddr,
CORE_ADDR start 
)
static
static CORE_ADDR arm_frame_align ( struct gdbarch gdbarch,
CORE_ADDR  sp 
)
static

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

Referenced by arm_gdbarch_init().

int arm_frame_is_thumb ( struct frame_info frame)
static struct gdbarch* arm_gdbarch_init ( struct gdbarch_info  info,
struct gdbarch_list arches 
)
static

Definition at line 9915 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_from_pc(), gdbarch_tdep::arm_breakpoint_size, 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_dummy_id(), arm_dwarf2_frame_init_reg(), arm_dwarf_reg_to_regnum(), arm_elf_make_msymbol_special(), 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_NUM_REGS, ARM_PC_REGNUM, arm_print_float_info(), 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_remote_breakpoint_from_pc(), arm_return_value(), arm_skip_prologue(), arm_skip_stub(), ARM_SP_REGNUM, arm_stack_frame_destroyed_p(), 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_from_pc(), set_gdbarch_char_signed(), set_gdbarch_coff_make_msymbol_special(), 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_remote_breakpoint_from_pc(), 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_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_vbit_in_delta(), 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 xcalloc().

Referenced by _initialize_arm_tdep().

static int arm_get_longjmp_target ( struct frame_info frame,
CORE_ADDR pc 
)
static
CORE_ADDR arm_get_next_pc ( struct frame_info frame,
CORE_ADDR  pc 
)
static CORE_ADDR arm_get_next_pc_raw ( struct frame_info frame,
CORE_ADDR  pc 
)
static
void arm_insert_single_step_breakpoint ( struct gdbarch gdbarch,
struct address_space aspace,
CORE_ADDR  pc 
)
static int arm_instruction_changes_pc ( uint32_t  this_instr)
static

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

References _, ARM_PC_REGNUM, bit, bits, error(), INST_NV, and internal_error().

Referenced by arm_analyze_prologue(), and arm_deal_with_atomic_sequence_raw().

static int arm_instruction_restores_sp ( unsigned int  insn)
static

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

References bits, and INST_NV.

Referenced by arm_analyze_prologue(), and arm_stack_frame_destroyed_p().

static struct arm_prologue_cache* arm_m_exception_cache ( struct frame_info this_frame)
static
static struct value* arm_m_exception_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  prev_regnum 
)
static
static void arm_m_exception_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static
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 3091 of file arm-tdep.c.

References get_frame_pc().

static struct arm_prologue_cache* arm_make_prologue_cache ( struct frame_info this_frame)
static
static struct arm_prologue_cache* arm_make_stub_cache ( struct frame_info this_frame)
static
static struct type* arm_neon_double_type ( struct gdbarch gdbarch)
static
static enum register_status arm_neon_quad_read ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
gdb_byte buf 
)
static
static struct type* arm_neon_quad_type ( struct gdbarch gdbarch)
static
static void arm_neon_quad_write ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
const gdb_byte buf 
)
static
static CORE_ADDR arm_normal_frame_base ( struct frame_info this_frame,
void **  this_cache 
)
static
static struct obj_section* arm_obj_section_from_vma ( struct objfile objfile,
bfd_vma  vma 
)
static

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

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

Referenced by arm_exidx_new_objfile().

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

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

References objfile::obfd, and VEC_free.

Referenced by _initialize_arm_tdep().

int arm_pc_is_thumb ( struct gdbarch gdbarch,
CORE_ADDR  memaddr 
)
static void arm_print_float_info ( struct gdbarch gdbarch,
struct ui_file file,
struct frame_info frame,
const char *  args 
)
static
void arm_process_displaced_insn ( struct gdbarch gdbarch,
CORE_ADDR  from,
CORE_ADDR  to,
struct regcache regs,
struct displaced_step_closure dsc 
)
int arm_process_record ( struct gdbarch gdbarch,
struct regcache regcache,
CORE_ADDR  insn_addr 
)
static struct value* arm_prologue_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  prev_regnum 
)
static
static void arm_prologue_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static
static enum unwind_stop_reason arm_prologue_unwind_stop_reason ( struct frame_info this_frame,
void **  this_cache 
)
static
static enum register_status arm_pseudo_read ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
gdb_byte buf 
)
static
static void arm_pseudo_write ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
const gdb_byte buf 
)
static
int arm_psr_thumb_bit ( struct gdbarch gdbarch)
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
static int arm_record_asimd_vfp_coproc ( insn_decode_record arm_insn_r)
static
static int arm_record_b_bl ( insn_decode_record arm_insn_r)
static
static int arm_record_coproc_data_proc ( insn_decode_record arm_insn_r)
static
static int arm_record_data_proc_imm ( insn_decode_record arm_insn_r)
static
static int arm_record_data_proc_misc_ld_str ( insn_decode_record arm_insn_r)
static
static int arm_record_exreg_ld_st_insn ( insn_decode_record arm_insn_r)
static
static int arm_record_extension_space ( insn_decode_record arm_insn_r)
static
static int arm_record_ld_st_imm_offset ( insn_decode_record arm_insn_r)
static
static int arm_record_ld_st_multiple ( insn_decode_record arm_insn_r)
static
static int arm_record_ld_st_reg_offset ( insn_decode_record arm_insn_r)
static
static void arm_record_special_symbol ( struct gdbarch gdbarch,
struct objfile objfile,
asymbol *  sym 
)
static
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
static int arm_record_unsupported_insn ( insn_decode_record arm_insn_r)
static
static int arm_record_vdata_transfer_insn ( insn_decode_record arm_insn_r)
static
static int arm_record_vfp_data_proc_insn ( insn_decode_record arm_insn_r)
static
static void arm_register_g_packet_guesses ( struct gdbarch gdbarch)
static
static const char* arm_register_name ( struct gdbarch gdbarch,
int  i 
)
static
static int arm_register_reggroup_p ( struct gdbarch gdbarch,
int  regnum,
struct reggroup group 
)
static
static int arm_register_sim_regno ( struct gdbarch gdbarch,
int  regnum 
)
static
static struct type* arm_register_type ( struct gdbarch gdbarch,
int  regnum 
)
static
static void arm_remote_breakpoint_from_pc ( struct gdbarch gdbarch,
CORE_ADDR pcptr,
int kindptr 
)
static

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

References arm_breakpoint_from_pc(), and arm_pc_is_thumb().

Referenced by arm_gdbarch_init().

static int arm_return_in_memory ( struct gdbarch gdbarch,
struct type type 
)
static
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
static void arm_scan_prologue ( struct frame_info this_frame,
struct arm_prologue_cache cache 
)
static
static void arm_set_abi ( char *  args,
int  from_tty,
struct cmd_list_element c 
)
static
static void arm_show_abi ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static
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 9476 of file arm-tdep.c.

References _, arm_fallback_mode_string, and fprintf_filtered().

Referenced by _initialize_arm_tdep().

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 9486 of file arm-tdep.c.

References _, arm_force_mode_string, fprintf_filtered(), gdbarch_tdep(), and target_gdbarch().

Referenced by _initialize_arm_tdep().

static CORE_ADDR arm_skip_bx_reg ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static CORE_ADDR arm_skip_prologue ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static CORE_ADDR arm_skip_stack_protector ( CORE_ADDR  pc,
struct gdbarch gdbarch 
)
static
CORE_ADDR arm_skip_stub ( struct frame_info frame,
CORE_ADDR  pc 
)
int arm_software_single_step ( struct frame_info frame)
static int arm_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static void arm_store_return_value ( struct type type,
struct regcache regs,
const gdb_byte valbuf 
)
static
static void arm_stub_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static
static int arm_stub_unwind_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_prologue_cache 
)
static
static int arm_type_align ( struct type t)
static
static CORE_ADDR arm_unwind_pc ( struct gdbarch gdbarch,
struct frame_info this_frame 
)
static

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

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

Referenced by arm_gdbarch_init().

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

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

References ARM_SP_REGNUM, and frame_unwind_register_unsigned().

Referenced by arm_gdbarch_init().

static void arm_update_current_architecture ( void  )
static
static int arm_vfp_abi_for_function ( struct gdbarch gdbarch,
struct type func_type 
)
static
static int arm_vfp_call_candidate ( struct type t,
enum arm_vfp_cprc_base_type base_type,
int count 
)
static

Definition at line 3685 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().

static int arm_vfp_cprc_reg_char ( enum arm_vfp_cprc_base_type  b)
static
static int arm_vfp_cprc_sub_candidate ( struct type t,
enum arm_vfp_cprc_base_type base_type 
)
static
static unsigned arm_vfp_cprc_unit_length ( enum arm_vfp_cprc_base_type  b)
static
static void arm_write_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static
static int bitcount ( unsigned long  val)
static
static void branch_write_pc ( struct regcache regs,
struct displaced_step_closure dsc,
ULONGEST  val 
)
static
static void bx_write_pc ( struct regcache regs,
ULONGEST  val 
)
static
static void cleanup_alu_imm ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_alu_reg ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_alu_shifted_reg ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_block_load_all ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_block_load_pc ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_block_store_pc ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_branch ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_copro_load_store ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_load ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_pop_pc_16bit_all ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_preload ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_store ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void cleanup_svc ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int coff_sym_is_thumb ( int  val)
static

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

Referenced by arm_coff_make_msymbol_special().

static int condition_true ( unsigned long  cond,
unsigned long  status_reg 
)
static
static void convert_from_extended ( const struct floatformat *  fmt,
const void *  ptr,
void *  dbl,
int  endianess 
)
static

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

References floatformat_from_doublest(), and floatformat_to_doublest().

Referenced by arm_extract_return_value().

static void convert_to_extended ( const struct floatformat *  fmt,
void *  dbl,
const void *  ptr,
int  endianess 
)
static

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

References floatformat_from_doublest(), and floatformat_to_doublest().

Referenced by arm_store_return_value().

static void deallocate_reg_mem ( insn_decode_record record)
static

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

References insn_decode_record_t::arm_mems, insn_decode_record_t::arm_regs, and xfree().

Referenced by arm_process_record().

static int decode_insn ( insn_decode_record arm_record,
record_type_t  record_type,
uint32_t  insn_size 
)
static
static int decode_thumb_32bit_ld_mem_hints ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
DEF_VEC_O ( arm_mapping_symbol_s  )
DEF_VEC_O ( arm_exidx_entry_s  )
static int displaced_in_arm_mode ( struct regcache regs)
static
ULONGEST displaced_read_reg ( struct regcache regs,
struct displaced_step_closure dsc,
int  regno 
)
void displaced_write_reg ( struct regcache regs,
struct displaced_step_closure dsc,
int  regno,
ULONGEST  val,
enum pc_write_style  write_pc 
)
static gdb_byte* extend_buffer_earlier ( gdb_byte buf,
CORE_ADDR  endaddr,
int  old_len,
int  new_len 
)
static

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

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

Referenced by arm_adjust_breakpoint_address().

static int extract_arm_insn ( insn_decode_record insn_record,
uint32_t  insn_size 
)
static
static int gdb_print_insn_arm ( bfd_vma  memaddr,
disassemble_info *  info 
)
static

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

References arm_pc_is_thumb(), and UNMAKE_THUMB_ADDR.

Referenced by arm_gdbarch_init().

static int insn_references_pc ( uint32_t  insn,
uint32_t  bitmask 
)
static
static void install_alu_reg ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
unsigned int  rd,
unsigned int  rn,
unsigned int  rm 
)
static
static void install_alu_shifted_reg ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
unsigned int  rd,
unsigned int  rn,
unsigned int  rm,
unsigned  rs 
)
static
static void install_b_bl_blx ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
unsigned int  cond,
int  exchange,
int  link,
long  offset 
)
static
static void install_bx_blx_reg ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
int  link,
unsigned int  cond,
unsigned int  rm 
)
static
static void install_copro_load_store ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
int  writeback,
unsigned int  rn 
)
static
static void install_load_store ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
int  load,
int  immed,
int  writeback,
int  size,
int  usermode,
int  rt,
int  rm,
int  rn 
)
static
static void install_pc_relative ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
int  rd 
)
static
static void install_preload ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
unsigned int  rn 
)
static
static void install_preload_reg ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
unsigned int  rn,
unsigned int  rm 
)
static
static int install_svc ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void load_write_pc ( struct regcache regs,
struct displaced_step_closure dsc,
ULONGEST  val 
)
static

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

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

Referenced by displaced_write_reg().

static struct stack_item* pop_stack_item ( struct stack_item si)
static

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

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

Referenced by arm_push_dummy_call().

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

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

References fputc_filtered(), and fputs_filtered().

Referenced by arm_print_float_info().

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

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

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

Referenced by arm_push_dummy_call().

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

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

References bits.

Referenced by arm_record_data_proc_imm(), and arm_record_data_proc_misc_ld_str().

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

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

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

Referenced by _initialize_arm_tdep().

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

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

References set_disassembly_style().

Referenced by _initialize_arm_tdep().

static void set_fp_model_sfunc ( char *  args,
int  from_tty,
struct cmd_list_element c 
)
static
static unsigned long shifted_reg_val ( struct frame_info frame,
unsigned long  inst,
int  carry,
unsigned long  pc_val,
unsigned long  status_reg 
)
static

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

References ARM_PC_REGNUM, bit, bits, get_frame_register_unsigned(), L, and shifttype.

Referenced by arm_get_next_pc_raw().

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

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

References cmd_show_list().

Referenced by _initialize_arm_tdep().

static void show_fp_model ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static
static int skip_prologue_function ( struct gdbarch gdbarch,
CORE_ADDR  pc,
int  is_thumb 
)
static
static int thumb2_copy_alu_imm ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_copy_b_bl_blx ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_copy_block_xfer ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_copy_copro_load_store ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_copy_load_literal ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc,
int  size 
)
static
static int thumb2_copy_load_reg_imm ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc,
int  writeback,
int  immed 
)
static
static int thumb2_copy_preload ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_copy_table_branch ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_decode_dp_shift_reg ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_decode_ext_reg_ld_st ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static

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

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

Referenced by thumb2_decode_svc_copro().

static int thumb2_decode_svc_copro ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb2_instruction_changes_pc ( unsigned short  inst1,
unsigned short  inst2 
)
static

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

References bit, and bits.

Referenced by thumb_analyze_prologue(), and thumb_deal_with_atomic_sequence_raw().

static int thumb2_record_asimd_struct_ld_st ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_branch_misc_cntrl ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_coproc_insn ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_data_proc_sreg_mimm ( insn_decode_record thumb2_insn_r)
static
static unsigned int thumb2_record_decode_insn_handler ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_ld_mem_hints ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_ld_st_dual_ex_tbb ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_ld_st_multiple ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_ld_word ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_lmul_lmla_div ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_ps_dest_generic ( insn_decode_record thumb2_insn_r)
static
static int thumb2_record_str_single_data ( insn_decode_record thumb2_insn_r)
static
static int thumb_32bit_copy_undef ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct displaced_step_closure dsc 
)
static
static int thumb_advance_itstate ( unsigned int  itstate)
static

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

Referenced by thumb_get_next_pc_raw().

static CORE_ADDR thumb_analyze_prologue ( struct gdbarch gdbarch,
CORE_ADDR  start,
CORE_ADDR  limit,
struct arm_prologue_cache cache 
)
static
static int thumb_copy_16bit_ldr_literal ( struct gdbarch gdbarch,
unsigned short  insn1,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_alu_reg ( struct gdbarch gdbarch,
uint16_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_b ( struct gdbarch gdbarch,
unsigned short  insn,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_bx_blx_reg ( struct gdbarch gdbarch,
uint16_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_cbnz_cbz ( struct gdbarch gdbarch,
uint16_t  insn1,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_pc_relative_16bit ( struct gdbarch gdbarch,
struct regcache regs,
struct displaced_step_closure dsc,
int  rd,
unsigned int  imm 
)
static

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

References install_pc_relative(), and displaced_step_closure::modinsn.

Referenced by thumb_decode_pc_relative_16bit().

static int thumb_copy_pc_relative_32bit ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_pop_pc_16bit ( struct gdbarch gdbarch,
unsigned short  insn1,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_svc ( struct gdbarch gdbarch,
uint16_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_unmodified_16bit ( struct gdbarch gdbarch,
unsigned int  insn,
const char *  iname,
struct displaced_step_closure dsc 
)
static
static int thumb_copy_unmodified_32bit ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
const char *  iname,
struct displaced_step_closure dsc 
)
static
static int thumb_deal_with_atomic_sequence_raw ( struct frame_info frame)
static
static int thumb_decode_pc_relative_16bit ( struct gdbarch gdbarch,
uint16_t  insn,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static unsigned int thumb_expand_immediate ( unsigned int  imm)
static

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

Referenced by thumb_analyze_prologue().

static CORE_ADDR thumb_get_next_pc_raw ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static int thumb_insn_size ( unsigned short  inst1)
static
static int thumb_instruction_changes_pc ( unsigned short  inst)
static

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

Referenced by thumb_analyze_prologue(), and thumb_deal_with_atomic_sequence_raw().

static int thumb_instruction_restores_sp ( unsigned short  insn)
static

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

Referenced by thumb_analyze_prologue(), and thumb_stack_frame_destroyed_p().

static void thumb_process_displaced_16bit_insn ( struct gdbarch gdbarch,
uint16_t  insn1,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void thumb_process_displaced_32bit_insn ( struct gdbarch gdbarch,
uint16_t  insn1,
uint16_t  insn2,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static void thumb_process_displaced_insn ( struct gdbarch gdbarch,
CORE_ADDR  from,
CORE_ADDR  to,
struct regcache regs,
struct displaced_step_closure dsc 
)
static
static int thumb_record_add_sub_cmp_mov ( insn_decode_record thumb_insn_r)
static
static int thumb_record_branch ( insn_decode_record thumb_insn_r)
static
static int thumb_record_ld_st_imm_offset ( insn_decode_record thumb_insn_r)
static
static int thumb_record_ld_st_reg_offset ( insn_decode_record thumb_insn_r)
static
static int thumb_record_ld_st_stack ( insn_decode_record thumb_insn_r)
static
static int thumb_record_ldm_stm_swi ( insn_decode_record thumb_insn_r)
static
static int thumb_record_misc ( insn_decode_record thumb_insn_r)
static
static int thumb_record_shift_add_sub ( insn_decode_record thumb_insn_r)
static
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 1487 of file arm-tdep.c.

References find_pc_partial_function(), min, and thumb_analyze_prologue().

Referenced by arm_scan_prologue().

static int thumb_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static struct value* value_of_arm_user_reg ( struct frame_info frame,
const void *  baton 
)
static

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

References value_of_register().

Referenced by arm_gdbarch_init().

Variable Documentation

initialize_file_ftype _initialize_arm_tdep
enum arm_abi_kind arm_abi_global = ARM_ABI_AUTO
static

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

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

const char* arm_abi_string = "auto"
static

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

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

const char* const arm_abi_strings[]
static
Initial value:
=
{
"auto",
"APCS",
"AAPCS",
NULL
}

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

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

int arm_apcs_32 = 1
int arm_debug
static
const gdb_byte arm_default_arm_be_breakpoint[] = ARM_BE_BREAKPOINT
static

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

Referenced by arm_gdbarch_init().

const gdb_byte arm_default_arm_le_breakpoint[] = ARM_LE_BREAKPOINT
static

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

Referenced by arm_gdbarch_init().

const gdb_byte arm_default_thumb_be_breakpoint[] = THUMB_BE_BREAKPOINT
static

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

Referenced by arm_gdbarch_init().

const gdb_byte arm_default_thumb_le_breakpoint[] = THUMB_LE_BREAKPOINT
static

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

Referenced by arm_gdbarch_init().

const struct objfile_data* arm_exidx_data_key
static

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

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

struct frame_unwind arm_exidx_unwind
Initial value:
= {
NULL,
}
static void arm_prologue_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:2049
static int arm_exidx_unwind_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: arm-tdep.c:2782
static struct value * arm_prologue_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:2074
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180

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

const char* arm_fallback_mode_string = "auto"
static

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

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

const char* arm_force_mode_string = "auto"
static

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

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

enum arm_float_model arm_fp_model = ARM_FLOAT_AUTO
static

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

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

struct frame_unwind arm_m_exception_unwind
Initial value:
=
{
NULL,
}
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:3091
static void arm_m_exception_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:3048
static struct value * arm_m_exception_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:3067
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180

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

const char* const arm_mode_strings[]
static
Initial value:
=
{
"auto",
"arm",
"thumb",
NULL
}

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

Referenced by _initialize_arm_tdep().

struct frame_base arm_normal_base
Initial value:
= {
arm_normal_frame_base
}
struct frame_unwind arm_prologue_unwind
Definition: arm-tdep.c:2131
static CORE_ADDR arm_normal_frame_base(struct frame_info *this_frame, void **this_cache)
Definition: arm-tdep.c:3123

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

const struct objfile_data* arm_objfile_data_key
static
int arm_override_mode = -1
static

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

Referenced by arm_insert_single_step_breakpoint(), and arm_pc_is_thumb().

struct frame_unwind arm_prologue_unwind
Initial value:
= {
NULL,
}
static void arm_prologue_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:2049
static enum unwind_stop_reason arm_prologue_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: arm-tdep.c:2023
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: frame-unwind.c:170
static struct value * arm_prologue_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:2074

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

const { ... } arm_register_aliases[]

Referenced by arm_gdbarch_init().

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 205 of file arm-tdep.c.

Referenced by arm_gdbarch_init(), arm_register_name(), and arm_register_type().

struct frame_unwind arm_stub_unwind
Initial value:
= {
NULL,
}
static void arm_stub_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: arm-tdep.c:2954
static struct value * arm_prologue_prev_register(struct frame_info *this_frame, void **this_cache, int prev_regnum)
Definition: arm-tdep.c:2074
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180
static int arm_stub_unwind_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: arm-tdep.c:2968

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

const char* current_fp_model = "auto"
static

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

Referenced by _initialize_arm_tdep(), and set_fp_model_sfunc().

const char* disassembly_style
static

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

Referenced by _initialize_arm_tdep(), and set_disassembly_style().

const char* const fp_model_strings[]
static
Initial value:
=
{
"auto",
"softfpa",
"fpa",
"softvfp",
"vfp",
NULL
}

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

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

const char* name
int num_disassembly_options
static

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

Referenced by _initialize_arm_tdep(), and set_disassembly_style().

int regnum
struct cmd_list_element* setarmcmdlist = NULL
static

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

struct cmd_list_element* showarmcmdlist = NULL
static

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

const char** valid_disassembly_styles
static

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

Referenced by _initialize_arm_tdep(), and set_disassembly_style().