GDB (xrefs)
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/arm-tdep.h File Reference
#include "arch/arm.h"
#include "infrun.h"
#include <vector>

Go to the source code of this file.

Classes

struct  gdbarch_tdep
 
struct  arm_displaced_step_closure
 

Macros

#define FP_REGISTER_SIZE   12
 
#define VFP_REGISTER_SIZE   8
 
#define NUM_FREGS   8 /* Number of floating point registers. */
 
#define NUM_SREGS   2 /* Number of status registers. */
 
#define NUM_GREGS   16 /* Number of general purpose registers. */
 
#define DISPLACED_TEMPS   16
 
#define DISPLACED_MODIFIED_INSNS   8
 

Enumerations

enum  arm_float_model {
  ARM_FLOAT_AUTO, ARM_FLOAT_SOFT_FPA, ARM_FLOAT_FPA, ARM_FLOAT_SOFT_VFP,
  ARM_FLOAT_VFP, ARM_FLOAT_LAST
}
 
enum  arm_abi_kind { ARM_ABI_AUTO, ARM_ABI_APCS, ARM_ABI_AAPCS, ARM_ABI_LAST }
 
enum  struct_return {
  pcc_struct_return, reg_struct_return, pcc_struct_return, reg_struct_return,
  pcc_struct_return, reg_struct_return
}
 
enum  pc_write_style {
  BRANCH_WRITE_PC, BX_WRITE_PC, LOAD_WRITE_PC, ALU_WRITE_PC,
  CANNOT_WRITE_PC
}
 

Functions

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)
 
ULONGEST displaced_read_reg (struct regcache *regs, arm_displaced_step_closure *dsc, int regno)
 
void displaced_write_reg (struct regcache *regs, arm_displaced_step_closure *dsc, int regno, ULONGEST val, enum pc_write_style write_pc)
 
CORE_ADDR arm_skip_stub (struct frame_info *, CORE_ADDR)
 
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_ADDRarm_software_single_step (struct regcache *)
 
int arm_is_thumb (struct regcache *regcache)
 
int arm_frame_is_thumb (struct frame_info *frame)
 
void arm_displaced_step_fixup (struct gdbarch *, struct displaced_step_closure *, CORE_ADDR, CORE_ADDR, struct regcache *)
 
int arm_psr_thumb_bit (struct gdbarch *)
 
int arm_pc_is_thumb (struct gdbarch *, CORE_ADDR)
 
int arm_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
 
void armbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 

Variables

struct target_desctdesc_arm_with_m
 
struct target_desctdesc_arm_with_iwmmxt
 
struct target_desctdesc_arm_with_vfpv2
 
struct target_desctdesc_arm_with_vfpv3
 
struct target_desctdesc_arm_with_neon
 

Macro Definition Documentation

◆ DISPLACED_MODIFIED_INSNS

#define DISPLACED_MODIFIED_INSNS   8

Definition at line 155 of file arm-tdep.h.

◆ DISPLACED_TEMPS

#define DISPLACED_TEMPS   16

Definition at line 151 of file arm-tdep.h.

◆ FP_REGISTER_SIZE

#define FP_REGISTER_SIZE   12

◆ NUM_FREGS

#define NUM_FREGS   8 /* Number of floating point registers. */

Definition at line 51 of file arm-tdep.h.

◆ NUM_GREGS

#define NUM_GREGS   16 /* Number of general purpose registers. */

Definition at line 53 of file arm-tdep.h.

Referenced by arm_register_sim_regno().

◆ NUM_SREGS

#define NUM_SREGS   2 /* Number of status registers. */

Definition at line 52 of file arm-tdep.h.

Referenced by arm_register_sim_regno().

◆ VFP_REGISTER_SIZE

#define VFP_REGISTER_SIZE   8

Definition at line 42 of file arm-tdep.h.

Referenced by arm_register_g_packet_guesses().

Enumeration Type Documentation

◆ arm_abi_kind

Enumerator
ARM_ABI_AUTO 
ARM_ABI_APCS 
ARM_ABI_AAPCS 
ARM_ABI_LAST 

Definition at line 78 of file arm-tdep.h.

◆ arm_float_model

Enumerator
ARM_FLOAT_AUTO 
ARM_FLOAT_SOFT_FPA 
ARM_FLOAT_FPA 
ARM_FLOAT_SOFT_VFP 
ARM_FLOAT_VFP 
ARM_FLOAT_LAST 

Definition at line 67 of file arm-tdep.h.

◆ pc_write_style

Enumerator
BRANCH_WRITE_PC 
BX_WRITE_PC 
LOAD_WRITE_PC 
ALU_WRITE_PC 
CANNOT_WRITE_PC 

Definition at line 230 of file arm-tdep.h.

◆ struct_return

Enumerator
pcc_struct_return 
reg_struct_return 
pcc_struct_return 
reg_struct_return 
pcc_struct_return 
reg_struct_return 

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

Function Documentation

◆ arm_displaced_init_closure()

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

◆ arm_displaced_step_fixup()

void arm_displaced_step_fixup ( struct gdbarch ,
struct displaced_step_closure ,
CORE_ADDR  ,
CORE_ADDR  ,
struct regcache  
)

◆ arm_frame_is_thumb()

int arm_frame_is_thumb ( struct frame_info frame)

◆ 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_is_thumb()

int arm_is_thumb ( struct regcache regcache)

◆ arm_pc_is_thumb()

int arm_pc_is_thumb ( struct gdbarch ,
CORE_ADDR   
)

◆ 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 
)

◆ arm_process_record()

int arm_process_record ( struct gdbarch gdbarch,
struct regcache regcache,
CORE_ADDR  addr 
)

◆ arm_psr_thumb_bit()

int arm_psr_thumb_bit ( struct gdbarch )

◆ arm_skip_stub()

CORE_ADDR arm_skip_stub ( struct frame_info ,
CORE_ADDR   
)

◆ arm_software_single_step()

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

◆ armbsd_iterate_over_regset_sections()

void armbsd_iterate_over_regset_sections ( struct gdbarch gdbarch,
iterate_over_regset_sections_cb cb,
void *  cb_data,
const struct regcache regcache 
)

Definition at line 115 of file arm-bsd-tdep.c.

References armbsd_fpregset, armbsd_gregset, ARMBSD_SIZEOF_FPREGS, and ARMBSD_SIZEOF_GREGS.

Referenced by armobsd_init_abi().

◆ displaced_read_reg()

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

◆ 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 
)

Variable Documentation

◆ tdesc_arm_with_iwmmxt

struct target_desc* tdesc_arm_with_iwmmxt

◆ tdesc_arm_with_m

struct target_desc* tdesc_arm_with_m

Definition at line 8 of file arm-with-m.c.

Referenced by arm_register_g_packet_guesses(), and initialize_tdesc_arm_with_m().

◆ tdesc_arm_with_neon

struct target_desc* tdesc_arm_with_neon

Definition at line 8 of file arm-with-neon.c.

Referenced by initialize_tdesc_arm_with_neon().

◆ tdesc_arm_with_vfpv2

struct target_desc* tdesc_arm_with_vfpv2

◆ tdesc_arm_with_vfpv3

struct target_desc* tdesc_arm_with_vfpv3