LLDB mainline
RegisterInfoPOSIX_arm.cpp File Reference
#include <cassert>
#include <cstddef>
#include <vector>
#include "lldb/lldb-defines.h"
#include "llvm/Support/Compiler.h"
#include "RegisterInfoPOSIX_arm.h"
#include "RegisterInfos_arm.h"

Go to the source code of this file.

Macros

#define GPR_OFFSET(idx)
#define FPU_OFFSET(idx)
#define FPSCR_OFFSET
#define TLS_OFFSET    (sizeof(RegisterInfoPOSIX_arm::GPR) + sizeof(RegisterInfoPOSIX_arm::FPU))
#define EXC_OFFSET(idx)
#define DBG_OFFSET(reg)
#define DEFINE_DBG(reg, i)
#define REG_CONTEXT_SIZE
#define DECLARE_REGISTER_INFOS_ARM_STRUCT

Enumerations

enum  {
  k_num_gpr_registers = gpr_cpsr - gpr_r0 + 1 , k_num_fpr_registers = fpu_q15 - fpu_s0 + 1 , k_num_tls_registers = 1 , k_num_register_sets_without_tls = 2 ,
  k_num_register_sets_with_tls = 3
}

Functions

static const lldb_private::RegisterInfoGetRegisterInfoPtr (const lldb_private::ArchSpec &target_arch)
static uint32_t GetRegisterInfoCount (const lldb_private::ArchSpec &target_arch)

Variables

static const uint32_t g_gpr_regnums_arm []
static const uint32_t g_fpu_regnums_arm []
static const uint32_t g_tls_regnums_arm []
static const RegisterSet g_reg_sets_arm [k_num_register_sets_with_tls]

Macro Definition Documentation

◆ DBG_OFFSET

◆ DECLARE_REGISTER_INFOS_ARM_STRUCT

#define DECLARE_REGISTER_INFOS_ARM_STRUCT

Definition at line 49 of file RegisterInfoPOSIX_arm.cpp.

◆ DEFINE_DBG

#define DEFINE_DBG ( reg,
i )
Value:
#reg, NULL, sizeof(((RegisterInfoPOSIX_arm::DBG *) NULL)->reg[i]), \
DBG_OFFSET(reg[i]), eEncodingUint, eFormatHex, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
dbg_##reg##i }, \
NULL, NULL, NULL,

Definition at line 37 of file RegisterInfoPOSIX_arm.cpp.

◆ EXC_OFFSET

#define EXC_OFFSET ( idx)
Value:

Definition at line 29 of file RegisterInfoPOSIX_arm.cpp.

◆ FPSCR_OFFSET

#define FPSCR_OFFSET
Value:
(LLVM_EXTENSION offsetof(RegisterInfoPOSIX_arm::FPU, fpscr) + \

Definition at line 24 of file RegisterInfoPOSIX_arm.cpp.

◆ FPU_OFFSET

#define FPU_OFFSET ( idx)
Value:
((idx)*4 + sizeof(RegisterInfoPOSIX_arm::GPR))

Definition at line 23 of file RegisterInfoPOSIX_arm.cpp.

◆ GPR_OFFSET

#define GPR_OFFSET ( idx)
Value:
((idx)*4)

Definition at line 22 of file RegisterInfoPOSIX_arm.cpp.

◆ REG_CONTEXT_SIZE

#define REG_CONTEXT_SIZE
Value:

Definition at line 44 of file RegisterInfoPOSIX_arm.cpp.

◆ TLS_OFFSET

#define TLS_OFFSET    (sizeof(RegisterInfoPOSIX_arm::GPR) + sizeof(RegisterInfoPOSIX_arm::FPU))

Definition at line 27 of file RegisterInfoPOSIX_arm.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
k_num_gpr_registers 
k_num_fpr_registers 
k_num_tls_registers 
k_num_register_sets_without_tls 
k_num_register_sets_with_tls 

Definition at line 77 of file RegisterInfoPOSIX_arm.cpp.

Function Documentation

◆ GetRegisterInfoCount()

uint32_t GetRegisterInfoCount ( const lldb_private::ArchSpec & target_arch)
static

Definition at line 65 of file RegisterInfoPOSIX_arm.cpp.

References lldb_private::ArchSpec::GetMachine().

◆ GetRegisterInfoPtr()

const lldb_private::RegisterInfo * GetRegisterInfoPtr ( const lldb_private::ArchSpec & target_arch)
static

Definition at line 54 of file RegisterInfoPOSIX_arm.cpp.

References lldb_private::ArchSpec::GetMachine().

Variable Documentation

◆ g_fpu_regnums_arm

const uint32_t g_fpu_regnums_arm[]
static

Definition at line 102 of file RegisterInfoPOSIX_arm.cpp.

◆ g_gpr_regnums_arm

◆ g_reg_sets_arm

const RegisterSet g_reg_sets_arm[k_num_register_sets_with_tls]
static
Initial value:
= {
{"General Purpose Registers", "gpr", k_num_gpr_registers,
{"Floating Point Registers", "fpu", k_num_fpr_registers, g_fpu_regnums_arm},
{"Thread Local Storage Registers", "tls", k_num_tls_registers,
const size_t k_num_gpr_registers
const size_t k_num_fpr_registers
@ k_num_tls_registers
static const uint32_t g_fpu_regnums_arm[]
static const uint32_t g_gpr_regnums_arm[]
static const uint32_t g_tls_regnums_arm[]

Definition at line 159 of file RegisterInfoPOSIX_arm.cpp.

Referenced by RegisterInfoPOSIX_arm::GetRegisterSet().

◆ g_tls_regnums_arm

const uint32_t g_tls_regnums_arm[]
static
Initial value:
= {
tls_tpidruro,
}

Definition at line 150 of file RegisterInfoPOSIX_arm.cpp.