GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-13.1/gdb/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 , 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_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 *)
 
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.

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

◆ NUM_GREGS

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

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

◆ NUM_SREGS

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

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

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 
pcc_struct_return 
reg_struct_return 
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 
)

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

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

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

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

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

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 
)

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

Variable Documentation

◆ arm_apcs_32

bool arm_apcs_32
extern