GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
arm-tdep.h File Reference
#include "gdbarch.h"
#include "arch/arm.h"
#include "infrun.h"
#include <vector>

Go to the source code of this file.

Classes

struct  arm_gdbarch_tdep
 
struct  arm_displaced_step_copy_insn_closure
 

Macros

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

Enumerations

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

Functions

void arm_process_displaced_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc)
 
void arm_displaced_init_closure (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, arm_displaced_step_copy_insn_closure *dsc)
 
ULONGEST displaced_read_reg (regcache *regs, arm_displaced_step_copy_insn_closure *dsc, int regno)
 
void displaced_write_reg (struct regcache *regs, arm_displaced_step_copy_insn_closure *dsc, int regno, ULONGEST val, enum pc_write_style write_pc)
 
CORE_ADDR arm_skip_stub (frame_info_ptr, 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_ADDR > arm_software_single_step (struct regcache *)
 
int arm_is_thumb (struct regcache *regcache)
 
int arm_frame_is_thumb (frame_info_ptr frame)
 
void arm_displaced_step_fixup (struct gdbarch *, displaced_step_copy_insn_closure *, CORE_ADDR, CORE_ADDR, struct regcache *, bool)
 
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)
 
const target_descarm_read_description (arm_fp_type fp_type, bool tls)
 
const target_descarm_read_mprofile_description (arm_m_profile_type m_type)
 

Variables

bool arm_apcs_32
 

Macro Definition Documentation

◆ ARM_DISPLACED_MODIFIED_INSNS

#define ARM_DISPLACED_MODIFIED_INSNS   8

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

Referenced by arm_gdbarch_init(), and arm_linux_cleanup_svc().

◆ DISPLACED_TEMPS

#define DISPLACED_TEMPS   16

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

◆ NUM_FREGS

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

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

Referenced by arm_register_sim_regno(), and arm_register_type().

◆ NUM_GREGS

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

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

Referenced by arm_register_sim_regno().

◆ NUM_SREGS

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

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

Referenced by arm_register_sim_regno().

Enumeration Type Documentation

◆ arm_abi_kind

Enumerator
ARM_ABI_AUTO 
ARM_ABI_APCS 
ARM_ABI_AAPCS 
ARM_ABI_LAST 

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

◆ arm_float_model

Enumerator
ARM_FLOAT_AUTO 
ARM_FLOAT_SOFT_FPA 
ARM_FLOAT_FPA 
ARM_FLOAT_SOFT_VFP 
ARM_FLOAT_VFP 
ARM_FLOAT_LAST 

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

◆ pc_write_style

Enumerator
BRANCH_WRITE_PC 
BX_WRITE_PC 
LOAD_WRITE_PC 
ALU_WRITE_PC 
CANNOT_WRITE_PC 

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

◆ struct_return

enum enum struct_return m68k_gdbarch_tdep::struct_return
Enumerator
pcc_struct_return 
reg_struct_return 

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

Function Documentation

◆ arm_displaced_init_closure()

void arm_displaced_init_closure ( struct gdbarch * gdbarch,
CORE_ADDR from,
CORE_ADDR to,
arm_displaced_step_copy_insn_closure * dsc )
extern

◆ arm_displaced_step_fixup()

void arm_displaced_step_fixup ( struct gdbarch * gdbarch,
displaced_step_copy_insn_closure * dsc_,
CORE_ADDR from,
CORE_ADDR to,
struct regcache * regs,
bool completed_p )
extern

◆ arm_frame_is_thumb()

int arm_frame_is_thumb ( frame_info_ptr 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 )

◆ arm_get_next_pcs_is_thumb()

int arm_get_next_pcs_is_thumb ( struct arm_get_next_pcs * self)

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

References arm_is_thumb(), and arm_get_next_pcs::regcache.

◆ 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 7245 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 * gdbarch,
CORE_ADDR memaddr )
extern

◆ arm_process_displaced_insn()

void arm_process_displaced_insn ( struct gdbarch * gdbarch,
CORE_ADDR from,
CORE_ADDR to,
struct regcache * regs,
arm_displaced_step_copy_insn_closure * dsc )
extern

◆ arm_process_record()

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

◆ arm_psr_thumb_bit()

int arm_psr_thumb_bit ( struct gdbarch * gdbarch)
extern

◆ arm_read_description()

const target_desc * arm_read_description ( arm_fp_type fp_type,
bool tls )

◆ arm_read_mprofile_description()

const target_desc * arm_read_mprofile_description ( arm_m_profile_type m_type)

◆ arm_skip_stub()

CORE_ADDR arm_skip_stub ( frame_info_ptr frame,
CORE_ADDR pc )

◆ arm_software_single_step()

std::vector< CORE_ADDR > arm_software_single_step ( struct regcache * 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 )
extern

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

References armbsd_fpregset, armbsd_gregset, ARMBSD_SIZEOF_FPREGS, and ARMBSD_SIZEOF_GREGS.

Referenced by armobsd_init_abi().

◆ displaced_read_reg()

ULONGEST displaced_read_reg ( regcache * regs,
arm_displaced_step_copy_insn_closure * dsc,
int regno )
extern

◆ displaced_write_reg()

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

Variable Documentation

◆ arm_apcs_32

bool arm_apcs_32
extern