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>

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 = std::size(g_reg_infos)
 
const uint32_t g_gpr_regnums []
 
const uint32_t g_fpu_regnums []
 
constexpr size_t k_num_gpr_regs = std::size(g_gpr_regnums) - 1
 
constexpr size_t k_num_fpu_regs = std::size(g_fpu_regnums) - 1
 
static RegisterSet g_reg_sets []
 
constexpr size_t k_num_reg_sets = std::size(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, nullptr, \
}
#define OFFSET(r)
@ eFormatVectorOfUInt8
@ eEncodingVector
vector registers

Definition at line 45 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, nullptr, \
}

Definition at line 59 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, \
nullptr, \
}
@ eEncodingUint
unsigned integer

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, nullptr, \
}
#define LLDB_REGNUM_GENERIC_ARG1
Definition: lldb-defines.h:61

Definition at line 37 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, \
nullptr, \
}
@ eEncodingIEEE754
float

Definition at line 52 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 67 of file RegisterContextMinidump_ARM.cpp.

Variable Documentation

◆ g_fpu_regnums

const uint32_t g_fpu_regnums[]

Definition at line 371 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
Initial value:
= {
"fp",
"r7",
4,
OFFSET(r) + 7 * 4,
nullptr,
nullptr,
nullptr,
}
@ dwarf_r7
@ ehframe_r7
#define LLDB_REGNUM_GENERIC_FP
Definition: lldb-defines.h:58

Definition at line 171 of file RegisterContextMinidump_ARM.cpp.

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

◆ g_reg_info_fp

RegisterInfo g_reg_info_fp
static
Initial value:
= {
"fp",
"r11",
4,
OFFSET(r) + 11 * 4,
nullptr,
nullptr,
nullptr,
}
@ dwarf_r11
@ ehframe_r11

Definition at line 184 of file RegisterContextMinidump_ARM.cpp.

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

◆ g_reg_infos

RegisterInfo g_reg_infos[]
static

◆ g_reg_sets

RegisterSet g_reg_sets[]
static

◆ k_num_fpu_regs

constexpr size_t k_num_fpu_regs = std::size(g_fpu_regnums) - 1
constexpr

Definition at line 458 of file RegisterContextMinidump_ARM.cpp.

◆ k_num_gpr_regs

constexpr size_t k_num_gpr_regs = std::size(g_gpr_regnums) - 1
constexpr

Definition at line 457 of file RegisterContextMinidump_ARM.cpp.

◆ k_num_reg_infos

constexpr size_t k_num_reg_infos = std::size(g_reg_infos)
constexpr

◆ k_num_reg_sets

constexpr size_t k_num_reg_sets = std::size(g_reg_sets)
constexpr