LLDB  mainline
Macros | Enumerations | Variables
RegisterContextMinidump_ARM.cpp File Reference
#include "RegisterContextMinidump_ARM.h"
#include "Utility/ARM_DWARF_Registers.h"
#include "Utility/ARM_ehframe_Registers.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/lldb-enumerations.h"
#include <cassert>
Include dependency graph for RegisterContextMinidump_ARM.cpp:

Go to the source code of this file.

Macros

#define INV   LLDB_INVALID_REGNUM
 
#define OFFSET(r)   (offsetof(RegisterContextMinidump_ARM::Context, r))
 
#define DEF_R(i)
 
#define DEF_R_ARG(i, n)
 
#define DEF_D(i)
 
#define DEF_S(i)
 
#define DEF_Q(i)
 

Enumerations

enum  {
  reg_r0, reg_r1, reg_r2, reg_r3,
  reg_r4, reg_r5, reg_r6, reg_r7,
  reg_r8, reg_r9, reg_r10, reg_r11,
  reg_r12, reg_sp, reg_lr, reg_pc,
  reg_cpsr, reg_fpscr, reg_d0, reg_d1,
  reg_d2, reg_d3, reg_d4, reg_d5,
  reg_d6, reg_d7, reg_d8, reg_d9,
  reg_d10, reg_d11, reg_d12, reg_d13,
  reg_d14, reg_d15, reg_d16, reg_d17,
  reg_d18, reg_d19, reg_d20, reg_d21,
  reg_d22, reg_d23, reg_d24, reg_d25,
  reg_d26, reg_d27, reg_d28, reg_d29,
  reg_d30, reg_d31, reg_s0, reg_s1,
  reg_s2, reg_s3, reg_s4, reg_s5,
  reg_s6, reg_s7, reg_s8, reg_s9,
  reg_s10, reg_s11, reg_s12, reg_s13,
  reg_s14, reg_s15, reg_s16, reg_s17,
  reg_s18, reg_s19, reg_s20, reg_s21,
  reg_s22, reg_s23, reg_s24, reg_s25,
  reg_s26, reg_s27, reg_s28, reg_s29,
  reg_s30, reg_s31, reg_q0, reg_q1,
  reg_q2, reg_q3, reg_q4, reg_q5,
  reg_q6, reg_q7, reg_q8, reg_q9,
  reg_q10, reg_q11, reg_q12, reg_q13,
  reg_q14, reg_q15, k_num_regs
}
 

Variables

static RegisterInfo g_reg_info_apple_fp
 
static RegisterInfo g_reg_info_fp
 
static RegisterInfo g_reg_infos []
 
constexpr size_t k_num_reg_infos = llvm::array_lengthof(g_reg_infos)
 
const uint32_t g_gpr_regnums []
 
const uint32_t g_fpu_regnums []
 
constexpr size_t k_num_gpr_regs = llvm::array_lengthof(g_gpr_regnums) - 1
 
constexpr size_t k_num_fpu_regs = llvm::array_lengthof(g_fpu_regnums) - 1
 
static RegisterSet g_reg_sets []
 
constexpr size_t k_num_reg_sets = llvm::array_lengthof(g_reg_sets)
 

Macro Definition Documentation

◆ DEF_D

#define DEF_D (   i)
Value:
{ \
"d" #i, nullptr, 8, OFFSET(d) + i * 8, eEncodingVector, \
eFormatVectorOfUInt8, {dwarf_d##i, dwarf_d##i, INV, INV, reg_d##i}, \
nullptr, nullptr, \
}

Definition at line 44 of file RegisterContextMinidump_ARM.cpp.

◆ DEF_Q

#define DEF_Q (   i)
Value:
{ \
"q" #i, nullptr, 16, OFFSET(q) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {dwarf_q##i, dwarf_q##i, INV, INV, reg_q##i}, \
nullptr, nullptr, \
}

Definition at line 57 of file RegisterContextMinidump_ARM.cpp.

◆ DEF_R

#define DEF_R (   i)
Value:
{ \
"r" #i, nullptr, 4, OFFSET(r) + i * 4, eEncodingUint, eFormatHex, \
{ehframe_r##i, dwarf_r##i, INV, INV, reg_r##i}, nullptr, nullptr, \
}

Definition at line 30 of file RegisterContextMinidump_ARM.cpp.

◆ DEF_R_ARG

#define DEF_R_ARG (   i,
 
)
Value:
{ \
"r" #i, "arg" #n, 4, OFFSET(r) + i * 4, eEncodingUint, eFormatHex, \
{ehframe_r##i, dwarf_r##i, LLDB_REGNUM_GENERIC_ARG1 + i, INV, \
reg_r##i}, \
nullptr, nullptr, \
}

Definition at line 36 of file RegisterContextMinidump_ARM.cpp.

◆ DEF_S

#define DEF_S (   i)
Value:
{ \
"s" #i, nullptr, 4, OFFSET(s) + i * 4, eEncodingIEEE754, eFormatFloat, \
{dwarf_s##i, dwarf_s##i, INV, INV, reg_s##i}, nullptr, nullptr, \
}

Definition at line 51 of file RegisterContextMinidump_ARM.cpp.

◆ INV

#define INV   LLDB_INVALID_REGNUM

Definition at line 27 of file RegisterContextMinidump_ARM.cpp.

◆ OFFSET

#define OFFSET (   r)    (offsetof(RegisterContextMinidump_ARM::Context, r))

Definition at line 28 of file RegisterContextMinidump_ARM.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
reg_r0 
reg_r1 
reg_r2 
reg_r3 
reg_r4 
reg_r5 
reg_r6 
reg_r7 
reg_r8 
reg_r9 
reg_r10 
reg_r11 
reg_r12 
reg_sp 
reg_lr 
reg_pc 
reg_cpsr 
reg_fpscr 
reg_d0 
reg_d1 
reg_d2 
reg_d3 
reg_d4 
reg_d5 
reg_d6 
reg_d7 
reg_d8 
reg_d9 
reg_d10 
reg_d11 
reg_d12 
reg_d13 
reg_d14 
reg_d15 
reg_d16 
reg_d17 
reg_d18 
reg_d19 
reg_d20 
reg_d21 
reg_d22 
reg_d23 
reg_d24 
reg_d25 
reg_d26 
reg_d27 
reg_d28 
reg_d29 
reg_d30 
reg_d31 
reg_s0 
reg_s1 
reg_s2 
reg_s3 
reg_s4 
reg_s5 
reg_s6 
reg_s7 
reg_s8 
reg_s9 
reg_s10 
reg_s11 
reg_s12 
reg_s13 
reg_s14 
reg_s15 
reg_s16 
reg_s17 
reg_s18 
reg_s19 
reg_s20 
reg_s21 
reg_s22 
reg_s23 
reg_s24 
reg_s25 
reg_s26 
reg_s27 
reg_s28 
reg_s29 
reg_s30 
reg_s31 
reg_q0 
reg_q1 
reg_q2 
reg_q3 
reg_q4 
reg_q5 
reg_q6 
reg_q7 
reg_q8 
reg_q9 
reg_q10 
reg_q11 
reg_q12 
reg_q13 
reg_q14 
reg_q15 
k_num_regs 

Definition at line 65 of file RegisterContextMinidump_ARM.cpp.

Variable Documentation

◆ g_fpu_regnums

const uint32_t g_fpu_regnums[]

Definition at line 362 of file RegisterContextMinidump_ARM.cpp.

◆ g_gpr_regnums

const uint32_t g_gpr_regnums[]

◆ g_reg_info_apple_fp

RegisterInfo g_reg_info_apple_fp
static

◆ g_reg_info_fp

RegisterInfo g_reg_info_fp
static

◆ g_reg_infos

RegisterInfo g_reg_infos[]
static

◆ g_reg_sets

RegisterSet g_reg_sets[]
static
Initial value:
= {
{"General Purpose Registers", "gpr", k_num_gpr_regs, g_gpr_regnums},
{"Floating Point Registers", "fpu", k_num_fpu_regs, g_fpu_regnums},
}

Definition at line 451 of file RegisterContextMinidump_ARM.cpp.

Referenced by lldb_private::minidump::RegisterContextMinidump_ARM::GetRegisterSet().

◆ k_num_fpu_regs

constexpr size_t k_num_fpu_regs = llvm::array_lengthof(g_fpu_regnums) - 1
constexpr

Definition at line 449 of file RegisterContextMinidump_ARM.cpp.

◆ k_num_gpr_regs

constexpr size_t k_num_gpr_regs = llvm::array_lengthof(g_gpr_regnums) - 1
constexpr

Definition at line 448 of file RegisterContextMinidump_ARM.cpp.

◆ k_num_reg_infos

constexpr size_t k_num_reg_infos = llvm::array_lengthof(g_reg_infos)
constexpr

◆ k_num_reg_sets

constexpr size_t k_num_reg_sets = llvm::array_lengthof(g_reg_sets)
constexpr
reg_r11
@ reg_r11
Definition: RegisterContextMinidump_ARM.cpp:78
reg_r6
@ reg_r6
Definition: RegisterContextMinidump_ARM.cpp:73
g_fpu_regnums
const uint32_t g_fpu_regnums[]
Definition: RegisterContextMinidump_ARM.cpp:362
LLDB_REGNUM_GENERIC_ARG1
#define LLDB_REGNUM_GENERIC_ARG1
Definition: lldb-defines.h:68
LLDB_INVALID_REGNUM
#define LLDB_INVALID_REGNUM
Definition: lldb-defines.h:91
reg_r5
@ reg_r5
Definition: RegisterContextMinidump_ARM.cpp:72
reg_r3
@ reg_r3
Definition: RegisterContextMinidump_ARM.cpp:70
g_gpr_regnums
const uint32_t g_gpr_regnums[]
Definition: RegisterContextMinidump_ARM.cpp:342
reg_r8
@ reg_r8
Definition: RegisterContextMinidump_ARM.cpp:75
OFFSET
#define OFFSET(r)
Definition: RegisterContextMinidump_ARM.cpp:28
lldb::eEncodingIEEE754
@ eEncodingIEEE754
float
Definition: lldb-enumerations.h:150
reg_r0
@ reg_r0
Definition: RegisterContextMinidump_ARM.cpp:67
INV
#define INV
Definition: RegisterContextMinidump_ARM.cpp:27
reg_r9
@ reg_r9
Definition: RegisterContextMinidump_ARM.cpp:76
k_num_fpu_regs
constexpr size_t k_num_fpu_regs
Definition: RegisterContextMinidump_ARM.cpp:449
reg_sp
@ reg_sp
Definition: RegisterContextMinidump_ARM.cpp:80
reg_pc
@ reg_pc
Definition: RegisterContextMinidump_ARM.cpp:82
dwarf_r7
@ dwarf_r7
Definition: ABISysV_mips.cpp:45
lldb::eEncodingUint
@ eEncodingUint
unsigned integer
Definition: lldb-enumerations.h:148
reg_r2
@ reg_r2
Definition: RegisterContextMinidump_ARM.cpp:69
k_num_gpr_regs
constexpr size_t k_num_gpr_regs
Definition: RegisterContextMinidump_ARM.cpp:448
ehframe_r11
@ ehframe_r11
Definition: ARM_ehframe_Registers.h:28
lldb::eEncodingVector
@ eEncodingVector
vector registers
Definition: lldb-enumerations.h:151
reg_r4
@ reg_r4
Definition: RegisterContextMinidump_ARM.cpp:71
dwarf_r11
@ dwarf_r11
Definition: ABISysV_mips.cpp:49
reg_r7
@ reg_r7
Definition: RegisterContextMinidump_ARM.cpp:74
reg_r10
@ reg_r10
Definition: RegisterContextMinidump_ARM.cpp:77
lldb::eFormatHex
@ eFormatHex
Definition: lldb-enumerations.h:169
reg_r12
@ reg_r12
Definition: RegisterContextMinidump_ARM.cpp:79
LLDB_REGNUM_GENERIC_FP
#define LLDB_REGNUM_GENERIC_FP
Definition: lldb-defines.h:65
ehframe_r7
@ ehframe_r7
Definition: ARM_ehframe_Registers.h:24
reg_lr
@ reg_lr
Definition: RegisterContextMinidump_ARM.cpp:81
lldb::eFormatFloat
@ eFormatFloat
Definition: lldb-enumerations.h:171
reg_cpsr
@ reg_cpsr
Definition: RegisterContextMinidump_ARM.cpp:83
reg_r1
@ reg_r1
Definition: RegisterContextMinidump_ARM.cpp:68