[Lldb-commits] [lldb] b2c906d - Revert "[lldb] Remove "dwarf dynamic register size expressions" from RegisterInfo"
Michael Forster via lldb-commits
lldb-commits at lists.llvm.org
Wed Oct 6 09:24:49 PDT 2021
Author: Michael Forster
Date: 2021-10-06T18:15:25+02:00
New Revision: b2c906da19a74fe93baff7c52eafa02b6613b473
URL: https://github.com/llvm/llvm-project/commit/b2c906da19a74fe93baff7c52eafa02b6613b473
DIFF: https://github.com/llvm/llvm-project/commit/b2c906da19a74fe93baff7c52eafa02b6613b473.diff
LOG: Revert "[lldb] Remove "dwarf dynamic register size expressions" from RegisterInfo"
This reverts commit 00e704bf080ffeeb9e334fb3ab71594f9aa50969.
This commit should should have updated
llvm/llvm-project/lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp like the other
architectures.
Added:
Modified:
lldb/include/lldb/Target/DynamicRegisterInfo.h
lldb/include/lldb/Target/RegisterContext.h
lldb/include/lldb/lldb-private-types.h
lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp
lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp
lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp
lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp
lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h
lldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h
lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h
lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h
lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp
lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
lldb/source/Target/DynamicRegisterInfo.cpp
lldb/source/Target/RegisterContext.cpp
lldb/unittests/Target/DynamicRegisterInfoTest.cpp
lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Target/DynamicRegisterInfo.h b/lldb/include/lldb/Target/DynamicRegisterInfo.h
index 5cbafe000e0b..ac8d6a7781c3 100644
--- a/lldb/include/lldb/Target/DynamicRegisterInfo.h
+++ b/lldb/include/lldb/Target/DynamicRegisterInfo.h
@@ -108,6 +108,7 @@ class DynamicRegisterInfo {
name_collection m_set_names;
reg_to_regs_map m_value_regs_map;
reg_to_regs_map m_invalidate_regs_map;
+ dynamic_reg_size_map m_dynamic_reg_size_map;
size_t m_reg_data_byte_size = 0u; // The number of bytes required to store
// all registers
bool m_finalized = false;
diff --git a/lldb/include/lldb/Target/RegisterContext.h b/lldb/include/lldb/Target/RegisterContext.h
index 392b462ecf07..c5068feedd5b 100644
--- a/lldb/include/lldb/Target/RegisterContext.h
+++ b/lldb/include/lldb/Target/RegisterContext.h
@@ -31,6 +31,10 @@ class RegisterContext : public std::enable_shared_from_this<RegisterContext>,
virtual const RegisterInfo *GetRegisterInfoAtIndex(size_t reg) = 0;
+ // Detect the register size dynamically.
+ uint32_t UpdateDynamicRegisterSize(const lldb_private::ArchSpec &arch,
+ RegisterInfo *reg_info);
+
virtual size_t GetRegisterSetCount() = 0;
virtual const RegisterSet *GetRegisterSet(size_t reg_set) = 0;
diff --git a/lldb/include/lldb/lldb-private-types.h b/lldb/include/lldb/lldb-private-types.h
index 5e71b68630a9..73d618d7069c 100644
--- a/lldb/include/lldb/lldb-private-types.h
+++ b/lldb/include/lldb/lldb-private-types.h
@@ -58,6 +58,12 @@ struct RegisterInfo {
/// this register changes. For example, the invalidate list for eax would be
/// rax ax, ah, and al.
uint32_t *invalidate_regs;
+ /// A DWARF expression that when evaluated gives the byte size of this
+ /// register.
+ const uint8_t *dynamic_size_dwarf_expr_bytes;
+ /// The length of the DWARF expression in bytes in the
+ /// dynamic_size_dwarf_expr_bytes member.
+ size_t dynamic_size_dwarf_len;
llvm::ArrayRef<uint8_t> data(const uint8_t *context_base) const {
return llvm::ArrayRef<uint8_t>(context_base + byte_offset, byte_size);
diff --git a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
index 93939800cd69..f0b953ad0e8d 100644
--- a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
+++ b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
@@ -51,7 +51,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r1",
nullptr,
4,
@@ -62,7 +63,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r2",
nullptr,
4,
@@ -73,7 +75,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r3",
nullptr,
4,
@@ -84,7 +87,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r4",
nullptr,
4,
@@ -95,7 +99,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r5",
nullptr,
4,
@@ -106,7 +111,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r6",
nullptr,
4,
@@ -117,7 +123,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r7",
nullptr,
4,
@@ -128,7 +135,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8",
nullptr,
4,
@@ -139,7 +147,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9",
nullptr,
4,
@@ -150,7 +159,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
nullptr,
4,
@@ -161,7 +171,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
nullptr,
4,
@@ -172,7 +183,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
nullptr,
4,
@@ -183,7 +195,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sp",
"r13",
4,
@@ -194,7 +207,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"r14",
4,
@@ -205,7 +219,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
"r15",
4,
@@ -216,7 +231,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cpsr",
"psr",
4,
@@ -227,7 +243,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s0",
nullptr,
4,
@@ -238,7 +255,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s1",
nullptr,
4,
@@ -249,7 +267,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s2",
nullptr,
4,
@@ -260,7 +279,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s3",
nullptr,
4,
@@ -271,7 +291,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s4",
nullptr,
4,
@@ -282,7 +303,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s5",
nullptr,
4,
@@ -293,7 +315,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s6",
nullptr,
4,
@@ -304,7 +327,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s7",
nullptr,
4,
@@ -315,7 +339,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s8",
nullptr,
4,
@@ -326,7 +351,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s9",
nullptr,
4,
@@ -337,7 +363,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s10",
nullptr,
4,
@@ -348,7 +375,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s11",
nullptr,
4,
@@ -359,7 +387,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s12",
nullptr,
4,
@@ -370,7 +399,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s13",
nullptr,
4,
@@ -381,7 +411,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s14",
nullptr,
4,
@@ -392,7 +423,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s15",
nullptr,
4,
@@ -403,7 +435,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s16",
nullptr,
4,
@@ -414,7 +447,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s17",
nullptr,
4,
@@ -425,7 +459,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s18",
nullptr,
4,
@@ -436,7 +471,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s19",
nullptr,
4,
@@ -447,7 +483,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s20",
nullptr,
4,
@@ -458,7 +495,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s21",
nullptr,
4,
@@ -469,7 +507,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s22",
nullptr,
4,
@@ -480,7 +519,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s23",
nullptr,
4,
@@ -491,7 +531,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s24",
nullptr,
4,
@@ -502,7 +543,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s25",
nullptr,
4,
@@ -513,7 +555,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s26",
nullptr,
4,
@@ -524,7 +567,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s27",
nullptr,
4,
@@ -535,7 +579,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s28",
nullptr,
4,
@@ -546,7 +591,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s29",
nullptr,
4,
@@ -557,7 +603,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s30",
nullptr,
4,
@@ -568,7 +615,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s31",
nullptr,
4,
@@ -579,7 +627,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fpscr",
nullptr,
4,
@@ -590,7 +639,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d0",
nullptr,
8,
@@ -601,7 +651,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d1",
nullptr,
8,
@@ -612,7 +663,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d2",
nullptr,
8,
@@ -623,7 +675,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d3",
nullptr,
8,
@@ -634,7 +687,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d4",
nullptr,
8,
@@ -645,7 +699,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d5",
nullptr,
8,
@@ -656,7 +711,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d6",
nullptr,
8,
@@ -667,7 +723,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d7",
nullptr,
8,
@@ -678,7 +735,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d8",
nullptr,
8,
@@ -689,7 +747,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d9",
nullptr,
8,
@@ -700,7 +759,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d10",
nullptr,
8,
@@ -711,7 +771,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d11",
nullptr,
8,
@@ -722,7 +783,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d12",
nullptr,
8,
@@ -733,7 +795,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d13",
nullptr,
8,
@@ -744,7 +807,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d14",
nullptr,
8,
@@ -755,7 +819,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d15",
nullptr,
8,
@@ -766,7 +831,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d16",
nullptr,
8,
@@ -777,7 +843,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d17",
nullptr,
8,
@@ -788,7 +855,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d18",
nullptr,
8,
@@ -799,7 +867,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d19",
nullptr,
8,
@@ -810,7 +879,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d20",
nullptr,
8,
@@ -821,7 +891,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d21",
nullptr,
8,
@@ -832,7 +903,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d22",
nullptr,
8,
@@ -843,7 +915,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d23",
nullptr,
8,
@@ -854,7 +927,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d24",
nullptr,
8,
@@ -865,7 +939,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d25",
nullptr,
8,
@@ -876,7 +951,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d26",
nullptr,
8,
@@ -887,7 +963,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d27",
nullptr,
8,
@@ -898,7 +975,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d28",
nullptr,
8,
@@ -909,7 +987,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d29",
nullptr,
8,
@@ -920,7 +999,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d30",
nullptr,
8,
@@ -931,7 +1011,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d31",
nullptr,
8,
@@ -942,7 +1023,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8_usr",
nullptr,
4,
@@ -953,7 +1035,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9_usr",
nullptr,
4,
@@ -964,7 +1047,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10_usr",
nullptr,
4,
@@ -975,7 +1059,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11_usr",
nullptr,
4,
@@ -986,7 +1071,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12_usr",
nullptr,
4,
@@ -997,7 +1083,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_usr",
"sp_usr",
4,
@@ -1008,7 +1095,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_usr",
"lr_usr",
4,
@@ -1019,7 +1107,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8_fiq",
nullptr,
4,
@@ -1030,7 +1119,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9_fiq",
nullptr,
4,
@@ -1041,7 +1131,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10_fiq",
nullptr,
4,
@@ -1052,7 +1143,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11_fiq",
nullptr,
4,
@@ -1063,7 +1155,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12_fiq",
nullptr,
4,
@@ -1074,7 +1167,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_fiq",
"sp_fiq",
4,
@@ -1085,7 +1179,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_fiq",
"lr_fiq",
4,
@@ -1096,7 +1191,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_irq",
"sp_irq",
4,
@@ -1107,7 +1203,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_irq",
"lr_irq",
4,
@@ -1118,7 +1215,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_abt",
"sp_abt",
4,
@@ -1129,7 +1227,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_abt",
"lr_abt",
4,
@@ -1140,7 +1239,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_und",
"sp_und",
4,
@@ -1151,7 +1251,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_und",
"lr_und",
4,
@@ -1162,7 +1263,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_svc",
"sp_svc",
4,
@@ -1173,7 +1275,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_svc",
"lr_svc",
4,
@@ -1184,7 +1287,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- }};
+ nullptr,
+ 0}};
static const uint32_t k_num_register_infos =
llvm::array_lengthof(g_register_infos);
diff --git a/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp b/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
index 43f277eff9ca..90b51d93bf72 100644
--- a/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
+++ b/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
@@ -54,7 +54,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r1",
nullptr,
4,
@@ -65,7 +66,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r2",
nullptr,
4,
@@ -76,7 +78,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r3",
nullptr,
4,
@@ -87,7 +90,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r4",
nullptr,
4,
@@ -98,7 +102,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r5",
nullptr,
4,
@@ -109,7 +114,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r6",
nullptr,
4,
@@ -120,7 +126,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r7",
nullptr,
4,
@@ -131,7 +138,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8",
nullptr,
4,
@@ -142,7 +150,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9",
nullptr,
4,
@@ -153,7 +162,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
nullptr,
4,
@@ -164,7 +174,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
nullptr,
4,
@@ -175,7 +186,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
nullptr,
4,
@@ -186,7 +198,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sp",
"r13",
4,
@@ -197,7 +210,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"r14",
4,
@@ -208,7 +222,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
"r15",
4,
@@ -219,7 +234,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cpsr",
"psr",
4,
@@ -230,7 +246,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s0",
nullptr,
4,
@@ -241,7 +258,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s1",
nullptr,
4,
@@ -252,7 +270,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s2",
nullptr,
4,
@@ -263,7 +282,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s3",
nullptr,
4,
@@ -274,7 +294,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s4",
nullptr,
4,
@@ -285,7 +306,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s5",
nullptr,
4,
@@ -296,7 +318,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s6",
nullptr,
4,
@@ -307,7 +330,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s7",
nullptr,
4,
@@ -318,7 +342,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s8",
nullptr,
4,
@@ -329,7 +354,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s9",
nullptr,
4,
@@ -340,7 +366,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s10",
nullptr,
4,
@@ -351,7 +378,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s11",
nullptr,
4,
@@ -362,7 +390,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s12",
nullptr,
4,
@@ -373,7 +402,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s13",
nullptr,
4,
@@ -384,7 +414,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s14",
nullptr,
4,
@@ -395,7 +426,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s15",
nullptr,
4,
@@ -406,7 +438,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s16",
nullptr,
4,
@@ -417,7 +450,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s17",
nullptr,
4,
@@ -428,7 +462,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s18",
nullptr,
4,
@@ -439,7 +474,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s19",
nullptr,
4,
@@ -450,7 +486,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s20",
nullptr,
4,
@@ -461,7 +498,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s21",
nullptr,
4,
@@ -472,7 +510,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s22",
nullptr,
4,
@@ -483,7 +522,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s23",
nullptr,
4,
@@ -494,7 +534,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s24",
nullptr,
4,
@@ -505,7 +546,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s25",
nullptr,
4,
@@ -516,7 +558,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s26",
nullptr,
4,
@@ -527,7 +570,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s27",
nullptr,
4,
@@ -538,7 +582,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s28",
nullptr,
4,
@@ -549,7 +594,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s29",
nullptr,
4,
@@ -560,7 +606,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s30",
nullptr,
4,
@@ -571,7 +618,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s31",
nullptr,
4,
@@ -582,7 +630,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fpscr",
nullptr,
4,
@@ -593,7 +642,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d0",
nullptr,
8,
@@ -604,7 +654,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d1",
nullptr,
8,
@@ -615,7 +666,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d2",
nullptr,
8,
@@ -626,7 +678,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d3",
nullptr,
8,
@@ -637,7 +690,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d4",
nullptr,
8,
@@ -648,7 +702,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d5",
nullptr,
8,
@@ -659,7 +714,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d6",
nullptr,
8,
@@ -670,7 +726,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d7",
nullptr,
8,
@@ -681,7 +738,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d8",
nullptr,
8,
@@ -692,7 +750,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d9",
nullptr,
8,
@@ -703,7 +762,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d10",
nullptr,
8,
@@ -714,7 +774,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d11",
nullptr,
8,
@@ -725,7 +786,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d12",
nullptr,
8,
@@ -736,7 +798,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d13",
nullptr,
8,
@@ -747,7 +810,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d14",
nullptr,
8,
@@ -758,7 +822,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d15",
nullptr,
8,
@@ -769,7 +834,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d16",
nullptr,
8,
@@ -780,7 +846,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d17",
nullptr,
8,
@@ -791,7 +858,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d18",
nullptr,
8,
@@ -802,7 +870,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d19",
nullptr,
8,
@@ -813,7 +882,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d20",
nullptr,
8,
@@ -824,7 +894,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d21",
nullptr,
8,
@@ -835,7 +906,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d22",
nullptr,
8,
@@ -846,7 +918,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d23",
nullptr,
8,
@@ -857,7 +930,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d24",
nullptr,
8,
@@ -868,7 +942,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d25",
nullptr,
8,
@@ -879,7 +954,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d26",
nullptr,
8,
@@ -890,7 +966,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d27",
nullptr,
8,
@@ -901,7 +978,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d28",
nullptr,
8,
@@ -912,7 +990,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d29",
nullptr,
8,
@@ -923,7 +1002,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d30",
nullptr,
8,
@@ -934,7 +1014,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d31",
nullptr,
8,
@@ -945,7 +1026,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8_usr",
nullptr,
4,
@@ -956,7 +1038,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9_usr",
nullptr,
4,
@@ -967,7 +1050,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10_usr",
nullptr,
4,
@@ -978,7 +1062,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11_usr",
nullptr,
4,
@@ -989,7 +1074,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12_usr",
nullptr,
4,
@@ -1000,7 +1086,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_usr",
"sp_usr",
4,
@@ -1011,7 +1098,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_usr",
"lr_usr",
4,
@@ -1022,7 +1110,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8_fiq",
nullptr,
4,
@@ -1033,7 +1122,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9_fiq",
nullptr,
4,
@@ -1044,7 +1134,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10_fiq",
nullptr,
4,
@@ -1055,7 +1146,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11_fiq",
nullptr,
4,
@@ -1066,7 +1158,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12_fiq",
nullptr,
4,
@@ -1077,7 +1170,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_fiq",
"sp_fiq",
4,
@@ -1088,7 +1182,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_fiq",
"lr_fiq",
4,
@@ -1099,7 +1194,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_irq",
"sp_irq",
4,
@@ -1110,7 +1206,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_irq",
"lr_irq",
4,
@@ -1121,7 +1218,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_abt",
"sp_abt",
4,
@@ -1132,7 +1230,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_abt",
"lr_abt",
4,
@@ -1143,7 +1242,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_und",
"sp_und",
4,
@@ -1154,7 +1254,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_und",
"lr_und",
4,
@@ -1165,7 +1266,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13_svc",
"sp_svc",
4,
@@ -1176,7 +1278,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14_svc",
"lr_svc",
4,
@@ -1187,7 +1290,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- }};
+ nullptr,
+ 0}};
static const uint32_t k_num_register_infos =
llvm::array_lengthof(g_register_infos);
diff --git a/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp b/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
index 07ea8a6b4baa..62d0940cc6c4 100644
--- a/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
+++ b/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
@@ -45,7 +45,8 @@ static const RegisterInfo g_register_infos[] = {
{0, 0, LLDB_INVALID_REGNUM, 0, 0},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r01",
"",
4,
@@ -55,7 +56,8 @@ static const RegisterInfo g_register_infos[] = {
{1, 1, LLDB_INVALID_REGNUM, 1, 1},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r02",
"",
4,
@@ -65,7 +67,8 @@ static const RegisterInfo g_register_infos[] = {
{2, 2, LLDB_INVALID_REGNUM, 2, 2},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r03",
"",
4,
@@ -75,7 +78,8 @@ static const RegisterInfo g_register_infos[] = {
{3, 3, LLDB_INVALID_REGNUM, 3, 3},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r04",
"",
4,
@@ -85,7 +89,8 @@ static const RegisterInfo g_register_infos[] = {
{4, 4, LLDB_INVALID_REGNUM, 4, 4},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r05",
"",
4,
@@ -95,7 +100,8 @@ static const RegisterInfo g_register_infos[] = {
{5, 5, LLDB_INVALID_REGNUM, 5, 5},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r06",
"",
4,
@@ -105,7 +111,8 @@ static const RegisterInfo g_register_infos[] = {
{6, 6, LLDB_INVALID_REGNUM, 6, 6},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r07",
"",
4,
@@ -115,7 +122,8 @@ static const RegisterInfo g_register_infos[] = {
{7, 7, LLDB_INVALID_REGNUM, 7, 7},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r08",
"",
4,
@@ -125,7 +133,8 @@ static const RegisterInfo g_register_infos[] = {
{8, 8, LLDB_INVALID_REGNUM, 8, 8},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r09",
"",
4,
@@ -135,7 +144,8 @@ static const RegisterInfo g_register_infos[] = {
{9, 9, LLDB_INVALID_REGNUM, 9, 9},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
"",
4,
@@ -145,7 +155,8 @@ static const RegisterInfo g_register_infos[] = {
{10, 10, LLDB_INVALID_REGNUM, 10, 10},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
"",
4,
@@ -155,7 +166,8 @@ static const RegisterInfo g_register_infos[] = {
{11, 11, LLDB_INVALID_REGNUM, 11, 11},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
"",
4,
@@ -165,7 +177,8 @@ static const RegisterInfo g_register_infos[] = {
{12, 12, LLDB_INVALID_REGNUM, 12, 12},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13",
"",
4,
@@ -175,7 +188,8 @@ static const RegisterInfo g_register_infos[] = {
{13, 13, LLDB_INVALID_REGNUM, 13, 13},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14",
"",
4,
@@ -185,7 +199,8 @@ static const RegisterInfo g_register_infos[] = {
{14, 14, LLDB_INVALID_REGNUM, 14, 14},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r15",
"",
4,
@@ -195,7 +210,8 @@ static const RegisterInfo g_register_infos[] = {
{15, 15, LLDB_INVALID_REGNUM, 15, 15},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r16",
"",
4,
@@ -205,7 +221,8 @@ static const RegisterInfo g_register_infos[] = {
{16, 16, LLDB_INVALID_REGNUM, 16, 16},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r17",
"",
4,
@@ -215,7 +232,8 @@ static const RegisterInfo g_register_infos[] = {
{17, 17, LLDB_INVALID_REGNUM, 17, 17},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r18",
"",
4,
@@ -225,7 +243,8 @@ static const RegisterInfo g_register_infos[] = {
{18, 18, LLDB_INVALID_REGNUM, 18, 18},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r19",
"",
4,
@@ -235,7 +254,8 @@ static const RegisterInfo g_register_infos[] = {
{19, 19, LLDB_INVALID_REGNUM, 19, 19},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r20",
"",
4,
@@ -245,7 +265,8 @@ static const RegisterInfo g_register_infos[] = {
{20, 20, LLDB_INVALID_REGNUM, 20, 20},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r21",
"",
4,
@@ -255,7 +276,8 @@ static const RegisterInfo g_register_infos[] = {
{21, 21, LLDB_INVALID_REGNUM, 21, 21},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r22",
"",
4,
@@ -265,7 +287,8 @@ static const RegisterInfo g_register_infos[] = {
{22, 22, LLDB_INVALID_REGNUM, 22, 22},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r23",
"",
4,
@@ -275,7 +298,8 @@ static const RegisterInfo g_register_infos[] = {
{23, 23, LLDB_INVALID_REGNUM, 23, 23},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r24",
"",
4,
@@ -285,7 +309,8 @@ static const RegisterInfo g_register_infos[] = {
{24, 24, LLDB_INVALID_REGNUM, 24, 24},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r25",
"",
4,
@@ -295,7 +320,8 @@ static const RegisterInfo g_register_infos[] = {
{25, 25, LLDB_INVALID_REGNUM, 25, 25},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r26",
"",
4,
@@ -305,7 +331,8 @@ static const RegisterInfo g_register_infos[] = {
{26, 26, LLDB_INVALID_REGNUM, 26, 26},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r27",
"",
4,
@@ -315,7 +342,8 @@ static const RegisterInfo g_register_infos[] = {
{27, 27, LLDB_INVALID_REGNUM, 27, 27},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r28",
"",
4,
@@ -325,7 +353,8 @@ static const RegisterInfo g_register_infos[] = {
{28, 28, LLDB_INVALID_REGNUM, 28, 28},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sp",
"r29",
4,
@@ -335,7 +364,8 @@ static const RegisterInfo g_register_infos[] = {
{29, 29, LLDB_REGNUM_GENERIC_SP, 29, 29},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fp",
"r30",
4,
@@ -345,7 +375,8 @@ static const RegisterInfo g_register_infos[] = {
{30, 30, LLDB_REGNUM_GENERIC_FP, 30, 30},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"r31",
4,
@@ -355,7 +386,8 @@ static const RegisterInfo g_register_infos[] = {
{31, 31, LLDB_REGNUM_GENERIC_RA, 31, 31},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sa0",
"",
4,
@@ -365,7 +397,8 @@ static const RegisterInfo g_register_infos[] = {
{32, 32, LLDB_INVALID_REGNUM, 32, 32},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lc0",
"",
4,
@@ -375,7 +408,8 @@ static const RegisterInfo g_register_infos[] = {
{33, 33, LLDB_INVALID_REGNUM, 33, 33},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sa1",
"",
4,
@@ -385,7 +419,8 @@ static const RegisterInfo g_register_infos[] = {
{34, 34, LLDB_INVALID_REGNUM, 34, 34},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lc1",
"",
4,
@@ -395,7 +430,8 @@ static const RegisterInfo g_register_infos[] = {
{35, 35, LLDB_INVALID_REGNUM, 35, 35},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// --> hexagon-v4/5/55/56-sim.xml
{"p3_0",
"",
@@ -406,7 +442,8 @@ static const RegisterInfo g_register_infos[] = {
{36, 36, LLDB_INVALID_REGNUM, 36, 36},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// PADDING {
{"p00",
"",
@@ -417,7 +454,8 @@ static const RegisterInfo g_register_infos[] = {
{37, 37, LLDB_INVALID_REGNUM, 37, 37},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// }
{"m0",
"",
@@ -428,7 +466,8 @@ static const RegisterInfo g_register_infos[] = {
{38, 38, LLDB_INVALID_REGNUM, 38, 38},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"m1",
"",
4,
@@ -438,7 +477,8 @@ static const RegisterInfo g_register_infos[] = {
{39, 39, LLDB_INVALID_REGNUM, 39, 39},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"usr",
"",
4,
@@ -448,7 +488,8 @@ static const RegisterInfo g_register_infos[] = {
{40, 40, LLDB_INVALID_REGNUM, 40, 40},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
"",
4,
@@ -458,7 +499,8 @@ static const RegisterInfo g_register_infos[] = {
{41, 41, LLDB_REGNUM_GENERIC_PC, 41, 41},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"ugp",
"",
4,
@@ -468,7 +510,8 @@ static const RegisterInfo g_register_infos[] = {
{42, 42, LLDB_INVALID_REGNUM, 42, 42},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"gp",
"",
4,
@@ -478,7 +521,8 @@ static const RegisterInfo g_register_infos[] = {
{43, 43, LLDB_INVALID_REGNUM, 43, 43},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cs0",
"",
4,
@@ -488,7 +532,8 @@ static const RegisterInfo g_register_infos[] = {
{44, 44, LLDB_INVALID_REGNUM, 44, 44},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cs1",
"",
4,
@@ -498,7 +543,8 @@ static const RegisterInfo g_register_infos[] = {
{45, 45, LLDB_INVALID_REGNUM, 45, 45},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// PADDING {
{"p01",
"",
@@ -509,7 +555,8 @@ static const RegisterInfo g_register_infos[] = {
{46, 46, LLDB_INVALID_REGNUM, 46, 46},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p02",
"",
4,
@@ -519,7 +566,8 @@ static const RegisterInfo g_register_infos[] = {
{47, 47, LLDB_INVALID_REGNUM, 47, 47},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p03",
"",
4,
@@ -529,7 +577,8 @@ static const RegisterInfo g_register_infos[] = {
{48, 48, LLDB_INVALID_REGNUM, 48, 48},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p04",
"",
4,
@@ -539,7 +588,8 @@ static const RegisterInfo g_register_infos[] = {
{49, 49, LLDB_INVALID_REGNUM, 49, 49},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p05",
"",
4,
@@ -549,7 +599,8 @@ static const RegisterInfo g_register_infos[] = {
{50, 50, LLDB_INVALID_REGNUM, 50, 50},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p06",
"",
4,
@@ -559,7 +610,8 @@ static const RegisterInfo g_register_infos[] = {
{51, 51, LLDB_INVALID_REGNUM, 51, 51},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p07",
"",
4,
@@ -569,7 +621,8 @@ static const RegisterInfo g_register_infos[] = {
{52, 52, LLDB_INVALID_REGNUM, 52, 52},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p08",
"",
4,
@@ -579,7 +632,8 @@ static const RegisterInfo g_register_infos[] = {
{53, 53, LLDB_INVALID_REGNUM, 53, 53},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p09",
"",
4,
@@ -589,7 +643,8 @@ static const RegisterInfo g_register_infos[] = {
{54, 54, LLDB_INVALID_REGNUM, 54, 54},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p10",
"",
4,
@@ -599,7 +654,8 @@ static const RegisterInfo g_register_infos[] = {
{55, 55, LLDB_INVALID_REGNUM, 55, 55},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p11",
"",
4,
@@ -609,7 +665,8 @@ static const RegisterInfo g_register_infos[] = {
{56, 56, LLDB_INVALID_REGNUM, 56, 56},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p12",
"",
4,
@@ -619,7 +676,8 @@ static const RegisterInfo g_register_infos[] = {
{57, 57, LLDB_INVALID_REGNUM, 57, 57},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p13",
"",
4,
@@ -629,7 +687,8 @@ static const RegisterInfo g_register_infos[] = {
{58, 58, LLDB_INVALID_REGNUM, 58, 58},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p14",
"",
4,
@@ -639,7 +698,8 @@ static const RegisterInfo g_register_infos[] = {
{59, 59, LLDB_INVALID_REGNUM, 59, 59},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p15",
"",
4,
@@ -649,7 +709,8 @@ static const RegisterInfo g_register_infos[] = {
{60, 60, LLDB_INVALID_REGNUM, 60, 60},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p16",
"",
4,
@@ -659,7 +720,8 @@ static const RegisterInfo g_register_infos[] = {
{61, 61, LLDB_INVALID_REGNUM, 61, 61},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p17",
"",
4,
@@ -669,7 +731,8 @@ static const RegisterInfo g_register_infos[] = {
{62, 62, LLDB_INVALID_REGNUM, 62, 62},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p18",
"",
4,
@@ -679,7 +742,8 @@ static const RegisterInfo g_register_infos[] = {
{63, 63, LLDB_INVALID_REGNUM, 63, 63},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// }
{"sgp0",
"",
@@ -690,7 +754,8 @@ static const RegisterInfo g_register_infos[] = {
{64, 64, LLDB_INVALID_REGNUM, 64, 64},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// PADDING {
{"p19",
"",
@@ -701,7 +766,8 @@ static const RegisterInfo g_register_infos[] = {
{65, 65, LLDB_INVALID_REGNUM, 65, 65},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// }
{"stid",
"",
@@ -712,7 +778,8 @@ static const RegisterInfo g_register_infos[] = {
{66, 66, LLDB_INVALID_REGNUM, 66, 66},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"elr",
"",
4,
@@ -722,7 +789,8 @@ static const RegisterInfo g_register_infos[] = {
{67, 67, LLDB_INVALID_REGNUM, 67, 67},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"badva0",
"",
4,
@@ -732,7 +800,8 @@ static const RegisterInfo g_register_infos[] = {
{68, 68, LLDB_INVALID_REGNUM, 68, 68},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"badva1",
"",
4,
@@ -742,7 +811,8 @@ static const RegisterInfo g_register_infos[] = {
{69, 69, LLDB_INVALID_REGNUM, 69, 69},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"ssr",
"",
4,
@@ -752,7 +822,8 @@ static const RegisterInfo g_register_infos[] = {
{70, 70, LLDB_INVALID_REGNUM, 70, 70},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"ccr",
"",
4,
@@ -762,7 +833,8 @@ static const RegisterInfo g_register_infos[] = {
{71, 71, LLDB_INVALID_REGNUM, 71, 71},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"htid",
"",
4,
@@ -772,7 +844,8 @@ static const RegisterInfo g_register_infos[] = {
{72, 72, LLDB_INVALID_REGNUM, 72, 72},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// PADDING {
{"p20",
"",
@@ -783,7 +856,8 @@ static const RegisterInfo g_register_infos[] = {
{73, 73, LLDB_INVALID_REGNUM, 73, 73},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// }
{"imask",
"",
@@ -794,7 +868,8 @@ static const RegisterInfo g_register_infos[] = {
{74, 74, LLDB_INVALID_REGNUM, 74, 74},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// PADDING {
{"p21",
"",
@@ -805,7 +880,8 @@ static const RegisterInfo g_register_infos[] = {
{75, 75, LLDB_INVALID_REGNUM, 75, 75},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p22",
"",
4,
@@ -815,7 +891,8 @@ static const RegisterInfo g_register_infos[] = {
{76, 76, LLDB_INVALID_REGNUM, 76, 76},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p23",
"",
4,
@@ -825,7 +902,8 @@ static const RegisterInfo g_register_infos[] = {
{77, 77, LLDB_INVALID_REGNUM, 77, 77},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p24",
"",
4,
@@ -835,7 +913,8 @@ static const RegisterInfo g_register_infos[] = {
{78, 78, LLDB_INVALID_REGNUM, 78, 78},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"p25",
"",
4,
@@ -845,7 +924,8 @@ static const RegisterInfo g_register_infos[] = {
{79, 79, LLDB_INVALID_REGNUM, 79, 79},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// }
{"g0",
"",
@@ -856,7 +936,8 @@ static const RegisterInfo g_register_infos[] = {
{80, 80, LLDB_INVALID_REGNUM, 80, 80},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"g1",
"",
4,
@@ -866,7 +947,8 @@ static const RegisterInfo g_register_infos[] = {
{81, 81, LLDB_INVALID_REGNUM, 81, 81},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"g2",
"",
4,
@@ -876,7 +958,8 @@ static const RegisterInfo g_register_infos[] = {
{82, 82, LLDB_INVALID_REGNUM, 82, 82},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"g3",
"",
4,
@@ -886,7 +969,8 @@ static const RegisterInfo g_register_infos[] = {
{83, 83, LLDB_INVALID_REGNUM, 83, 83},
nullptr,
nullptr,
- }};
+ nullptr,
+ 0}};
static const uint32_t k_num_register_infos =
sizeof(g_register_infos) / sizeof(RegisterInfo);
diff --git a/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp b/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
index ac0531a0ec19..65bb52879862 100644
--- a/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
+++ b/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
@@ -92,7 +92,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r1",
"AT",
4,
@@ -103,7 +104,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r2",
"v0",
4,
@@ -114,7 +116,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r3",
"v1",
4,
@@ -125,7 +128,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r4",
nullptr,
4,
@@ -136,7 +140,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r5",
nullptr,
4,
@@ -147,7 +152,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r6",
nullptr,
4,
@@ -158,7 +164,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r7",
nullptr,
4,
@@ -169,7 +176,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8",
"arg5",
4,
@@ -180,7 +188,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9",
"arg6",
4,
@@ -191,7 +200,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
"arg7",
4,
@@ -202,7 +212,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
"arg8",
4,
@@ -213,7 +224,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
nullptr,
4,
@@ -224,7 +236,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13",
nullptr,
4,
@@ -235,7 +248,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14",
nullptr,
4,
@@ -246,7 +260,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r15",
nullptr,
4,
@@ -257,7 +272,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r16",
nullptr,
4,
@@ -268,7 +284,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r17",
nullptr,
4,
@@ -279,7 +296,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r18",
nullptr,
4,
@@ -290,7 +308,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r19",
nullptr,
4,
@@ -301,7 +320,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r20",
nullptr,
4,
@@ -312,7 +332,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r21",
nullptr,
4,
@@ -323,7 +344,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r22",
nullptr,
4,
@@ -334,7 +356,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r23",
nullptr,
4,
@@ -345,7 +368,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r24",
nullptr,
4,
@@ -356,7 +380,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r25",
nullptr,
4,
@@ -367,7 +392,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r26",
nullptr,
4,
@@ -378,7 +404,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r27",
nullptr,
4,
@@ -389,7 +416,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r28",
"gp",
4,
@@ -400,7 +428,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r29",
nullptr,
4,
@@ -411,7 +440,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r30",
nullptr,
4,
@@ -422,7 +452,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r31",
nullptr,
4,
@@ -433,7 +464,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sr",
nullptr,
4,
@@ -444,7 +476,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lo",
nullptr,
4,
@@ -455,7 +488,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"hi",
nullptr,
4,
@@ -466,7 +500,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"bad",
nullptr,
4,
@@ -477,7 +512,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cause",
nullptr,
4,
@@ -488,7 +524,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
nullptr,
4,
@@ -499,7 +536,8 @@ static const RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
};
static const uint32_t k_num_register_infos =
diff --git a/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp b/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
index 9aa390cdb52e..3c42d278d860 100644
--- a/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
+++ b/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
@@ -92,7 +92,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r1",
"AT",
8,
@@ -103,7 +104,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r2",
"v0",
8,
@@ -114,7 +116,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r3",
"v1",
8,
@@ -125,7 +128,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r4",
nullptr,
8,
@@ -136,7 +140,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r5",
nullptr,
8,
@@ -147,7 +152,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r6",
nullptr,
8,
@@ -158,7 +164,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r7",
nullptr,
8,
@@ -169,7 +176,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8",
nullptr,
8,
@@ -180,7 +188,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9",
nullptr,
8,
@@ -191,7 +200,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
nullptr,
8,
@@ -202,7 +212,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
nullptr,
8,
@@ -213,7 +224,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
nullptr,
8,
@@ -224,7 +236,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r13",
nullptr,
8,
@@ -235,7 +248,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r14",
nullptr,
8,
@@ -246,7 +260,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r15",
nullptr,
8,
@@ -257,7 +272,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r16",
nullptr,
8,
@@ -268,7 +284,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r17",
nullptr,
8,
@@ -279,7 +296,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r18",
nullptr,
8,
@@ -290,7 +308,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r19",
nullptr,
8,
@@ -301,7 +320,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r20",
nullptr,
8,
@@ -312,7 +332,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r21",
nullptr,
8,
@@ -323,7 +344,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r22",
nullptr,
8,
@@ -334,7 +356,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r23",
nullptr,
8,
@@ -345,7 +368,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r24",
nullptr,
8,
@@ -356,7 +380,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r25",
nullptr,
8,
@@ -367,7 +392,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r26",
nullptr,
8,
@@ -378,7 +404,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r27",
nullptr,
8,
@@ -389,7 +416,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r28",
"gp",
8,
@@ -400,7 +428,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r29",
nullptr,
8,
@@ -411,7 +440,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r30",
nullptr,
8,
@@ -422,7 +452,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r31",
nullptr,
8,
@@ -433,7 +464,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sr",
nullptr,
4,
@@ -444,7 +476,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lo",
nullptr,
8,
@@ -455,7 +488,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"hi",
nullptr,
8,
@@ -466,7 +500,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"bad",
nullptr,
8,
@@ -477,7 +512,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cause",
nullptr,
8,
@@ -488,7 +524,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
nullptr,
8,
@@ -499,7 +536,8 @@ static const RegisterInfo g_register_infos_mips64[] = {
LLDB_INVALID_REGNUM},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
};
static const uint32_t k_num_register_infos =
diff --git a/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp b/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
index d2f53f71e431..90728b7cd56e 100644
--- a/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
+++ b/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
@@ -112,7 +112,7 @@ enum dwarf_regnums {
#define DEFINE_GPR(reg, alt, kind1, kind2, kind3, kind4) \
{ \
#reg, alt, 8, 0, eEncodingUint, eFormatHex, {kind1, kind2, kind3, kind4 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
static const RegisterInfo g_register_infos[] = {
@@ -200,7 +200,9 @@ static const RegisterInfo g_register_infos[] = {
eFormatHex,
{dwarf_cfa, dwarf_cfa, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
nullptr,
- }};
+ nullptr,
+ nullptr,
+ 0}};
static const uint32_t k_num_register_infos =
llvm::array_lengthof(g_register_infos);
diff --git a/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp b/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
index f20266878b97..0494d7803053 100644
--- a/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
+++ b/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
@@ -115,7 +115,7 @@ enum dwarf_regnums {
#name, alt, size, 0, eEncodingUint, eFormatHex, \
{dwarf_##name##_s390x, dwarf_##name##_s390x, generic, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
static const RegisterInfo g_register_infos[] = {
diff --git a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
index ab5a5d07de90..9b0c06bcccab 100644
--- a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
+++ b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
@@ -35,7 +35,7 @@
"na", nullptr, 8, 0, lldb::eEncodingUint, lldb::eFormatHex, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM}, \
- nullptr, nullptr
+ nullptr, nullptr, nullptr, 0
#define DECLARE_REGISTER_INFOS_ARM64_STRUCT
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
index e1d3b6ecd7d0..7e38091738e3 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
@@ -177,7 +177,7 @@ enum {
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM }, \
- nullptr, nullptr,
+ nullptr, nullptr, nullptr, 0
#define REG_CONTEXT_SIZE \
(sizeof(RegisterContextDarwin_arm::GPR) + \
sizeof(RegisterContextDarwin_arm::FPU) + \
@@ -200,7 +200,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r0, dwarf_r0, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r0},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r1",
nullptr,
4,
@@ -210,7 +211,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r1, dwarf_r1, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r1},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r2",
nullptr,
4,
@@ -220,7 +222,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r2, dwarf_r2, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r2},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r3",
nullptr,
4,
@@ -230,7 +233,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r3, dwarf_r3, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r3},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r4",
nullptr,
4,
@@ -240,7 +244,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r4, dwarf_r4, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r4},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r5",
nullptr,
4,
@@ -250,7 +255,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r5, dwarf_r5, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r5},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r6",
nullptr,
4,
@@ -260,7 +266,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r6, dwarf_r6, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r6},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r7",
nullptr,
4,
@@ -271,7 +278,8 @@ static RegisterInfo g_register_infos[] = {
gpr_r7},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8",
nullptr,
4,
@@ -281,7 +289,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r8, dwarf_r8, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r8},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9",
nullptr,
4,
@@ -291,7 +300,8 @@ static RegisterInfo g_register_infos[] = {
{ehframe_r9, dwarf_r9, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r9},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
nullptr,
4,
@@ -302,7 +312,8 @@ static RegisterInfo g_register_infos[] = {
gpr_r10},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
nullptr,
4,
@@ -313,7 +324,8 @@ static RegisterInfo g_register_infos[] = {
gpr_r11},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
nullptr,
4,
@@ -324,7 +336,8 @@ static RegisterInfo g_register_infos[] = {
gpr_r12},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sp",
"r13",
4,
@@ -335,7 +348,8 @@ static RegisterInfo g_register_infos[] = {
gpr_sp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"r14",
4,
@@ -346,7 +360,8 @@ static RegisterInfo g_register_infos[] = {
gpr_lr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
"r15",
4,
@@ -357,7 +372,8 @@ static RegisterInfo g_register_infos[] = {
gpr_pc},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cpsr",
"psr",
4,
@@ -368,7 +384,8 @@ static RegisterInfo g_register_infos[] = {
gpr_cpsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s0",
nullptr,
@@ -380,7 +397,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s0},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s1",
nullptr,
4,
@@ -391,7 +409,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s1},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s2",
nullptr,
4,
@@ -402,7 +421,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s2},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s3",
nullptr,
4,
@@ -413,7 +433,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s3},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s4",
nullptr,
4,
@@ -424,7 +445,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s4},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s5",
nullptr,
4,
@@ -435,7 +457,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s5},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s6",
nullptr,
4,
@@ -446,7 +469,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s6},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s7",
nullptr,
4,
@@ -457,7 +481,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s7},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s8",
nullptr,
4,
@@ -468,7 +493,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s8},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s9",
nullptr,
4,
@@ -479,7 +505,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s9},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s10",
nullptr,
4,
@@ -490,7 +517,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s10},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s11",
nullptr,
4,
@@ -501,7 +529,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s11},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s12",
nullptr,
4,
@@ -512,7 +541,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s12},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s13",
nullptr,
4,
@@ -523,7 +553,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s13},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s14",
nullptr,
4,
@@ -534,7 +565,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s14},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s15",
nullptr,
4,
@@ -545,7 +577,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s15},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s16",
nullptr,
4,
@@ -556,7 +589,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s16},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s17",
nullptr,
4,
@@ -567,7 +601,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s17},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s18",
nullptr,
4,
@@ -578,7 +613,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s18},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s19",
nullptr,
4,
@@ -589,7 +625,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s19},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s20",
nullptr,
4,
@@ -600,7 +637,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s20},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s21",
nullptr,
4,
@@ -611,7 +649,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s21},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s22",
nullptr,
4,
@@ -622,7 +661,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s22},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s23",
nullptr,
4,
@@ -633,7 +673,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s23},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s24",
nullptr,
4,
@@ -644,7 +685,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s24},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s25",
nullptr,
4,
@@ -655,7 +697,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s25},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s26",
nullptr,
4,
@@ -666,7 +709,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s26},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s27",
nullptr,
4,
@@ -677,7 +721,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s27},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s28",
nullptr,
4,
@@ -688,7 +733,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s28},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s29",
nullptr,
4,
@@ -699,7 +745,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s29},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s30",
nullptr,
4,
@@ -710,7 +757,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s30},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s31",
nullptr,
4,
@@ -721,7 +769,8 @@ static RegisterInfo g_register_infos[] = {
fpu_s31},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fpscr",
nullptr,
4,
@@ -732,7 +781,8 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, fpu_fpscr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"exception",
nullptr,
@@ -744,7 +794,8 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, exc_exception},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fsr",
nullptr,
4,
@@ -755,7 +806,8 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, exc_fsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"far",
nullptr,
4,
@@ -766,7 +818,8 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, exc_far},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_DBG(bvr, 0)},
{DEFINE_DBG(bvr, 1)},
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
index 50f710e26815..b98b2f35c23e 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
@@ -59,7 +59,7 @@ using namespace lldb_private;
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM }, \
- NULL, NULL
+ NULL, NULL, NULL, 0
#define REG_CONTEXT_SIZE \
(sizeof(RegisterContextDarwin_arm64::GPR) + \
sizeof(RegisterContextDarwin_arm64::FPU) + \
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp
index 5f56e6f1636a..95f8132a990c 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp
@@ -154,7 +154,7 @@ enum {
{LLDB_INVALID_REGNUM, dwarf_##reg##i, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
fpu_##reg##i }, \
- nullptr, nullptr,
+ nullptr, nullptr, nullptr, 0
#define DEFINE_EXC(reg) \
#reg, NULL, sizeof(((RegisterContextDarwin_i386::EXC *) NULL)->reg), \
@@ -175,158 +175,184 @@ static RegisterInfo g_register_infos[] = {
gpr_eax},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(ebx, nullptr),
{ehframe_ebx, dwarf_ebx, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
gpr_ebx},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(ecx, nullptr),
{ehframe_ecx, dwarf_ecx, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
gpr_ecx},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(edx, nullptr),
{ehframe_edx, dwarf_edx, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
gpr_edx},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(edi, nullptr),
{ehframe_edi, dwarf_edi, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
gpr_edi},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(esi, nullptr),
{ehframe_esi, dwarf_esi, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
gpr_esi},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(ebp, "fp"),
{ehframe_ebp, dwarf_ebp, LLDB_REGNUM_GENERIC_FP, LLDB_INVALID_REGNUM,
gpr_ebp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(esp, "sp"),
{ehframe_esp, dwarf_esp, LLDB_REGNUM_GENERIC_SP, LLDB_INVALID_REGNUM,
gpr_esp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(ss, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_ss},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(eflags, "flags"),
{ehframe_eflags, dwarf_eflags, LLDB_REGNUM_GENERIC_FLAGS,
LLDB_INVALID_REGNUM, gpr_eflags},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(eip, "pc"),
{ehframe_eip, dwarf_eip, LLDB_REGNUM_GENERIC_PC, LLDB_INVALID_REGNUM,
gpr_eip},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(cs, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_cs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(ds, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_ds},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(es, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_es},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(fs, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_fs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(gs, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_gs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(fcw),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_fcw},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(fsw),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_fsw},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(ftw),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_ftw},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(fop),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_fop},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(ip),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_ip},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(cs),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_cs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(dp),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_dp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(ds),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_ds},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(mxcsr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_mxcsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(mxcsrmask),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_mxcsrmask},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_VECT(stmm, 0)},
{DEFINE_FPU_VECT(stmm, 1)},
{DEFINE_FPU_VECT(stmm, 2)},
@@ -349,19 +375,22 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, exc_trapno},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_EXC(err),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, exc_err},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_EXC(faultvaddr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, exc_faultvaddr},
nullptr,
nullptr,
- }};
+ nullptr,
+ 0}};
static size_t k_num_register_infos = llvm::array_lengthof(g_register_infos);
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp
index 567df8fc980c..03e5ea424e39 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp
@@ -172,7 +172,7 @@ enum ehframe_dwarf_regnums {
{ehframe_dwarf_fpu_##reg##i, \
ehframe_dwarf_fpu_##reg##i, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, fpu_##reg##i }, \
- nullptr, nullptr,
+ nullptr, nullptr, nullptr, 0
#define DEFINE_EXC(reg) \
#reg, NULL, sizeof(((RegisterContextDarwin_x86_64::EXC *) NULL)->reg), \
EXC_OFFSET(reg), eEncodingUint, eFormatHex
@@ -194,188 +194,219 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, gpr_rax},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rbx, nullptr),
{ehframe_dwarf_gpr_rbx, ehframe_dwarf_gpr_rbx, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_rbx},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rcx, nullptr),
{ehframe_dwarf_gpr_rcx, ehframe_dwarf_gpr_rcx, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_rcx},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rdx, nullptr),
{ehframe_dwarf_gpr_rdx, ehframe_dwarf_gpr_rdx, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_rdx},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rdi, nullptr),
{ehframe_dwarf_gpr_rdi, ehframe_dwarf_gpr_rdi, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_rdi},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rsi, nullptr),
{ehframe_dwarf_gpr_rsi, ehframe_dwarf_gpr_rsi, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_rsi},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rbp, "fp"),
{ehframe_dwarf_gpr_rbp, ehframe_dwarf_gpr_rbp, LLDB_REGNUM_GENERIC_FP,
LLDB_INVALID_REGNUM, gpr_rbp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rsp, "sp"),
{ehframe_dwarf_gpr_rsp, ehframe_dwarf_gpr_rsp, LLDB_REGNUM_GENERIC_SP,
LLDB_INVALID_REGNUM, gpr_rsp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r8, nullptr),
{ehframe_dwarf_gpr_r8, ehframe_dwarf_gpr_r8, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r8},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r9, nullptr),
{ehframe_dwarf_gpr_r9, ehframe_dwarf_gpr_r9, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r9},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r10, nullptr),
{ehframe_dwarf_gpr_r10, ehframe_dwarf_gpr_r10, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r10},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r11, nullptr),
{ehframe_dwarf_gpr_r11, ehframe_dwarf_gpr_r11, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r11},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r12, nullptr),
{ehframe_dwarf_gpr_r12, ehframe_dwarf_gpr_r12, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r12},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r13, nullptr),
{ehframe_dwarf_gpr_r13, ehframe_dwarf_gpr_r13, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r13},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r14, nullptr),
{ehframe_dwarf_gpr_r14, ehframe_dwarf_gpr_r14, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r14},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(r15, nullptr),
{ehframe_dwarf_gpr_r15, ehframe_dwarf_gpr_r15, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_r15},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rip, "pc"),
{ehframe_dwarf_gpr_rip, ehframe_dwarf_gpr_rip, LLDB_REGNUM_GENERIC_PC,
LLDB_INVALID_REGNUM, gpr_rip},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(rflags, "flags"),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_REGNUM_GENERIC_FLAGS,
LLDB_INVALID_REGNUM, gpr_rflags},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(cs, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_cs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(fs, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_fs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_GPR(gs, nullptr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, gpr_gs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(fcw),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_fcw},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(fsw),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_fsw},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(ftw),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_ftw},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(fop),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_fop},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(ip),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_ip},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(cs),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_cs},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(dp),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_dp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(ds),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_ds},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(mxcsr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_mxcsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_UINT(mxcsrmask),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, fpu_mxcsrmask},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_FPU_VECT(stmm, 0)},
{DEFINE_FPU_VECT(stmm, 1)},
{DEFINE_FPU_VECT(stmm, 2)},
@@ -406,19 +437,22 @@ static RegisterInfo g_register_infos[] = {
LLDB_INVALID_REGNUM, exc_trapno},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_EXC(err),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, exc_err},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_EXC(faultvaddr),
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
LLDB_INVALID_REGNUM, exc_faultvaddr},
nullptr,
nullptr,
- }};
+ nullptr,
+ 0}};
static size_t k_num_register_infos = llvm::array_lengthof(g_register_infos);
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
index 39bec20649a4..518dc273faf4 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp
@@ -89,18 +89,19 @@ struct UserArea {
RegisterContextLinux_i386::RegisterContextLinux_i386(
const ArchSpec &target_arch)
: RegisterInfoInterface(target_arch) {
- RegisterInfo orig_ax = {
- "orig_eax",
- nullptr,
- sizeof(((GPR *)nullptr)->orig_eax),
- (LLVM_EXTENSION offsetof(GPR, orig_eax)),
- eEncodingUint,
- eFormatHex,
- {LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
- LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
- nullptr,
- nullptr,
- };
+ RegisterInfo orig_ax = {"orig_eax",
+ nullptr,
+ sizeof(((GPR *)nullptr)->orig_eax),
+ (LLVM_EXTENSION offsetof(GPR, orig_eax)),
+ eEncodingUint,
+ eFormatHex,
+ {LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
+ LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
+ LLDB_INVALID_REGNUM},
+ nullptr,
+ nullptr,
+ nullptr,
+ 0};
d_register_infos.push_back(orig_ax);
}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
index 20b8d74f8c0d..f9d4e23fcde2 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
@@ -156,18 +156,19 @@ RegisterContextLinux_x86_64::RegisterContextLinux_x86_64(
m_register_info_p(GetRegisterInfoPtr(target_arch)),
m_register_info_count(GetRegisterInfoCount(target_arch)),
m_user_register_count(GetUserRegisterInfoCount(target_arch)) {
- RegisterInfo orig_ax = {
- "orig_rax",
- nullptr,
- sizeof(((GPR *)nullptr)->orig_rax),
- (LLVM_EXTENSION offsetof(GPR, orig_rax)),
- eEncodingUint,
- eFormatHex,
- {LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
- LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM},
- nullptr,
- nullptr,
- };
+ RegisterInfo orig_ax = {"orig_rax",
+ nullptr,
+ sizeof(((GPR *)nullptr)->orig_rax),
+ (LLVM_EXTENSION offsetof(GPR, orig_rax)),
+ eEncodingUint,
+ eFormatHex,
+ {LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
+ LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
+ LLDB_INVALID_REGNUM},
+ nullptr,
+ nullptr,
+ nullptr,
+ 0};
d_register_infos.push_back(orig_ax);
}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp
index 066d50d9c149..11556e802e33 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp
@@ -41,6 +41,7 @@ typedef struct _GPR {
#reg, alt, sizeof(((GPR *)nullptr)->reg), GPR_OFFSET(reg), eEncodingUint, \
eFormatHex, \
{kind1, kind2, kind3, kind4, lldb_##reg##_i386 }, nullptr, nullptr, \
+ nullptr, 0 \
}
// clang-format off
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp
index a35ccace5d5b..15cae5ab4c99 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp
@@ -49,6 +49,7 @@ typedef struct _GPR {
#reg, alt, sizeof(((GPR *)nullptr)->reg), GPR_OFFSET(reg), eEncodingUint, \
eFormatHex, \
{kind1, kind2, kind3, kind4, lldb_##reg##_x86_64 }, nullptr, nullptr, \
+ nullptr, 0 \
}
typedef struct _FPReg {
@@ -79,7 +80,7 @@ typedef struct _FPReg {
eEncodingUint, eFormatVectorOfUInt64, \
{dwarf_##reg##_x86_64, dwarf_##reg##_x86_64, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_##reg##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
// clang-format off
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp b/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
index fd4c373e2cb1..63461f7ab2db 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
@@ -38,7 +38,7 @@ using namespace lldb_private;
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
dbg_##reg##i }, \
- NULL, NULL,
+ NULL, NULL, NULL, 0
#define REG_CONTEXT_SIZE \
(sizeof(RegisterInfoPOSIX_arm::GPR) + sizeof(RegisterInfoPOSIX_arm::FPU) + \
sizeof(RegisterInfoPOSIX_arm::EXC))
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp b/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
index 6c130be7b741..b878534b39db 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
@@ -60,7 +60,7 @@
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
dbg_##reg##i }, \
- NULL, NULL,
+ NULL, NULL, NULL, 0
#define REG_CONTEXT_SIZE \
(sizeof(RegisterInfoPOSIX_arm64::GPR) + \
sizeof(RegisterInfoPOSIX_arm64::FPU) + \
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
index 9eba19c071e3..4af0069eb6f3 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
@@ -347,7 +347,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r0},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r1",
nullptr,
4,
@@ -358,7 +359,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r1},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r2",
nullptr,
4,
@@ -369,7 +371,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r2},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r3",
nullptr,
4,
@@ -380,7 +383,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r3},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r4",
nullptr,
4,
@@ -390,7 +394,8 @@ static RegisterInfo g_register_infos_arm[] = {
{ehframe_r4, dwarf_r4, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r4},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r5",
nullptr,
4,
@@ -400,7 +405,8 @@ static RegisterInfo g_register_infos_arm[] = {
{ehframe_r5, dwarf_r5, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r5},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r6",
nullptr,
4,
@@ -410,7 +416,8 @@ static RegisterInfo g_register_infos_arm[] = {
{ehframe_r6, dwarf_r6, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r6},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r7",
nullptr,
4,
@@ -420,7 +427,8 @@ static RegisterInfo g_register_infos_arm[] = {
{ehframe_r7, dwarf_r7, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r7},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r8",
nullptr,
4,
@@ -430,7 +438,8 @@ static RegisterInfo g_register_infos_arm[] = {
{ehframe_r8, dwarf_r8, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r8},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r9",
nullptr,
4,
@@ -440,7 +449,8 @@ static RegisterInfo g_register_infos_arm[] = {
{ehframe_r9, dwarf_r9, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_r9},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r10",
nullptr,
4,
@@ -451,7 +461,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r10},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r11",
nullptr,
4,
@@ -462,7 +473,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r11},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"r12",
nullptr,
4,
@@ -473,7 +485,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_r12},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sp",
"r13",
4,
@@ -484,7 +497,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_sp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"r14",
4,
@@ -495,7 +509,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_lr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
"r15",
4,
@@ -506,7 +521,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_pc},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cpsr",
"psr",
4,
@@ -517,7 +533,8 @@ static RegisterInfo g_register_infos_arm[] = {
gpr_cpsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"s0",
nullptr,
@@ -529,7 +546,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s0},
nullptr,
g_s0_invalidates,
- },
+ nullptr,
+ 0},
{"s1",
nullptr,
4,
@@ -540,7 +558,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s1},
nullptr,
g_s1_invalidates,
- },
+ nullptr,
+ 0},
{"s2",
nullptr,
4,
@@ -551,7 +570,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s2},
nullptr,
g_s2_invalidates,
- },
+ nullptr,
+ 0},
{"s3",
nullptr,
4,
@@ -562,7 +582,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s3},
nullptr,
g_s3_invalidates,
- },
+ nullptr,
+ 0},
{"s4",
nullptr,
4,
@@ -573,7 +594,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s4},
nullptr,
g_s4_invalidates,
- },
+ nullptr,
+ 0},
{"s5",
nullptr,
4,
@@ -584,7 +606,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s5},
nullptr,
g_s5_invalidates,
- },
+ nullptr,
+ 0},
{"s6",
nullptr,
4,
@@ -595,7 +618,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s6},
nullptr,
g_s6_invalidates,
- },
+ nullptr,
+ 0},
{"s7",
nullptr,
4,
@@ -606,7 +630,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s7},
nullptr,
g_s7_invalidates,
- },
+ nullptr,
+ 0},
{"s8",
nullptr,
4,
@@ -617,7 +642,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s8},
nullptr,
g_s8_invalidates,
- },
+ nullptr,
+ 0},
{"s9",
nullptr,
4,
@@ -628,7 +654,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s9},
nullptr,
g_s9_invalidates,
- },
+ nullptr,
+ 0},
{"s10",
nullptr,
4,
@@ -639,7 +666,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s10},
nullptr,
g_s10_invalidates,
- },
+ nullptr,
+ 0},
{"s11",
nullptr,
4,
@@ -650,7 +678,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s11},
nullptr,
g_s11_invalidates,
- },
+ nullptr,
+ 0},
{"s12",
nullptr,
4,
@@ -661,7 +690,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s12},
nullptr,
g_s12_invalidates,
- },
+ nullptr,
+ 0},
{"s13",
nullptr,
4,
@@ -672,7 +702,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s13},
nullptr,
g_s13_invalidates,
- },
+ nullptr,
+ 0},
{"s14",
nullptr,
4,
@@ -683,7 +714,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s14},
nullptr,
g_s14_invalidates,
- },
+ nullptr,
+ 0},
{"s15",
nullptr,
4,
@@ -694,7 +726,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s15},
nullptr,
g_s15_invalidates,
- },
+ nullptr,
+ 0},
{"s16",
nullptr,
4,
@@ -705,7 +738,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s16},
nullptr,
g_s16_invalidates,
- },
+ nullptr,
+ 0},
{"s17",
nullptr,
4,
@@ -716,7 +750,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s17},
nullptr,
g_s17_invalidates,
- },
+ nullptr,
+ 0},
{"s18",
nullptr,
4,
@@ -727,7 +762,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s18},
nullptr,
g_s18_invalidates,
- },
+ nullptr,
+ 0},
{"s19",
nullptr,
4,
@@ -738,7 +774,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s19},
nullptr,
g_s19_invalidates,
- },
+ nullptr,
+ 0},
{"s20",
nullptr,
4,
@@ -749,7 +786,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s20},
nullptr,
g_s20_invalidates,
- },
+ nullptr,
+ 0},
{"s21",
nullptr,
4,
@@ -760,7 +798,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s21},
nullptr,
g_s21_invalidates,
- },
+ nullptr,
+ 0},
{"s22",
nullptr,
4,
@@ -771,7 +810,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s22},
nullptr,
g_s22_invalidates,
- },
+ nullptr,
+ 0},
{"s23",
nullptr,
4,
@@ -782,7 +822,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s23},
nullptr,
g_s23_invalidates,
- },
+ nullptr,
+ 0},
{"s24",
nullptr,
4,
@@ -793,7 +834,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s24},
nullptr,
g_s24_invalidates,
- },
+ nullptr,
+ 0},
{"s25",
nullptr,
4,
@@ -804,7 +846,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s25},
nullptr,
g_s25_invalidates,
- },
+ nullptr,
+ 0},
{"s26",
nullptr,
4,
@@ -815,7 +858,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s26},
nullptr,
g_s26_invalidates,
- },
+ nullptr,
+ 0},
{"s27",
nullptr,
4,
@@ -826,7 +870,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s27},
nullptr,
g_s27_invalidates,
- },
+ nullptr,
+ 0},
{"s28",
nullptr,
4,
@@ -837,7 +882,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s28},
nullptr,
g_s28_invalidates,
- },
+ nullptr,
+ 0},
{"s29",
nullptr,
4,
@@ -848,7 +894,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s29},
nullptr,
g_s29_invalidates,
- },
+ nullptr,
+ 0},
{"s30",
nullptr,
4,
@@ -859,7 +906,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s30},
nullptr,
g_s30_invalidates,
- },
+ nullptr,
+ 0},
{"s31",
nullptr,
4,
@@ -870,7 +918,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_s31},
nullptr,
g_s31_invalidates,
- },
+ nullptr,
+ 0},
{"fpscr",
nullptr,
4,
@@ -881,7 +930,8 @@ static RegisterInfo g_register_infos_arm[] = {
LLDB_INVALID_REGNUM, fpu_fpscr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"d0",
nullptr,
@@ -893,7 +943,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d0},
g_d0_contains,
g_d0_invalidates,
- },
+ nullptr,
+ 0},
{"d1",
nullptr,
8,
@@ -904,7 +955,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d1},
g_d1_contains,
g_d1_invalidates,
- },
+ nullptr,
+ 0},
{"d2",
nullptr,
8,
@@ -915,7 +967,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d2},
g_d2_contains,
g_d2_invalidates,
- },
+ nullptr,
+ 0},
{"d3",
nullptr,
8,
@@ -926,7 +979,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d3},
g_d3_contains,
g_d3_invalidates,
- },
+ nullptr,
+ 0},
{"d4",
nullptr,
8,
@@ -937,7 +991,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d4},
g_d4_contains,
g_d4_invalidates,
- },
+ nullptr,
+ 0},
{"d5",
nullptr,
8,
@@ -948,7 +1003,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d5},
g_d5_contains,
g_d5_invalidates,
- },
+ nullptr,
+ 0},
{"d6",
nullptr,
8,
@@ -959,7 +1015,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d6},
g_d6_contains,
g_d6_invalidates,
- },
+ nullptr,
+ 0},
{"d7",
nullptr,
8,
@@ -970,7 +1027,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d7},
g_d7_contains,
g_d7_invalidates,
- },
+ nullptr,
+ 0},
{"d8",
nullptr,
8,
@@ -981,7 +1039,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d8},
g_d8_contains,
g_d8_invalidates,
- },
+ nullptr,
+ 0},
{"d9",
nullptr,
8,
@@ -992,7 +1051,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d9},
g_d9_contains,
g_d9_invalidates,
- },
+ nullptr,
+ 0},
{"d10",
nullptr,
8,
@@ -1003,7 +1063,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d10},
g_d10_contains,
g_d10_invalidates,
- },
+ nullptr,
+ 0},
{"d11",
nullptr,
8,
@@ -1014,7 +1075,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d11},
g_d11_contains,
g_d11_invalidates,
- },
+ nullptr,
+ 0},
{"d12",
nullptr,
8,
@@ -1025,7 +1087,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d12},
g_d12_contains,
g_d12_invalidates,
- },
+ nullptr,
+ 0},
{"d13",
nullptr,
8,
@@ -1036,7 +1099,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d13},
g_d13_contains,
g_d13_invalidates,
- },
+ nullptr,
+ 0},
{"d14",
nullptr,
8,
@@ -1047,7 +1111,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d14},
g_d14_contains,
g_d14_invalidates,
- },
+ nullptr,
+ 0},
{"d15",
nullptr,
8,
@@ -1058,7 +1123,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d15},
g_d15_contains,
g_d15_invalidates,
- },
+ nullptr,
+ 0},
{"d16",
nullptr,
8,
@@ -1069,7 +1135,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d16},
nullptr,
g_d16_invalidates,
- },
+ nullptr,
+ 0},
{"d17",
nullptr,
8,
@@ -1080,7 +1147,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d17},
nullptr,
g_d17_invalidates,
- },
+ nullptr,
+ 0},
{"d18",
nullptr,
8,
@@ -1091,7 +1159,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d18},
nullptr,
g_d18_invalidates,
- },
+ nullptr,
+ 0},
{"d19",
nullptr,
8,
@@ -1102,7 +1171,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d19},
nullptr,
g_d19_invalidates,
- },
+ nullptr,
+ 0},
{"d20",
nullptr,
8,
@@ -1113,7 +1183,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d20},
nullptr,
g_d20_invalidates,
- },
+ nullptr,
+ 0},
{"d21",
nullptr,
8,
@@ -1124,7 +1195,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d21},
nullptr,
g_d21_invalidates,
- },
+ nullptr,
+ 0},
{"d22",
nullptr,
8,
@@ -1135,7 +1207,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d22},
nullptr,
g_d22_invalidates,
- },
+ nullptr,
+ 0},
{"d23",
nullptr,
8,
@@ -1146,7 +1219,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d23},
nullptr,
g_d23_invalidates,
- },
+ nullptr,
+ 0},
{"d24",
nullptr,
8,
@@ -1157,7 +1231,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d24},
nullptr,
g_d24_invalidates,
- },
+ nullptr,
+ 0},
{"d25",
nullptr,
8,
@@ -1168,7 +1243,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d25},
nullptr,
g_d25_invalidates,
- },
+ nullptr,
+ 0},
{"d26",
nullptr,
8,
@@ -1179,7 +1255,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d26},
nullptr,
g_d26_invalidates,
- },
+ nullptr,
+ 0},
{"d27",
nullptr,
8,
@@ -1190,7 +1267,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d27},
nullptr,
g_d27_invalidates,
- },
+ nullptr,
+ 0},
{"d28",
nullptr,
8,
@@ -1201,7 +1279,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d28},
nullptr,
g_d28_invalidates,
- },
+ nullptr,
+ 0},
{"d29",
nullptr,
8,
@@ -1212,7 +1291,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d29},
nullptr,
g_d29_invalidates,
- },
+ nullptr,
+ 0},
{"d30",
nullptr,
8,
@@ -1223,7 +1303,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d30},
nullptr,
g_d30_invalidates,
- },
+ nullptr,
+ 0},
{"d31",
nullptr,
8,
@@ -1234,7 +1315,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_d31},
nullptr,
g_d31_invalidates,
- },
+ nullptr,
+ 0},
{"q0",
nullptr,
@@ -1246,7 +1328,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q0},
g_q0_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q1",
nullptr,
16,
@@ -1257,7 +1340,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q1},
g_q1_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q2",
nullptr,
16,
@@ -1268,7 +1352,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q2},
g_q2_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q3",
nullptr,
16,
@@ -1279,7 +1364,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q3},
g_q3_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q4",
nullptr,
16,
@@ -1290,7 +1376,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q4},
g_q4_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q5",
nullptr,
16,
@@ -1301,7 +1388,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q5},
g_q5_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q6",
nullptr,
16,
@@ -1312,7 +1400,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q6},
g_q6_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q7",
nullptr,
16,
@@ -1323,7 +1412,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q7},
g_q7_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q8",
nullptr,
16,
@@ -1334,7 +1424,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q8},
g_q8_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q9",
nullptr,
16,
@@ -1345,7 +1436,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q9},
g_q9_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q10",
nullptr,
16,
@@ -1356,7 +1448,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q10},
g_q10_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q11",
nullptr,
16,
@@ -1367,7 +1460,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q11},
g_q11_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q12",
nullptr,
16,
@@ -1378,7 +1472,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q12},
g_q12_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q13",
nullptr,
16,
@@ -1389,7 +1484,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q13},
g_q13_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q14",
nullptr,
16,
@@ -1400,7 +1496,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q14},
g_q14_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"q15",
nullptr,
16,
@@ -1411,7 +1508,8 @@ static RegisterInfo g_register_infos_arm[] = {
fpu_q15},
g_q15_contains,
nullptr,
- },
+ nullptr,
+ 0},
{"exception",
nullptr,
@@ -1423,7 +1521,8 @@ static RegisterInfo g_register_infos_arm[] = {
LLDB_INVALID_REGNUM, exc_exception},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fsr",
nullptr,
4,
@@ -1434,7 +1533,8 @@ static RegisterInfo g_register_infos_arm[] = {
LLDB_INVALID_REGNUM, exc_fsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"far",
nullptr,
4,
@@ -1445,7 +1545,8 @@ static RegisterInfo g_register_infos_arm[] = {
LLDB_INVALID_REGNUM, exc_far},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{DEFINE_DBG(bvr, 0)},
{DEFINE_DBG(bvr, 1)},
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
index ccfbd6afbefb..47cedc31bcd7 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
@@ -489,6 +489,7 @@ static uint32_t g_d31_invalidates[] = {fpu_v31, fpu_s31, LLDB_INVALID_REGNUM};
{ \
#reg, nullptr, 8, GPR_OFFSET(gpr_##reg), lldb::eEncodingUint, \
lldb::eFormatHex, GPR64_KIND(reg, generic_kind), nullptr, nullptr, \
+ nullptr, 0 \
}
// Defines a 64-bit general purpose register
@@ -496,6 +497,7 @@ static uint32_t g_d31_invalidates[] = {fpu_v31, fpu_s31, LLDB_INVALID_REGNUM};
{ \
#reg, #alt, 8, GPR_OFFSET(gpr_##reg), lldb::eEncodingUint, \
lldb::eFormatHex, GPR64_KIND(reg, generic_kind), nullptr, nullptr, \
+ nullptr, 0 \
}
// Defines a 32-bit general purpose pseudo register
@@ -504,14 +506,15 @@ static uint32_t g_d31_invalidates[] = {fpu_v31, fpu_s31, LLDB_INVALID_REGNUM};
#wreg, nullptr, 4, \
GPR_OFFSET(gpr_##xreg) + GPR_W_PSEUDO_REG_ENDIAN_OFFSET, \
lldb::eEncodingUint, lldb::eFormatHex, LLDB_KIND(gpr_##wreg), \
- g_contained_##xreg, g_##wreg##_invalidates, \
+ g_contained_##xreg, g_##wreg##_invalidates, nullptr, 0 \
}
// Defines a vector register with 16-byte size
#define DEFINE_VREG(reg) \
{ \
#reg, nullptr, 16, FPU_OFFSET(fpu_##reg - fpu_v0), lldb::eEncodingVector, \
- lldb::eFormatVectorOfUInt8, VREG_KIND(reg), nullptr, nullptr, \
+ lldb::eFormatVectorOfUInt8, VREG_KIND(reg), nullptr, nullptr, nullptr, \
+ 0 \
}
// Defines S and D pseudo registers mapping over corresponding vector register
@@ -519,7 +522,7 @@ static uint32_t g_d31_invalidates[] = {fpu_v31, fpu_s31, LLDB_INVALID_REGNUM};
{ \
#reg, nullptr, size, FPU_OFFSET(fpu_##vreg - fpu_v0) + offset, \
lldb::eEncodingIEEE754, lldb::eFormatFloat, LLDB_KIND(fpu_##reg), \
- g_contained_##vreg, g_##reg##_invalidates, \
+ g_contained_##vreg, g_##reg##_invalidates, nullptr, 0 \
}
// Defines miscellaneous status and control registers like cpsr, fpsr etc
@@ -527,13 +530,14 @@ static uint32_t g_d31_invalidates[] = {fpu_v31, fpu_s31, LLDB_INVALID_REGNUM};
{ \
#reg, nullptr, size, TYPE##_OFFSET_NAME(reg), lldb::eEncodingUint, \
lldb::eFormatHex, MISC_##TYPE##_KIND(lldb_kind), nullptr, nullptr, \
+ nullptr, 0 \
}
// Defines pointer authentication mask registers
#define DEFINE_EXTENSION_REG(reg) \
{ \
#reg, nullptr, 8, 0, lldb::eEncodingUint, lldb::eFormatHex, \
- KIND_ALL_INVALID, nullptr, nullptr, \
+ KIND_ALL_INVALID, nullptr, nullptr, nullptr, 0 \
}
static lldb_private::RegisterInfo g_register_infos_arm64_le[] = {
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
index b2837b8f1e98..9551db7e8ebf 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
@@ -309,6 +309,7 @@ static uint32_t g_contained_z31[] = {sve_z31, LLDB_INVALID_REGNUM};
{ \
#vreg, nullptr, 16, 0, lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, \
VREG_KIND(vreg), g_contained_##zreg, g_sve_##vreg##_invalidates, \
+ nullptr, 0 \
}
// Defines S and D pseudo registers mapping over corresponding vector register
@@ -316,20 +317,21 @@ static uint32_t g_contained_z31[] = {sve_z31, LLDB_INVALID_REGNUM};
{ \
#reg, nullptr, size, 0, lldb::eEncodingIEEE754, lldb::eFormatFloat, \
LLDB_KIND(fpu_##reg), g_contained_##zreg, g_sve_##reg##_invalidates, \
+ nullptr, 0 \
}
// Defines a Z vector register with 16-byte default size
#define DEFINE_ZREG(reg) \
{ \
#reg, nullptr, 16, 0, lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, \
- SVE_REG_KIND(reg), nullptr, nullptr, \
+ SVE_REG_KIND(reg), nullptr, nullptr, nullptr, 0 \
}
// Defines a P vector register with 2-byte default size
#define DEFINE_PREG(reg) \
{ \
#reg, nullptr, 2, 0, lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, \
- SVE_REG_KIND(reg), nullptr, nullptr, \
+ SVE_REG_KIND(reg), nullptr, nullptr, nullptr, 0 \
}
static lldb_private::RegisterInfo g_register_infos_arm64_sve_le[] = {
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
index 4b73008adb16..15c7cac544a1 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
@@ -64,7 +64,7 @@
GPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, kind4, \
lldb_##reg##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_FPR(name, reg, kind1, kind2, kind3, kind4) \
@@ -72,7 +72,7 @@
#name, nullptr, FPR_SIZE(reg), FPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, kind4, \
lldb_##name##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
// RegisterKind: EHFrame, DWARF, Generic, Process Plugin, LLDB
@@ -84,7 +84,7 @@
stmm[i]), eEncodingVector, eFormatVectorOfUInt8, \
{ehframe_st##i##_i386, dwarf_st##i##_i386, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_st##i##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_FP_MM(reg, i, streg) \
@@ -94,7 +94,7 @@
{dwarf_mm##i##_i386, dwarf_mm##i##_i386, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_mm##i##_i386 }, \
RegisterContextPOSIX_x86::g_contained_##streg##_32, \
- RegisterContextPOSIX_x86::g_invalidate_##streg##_32, \
+ RegisterContextPOSIX_x86::g_invalidate_##streg##_32, nullptr, 0 \
}
#define DEFINE_XMM(reg, i) \
@@ -104,7 +104,7 @@
reg[i]), eEncodingVector, eFormatVectorOfUInt8, \
{ehframe_##reg##i##_i386, dwarf_##reg##i##_i386, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, lldb_##reg##i##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
// I believe the YMM registers use dwarf_xmm_%_i386 register numbers and then
@@ -116,7 +116,7 @@
{LLDB_INVALID_REGNUM, dwarf_xmm##i##_i386, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg##i##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_BNDR(reg, i) \
@@ -125,7 +125,7 @@
LLVM_EXTENSION BNDR_OFFSET(i), eEncodingVector, eFormatVectorOfUInt64, \
{dwarf_##reg##i##_i386, dwarf_##reg##i##_i386, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_##reg##i##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_BNDC(name, i) \
@@ -135,7 +135,7 @@
eFormatVectorOfUInt8, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_##name##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_DR(reg, i) \
@@ -145,7 +145,7 @@
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg##i##_i386 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_16(reg16, reg32) \
@@ -156,7 +156,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg16##_i386 }, \
RegisterContextPOSIX_x86::g_contained_##reg32, \
- RegisterContextPOSIX_x86::g_invalidate_##reg32, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg32, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_8H(reg8, reg32) \
@@ -167,7 +167,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg8##_i386 }, \
RegisterContextPOSIX_x86::g_contained_##reg32, \
- RegisterContextPOSIX_x86::g_invalidate_##reg32, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg32, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_8L(reg8, reg32) \
@@ -178,7 +178,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg8##_i386 }, \
RegisterContextPOSIX_x86::g_contained_##reg32, \
- RegisterContextPOSIX_x86::g_invalidate_##reg32, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg32, nullptr, 0 \
}
static RegisterInfo g_register_infos_i386[] = {
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h
index 60811d65ffc5..32a8c98fce43 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h
@@ -30,16 +30,22 @@
GPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, kind4, \
gpr_##reg##_mips64 }, \
- NULL, NULL \
+ NULL, NULL, NULL, 0 \
}
+const uint8_t dwarf_opcode_mips64[] = {
+ llvm::dwarf::DW_OP_regx, dwarf_sr_mips64, llvm::dwarf::DW_OP_lit1,
+ llvm::dwarf::DW_OP_lit26, llvm::dwarf::DW_OP_shl, llvm::dwarf::DW_OP_and,
+ llvm::dwarf::DW_OP_lit26, llvm::dwarf::DW_OP_shr};
+
#define DEFINE_FPR(reg, alt, kind1, kind2, kind3) \
{ \
#reg, alt, sizeof(((FPR_freebsd_mips *) 0)->reg), \
FPR_OFFSET(reg), eEncodingIEEE754, eFormatFloat, \
{kind1, kind2, kind3, LLDB_INVALID_REGNUM, \
fpr_##reg##_mips64 }, \
- NULL, NULL, \
+ NULL, NULL, dwarf_opcode_mips64, \
+ sizeof(dwarf_opcode_mips64) \
}
#define DEFINE_FPR_INFO(reg, alt, kind1, kind2, kind3) \
@@ -48,7 +54,7 @@
FPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, LLDB_INVALID_REGNUM, \
fpr_##reg##_mips64 }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h
index 0fd0a526f921..09f9430e693f 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h
@@ -24,7 +24,7 @@
dwarf_##reg##_powerpc, lldb_kind, \
LLDB_INVALID_REGNUM, \
gpr_##reg##_powerpc }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_FPR(reg, lldb_kind) \
{ \
@@ -32,7 +32,7 @@
{dwarf_##reg##_powerpc, dwarf_##reg##_powerpc, \
lldb_kind, LLDB_INVALID_REGNUM, \
fpr_##reg##_powerpc }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_VMX(reg, lldb_kind) \
{ \
@@ -40,7 +40,7 @@
{dwarf_##reg##_powerpc, dwarf_##reg##_powerpc, \
lldb_kind, LLDB_INVALID_REGNUM, \
vmx_##reg##_powerpc }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
// General purpose registers. EH_Frame, DWARF,
@@ -125,7 +125,8 @@
LLDB_INVALID_REGNUM, fpr_fpscr_powerpc}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
DEFINE_VMX(v0, LLDB_INVALID_REGNUM), \
DEFINE_VMX(v1, LLDB_INVALID_REGNUM), \
DEFINE_VMX(v2, LLDB_INVALID_REGNUM), \
@@ -168,7 +169,8 @@
LLDB_INVALID_REGNUM, vmx_vrsave_powerpc}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
{"vscr", \
NULL, \
4, \
@@ -179,7 +181,8 @@
LLDB_INVALID_REGNUM, vmx_vscr_powerpc}, \
NULL, \
NULL, \
- },
+ NULL, \
+ 0},
static RegisterInfo g_register_infos_powerpc64[] = {
#define GPR GPR64
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
index 19f2e5627703..c321b54ac8d4 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
@@ -31,7 +31,7 @@
lldb_kind, \
LLDB_INVALID_REGNUM, \
gpr_##reg##_ppc64 }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_FPR_PPC64(reg, alt, lldb_kind) \
{ \
@@ -40,7 +40,7 @@
{ppc64_dwarf::dwarf_##reg##_ppc64, \
ppc64_dwarf::dwarf_##reg##_ppc64, lldb_kind, LLDB_INVALID_REGNUM, \
fpr_##reg##_ppc64 }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_VMX_PPC64(reg, lldb_kind) \
{ \
@@ -49,7 +49,7 @@
{ppc64_dwarf::dwarf_##reg##_ppc64, \
ppc64_dwarf::dwarf_##reg##_ppc64, lldb_kind, LLDB_INVALID_REGNUM, \
vmx_##reg##_ppc64 }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
// General purpose registers.
@@ -136,7 +136,8 @@
LLDB_INVALID_REGNUM, fpr_fpscr_ppc64}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
DEFINE_VMX_PPC64(vr0, LLDB_INVALID_REGNUM), \
DEFINE_VMX_PPC64(vr1, LLDB_INVALID_REGNUM), \
DEFINE_VMX_PPC64(vr2, LLDB_INVALID_REGNUM), \
@@ -179,7 +180,8 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, vmx_vscr_ppc64}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
{"vrsave", \
NULL, \
4, \
@@ -191,7 +193,8 @@
LLDB_INVALID_REGNUM, vmx_vrsave_ppc64}, \
NULL, \
NULL, \
- }, /* */
+ NULL, \
+ 0}, /* */
typedef struct _GPR_PPC64 {
uint64_t r0;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h
index f8f8651c856c..557d476ae009 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h
@@ -31,7 +31,7 @@
lldb_kind, \
LLDB_INVALID_REGNUM, \
gpr_##reg##_ppc64le }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_FPR(reg, alt, lldb_kind) \
{ \
@@ -39,7 +39,7 @@
{ppc64le_dwarf::dwarf_##reg##_ppc64le, \
ppc64le_dwarf::dwarf_##reg##_ppc64le, lldb_kind, LLDB_INVALID_REGNUM, \
fpr_##reg##_ppc64le }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_VMX(reg, lldb_kind) \
{ \
@@ -48,7 +48,7 @@
{ppc64le_dwarf::dwarf_##reg##_ppc64le, \
ppc64le_dwarf::dwarf_##reg##_ppc64le, lldb_kind, LLDB_INVALID_REGNUM, \
vmx_##reg##_ppc64le }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_VSX(reg, lldb_kind) \
{ \
@@ -57,7 +57,7 @@
{ppc64le_dwarf::dwarf_##reg##_ppc64le, \
ppc64le_dwarf::dwarf_##reg##_ppc64le, lldb_kind, LLDB_INVALID_REGNUM, \
vsx_##reg##_ppc64le }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
// General purpose registers.
@@ -147,7 +147,8 @@
LLDB_INVALID_REGNUM, fpr_fpscr_ppc64le}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
DEFINE_VMX(vr0, LLDB_INVALID_REGNUM), \
DEFINE_VMX(vr1, LLDB_INVALID_REGNUM), \
DEFINE_VMX(vr2, LLDB_INVALID_REGNUM), \
@@ -190,7 +191,8 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, vmx_vscr_ppc64le}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
{"vrsave", \
NULL, \
4, \
@@ -202,7 +204,8 @@
LLDB_INVALID_REGNUM, vmx_vrsave_ppc64le}, \
NULL, \
NULL, \
- }, \
+ NULL, \
+ 0}, \
DEFINE_VSX(vs0, LLDB_INVALID_REGNUM), \
DEFINE_VSX(vs1, LLDB_INVALID_REGNUM), \
DEFINE_VSX(vs2, LLDB_INVALID_REGNUM), \
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h
index 65878b04eed8..faeb92114b1e 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h
@@ -27,7 +27,7 @@
#name, alt, size, offset, eEncodingUint, eFormatHex, \
{dwarf_##name##_s390x, dwarf_##name##_s390x, generic, \
LLDB_INVALID_REGNUM, lldb_##name##_s390x }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_GPR_NODWARF(name, size, offset, alt, generic) \
@@ -35,7 +35,7 @@
#name, alt, size, offset, eEncodingUint, eFormatHex, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, generic, \
LLDB_INVALID_REGNUM, lldb_##name##_s390x }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_FPR(name, size, offset) \
@@ -43,7 +43,7 @@
#name, NULL, size, offset, eEncodingUint, eFormatHex, \
{dwarf_##name##_s390x, dwarf_##name##_s390x, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_##name##_s390x }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
#define DEFINE_FPR_NODWARF(name, size, offset) \
@@ -51,7 +51,7 @@
#name, NULL, size, offset, eEncodingUint, eFormatHex, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_##name##_s390x }, \
- NULL, NULL, \
+ NULL, NULL, NULL, 0 \
}
static RegisterInfo g_register_infos_s390x[] = {
diff --git a/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h b/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h
index 1de67165fb2f..c956005c49b4 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h
@@ -67,7 +67,7 @@
GPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, kind4, \
lldb_##reg##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_FPR(name, reg, kind1, kind2, kind3, kind4) \
@@ -75,7 +75,7 @@
#name, nullptr, FPR_SIZE(reg), FPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, kind4, \
lldb_##name##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_FP_ST(reg, i) \
@@ -85,7 +85,7 @@
stmm[i]), eEncodingVector, eFormatVectorOfUInt8, \
{dwarf_st##i##_x86_64, dwarf_st##i##_x86_64, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_st##i##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_FP_MM(reg, i, streg) \
@@ -95,7 +95,7 @@
{dwarf_mm##i##_x86_64, dwarf_mm##i##_x86_64, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_mm##i##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##streg##_64, \
- RegisterContextPOSIX_x86::g_invalidate_##streg##_64, \
+ RegisterContextPOSIX_x86::g_invalidate_##streg##_64, nullptr, 0 \
}
#define DEFINE_XMM(reg, i) \
@@ -106,7 +106,7 @@
{dwarf_##reg##i##_x86_64, dwarf_##reg##i##_x86_64, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg##i##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_YMM(reg, i) \
@@ -117,7 +117,7 @@
dwarf_##reg##i##h_x86_64, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg##i##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_BNDR(reg, i) \
@@ -128,7 +128,7 @@
dwarf_##reg##i##_x86_64, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg##i##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_BNDC(name, i) \
@@ -137,7 +137,7 @@
LLVM_EXTENSION BNDC_OFFSET(i), eEncodingVector, eFormatVectorOfUInt8, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_##name##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_DR(reg, i) \
@@ -147,7 +147,7 @@
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg##i##_x86_64 }, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_32(reg32, reg64) \
@@ -158,7 +158,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg32##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##reg64, \
- RegisterContextPOSIX_x86::g_invalidate_##reg64, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg64, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_16(reg16, reg64) \
@@ -169,7 +169,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg16##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##reg64, \
- RegisterContextPOSIX_x86::g_invalidate_##reg64, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg64, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_8H(reg8, reg64) \
@@ -180,7 +180,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg8##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##reg64, \
- RegisterContextPOSIX_x86::g_invalidate_##reg64, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg64, nullptr, 0 \
}
#define DEFINE_GPR_PSEUDO_8L(reg8, reg64) \
@@ -191,7 +191,7 @@
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
lldb_##reg8##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##reg64, \
- RegisterContextPOSIX_x86::g_invalidate_##reg64, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg64, nullptr, 0 \
}
#define DEFINE_FPR_32(name, reg, kind1, kind2, kind3, kind4, reg64) \
@@ -199,7 +199,7 @@
#name, nullptr, FPR_SIZE(reg), FPR_OFFSET(reg), eEncodingUint, eFormatHex, \
{kind1, kind2, kind3, kind4, lldb_##name##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##reg64, \
- RegisterContextPOSIX_x86::g_invalidate_##reg64, \
+ RegisterContextPOSIX_x86::g_invalidate_##reg64, nullptr, 0 \
}
// clang-format off
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
index 8a86734b3da9..cd8537812eff 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
@@ -1827,6 +1827,13 @@ GDBRemoteCommunicationServerLLGS::Handle_qRegisterInfo(
response.PutChar(';');
}
+ if (reg_info->dynamic_size_dwarf_expr_bytes) {
+ const size_t dwarf_opcode_len = reg_info->dynamic_size_dwarf_len;
+ response.PutCString("dynamic_size_dwarf_expr_bytes:");
+ for (uint32_t i = 0; i < dwarf_opcode_len; ++i)
+ response.PutHex8(reg_info->dynamic_size_dwarf_expr_bytes[i]);
+ response.PutChar(';');
+ }
return SendPacketNoLock(response.GetString());
}
@@ -2064,8 +2071,12 @@ GDBRemoteCommunicationServerLLGS::Handle_P(StringExtractorGDBRemote &packet) {
return SendErrorResponse(0x47);
}
- if (reg_size != reg_info->byte_size)
+ // The dwarf expression are evaluate on host site which may cause register
+ // size to change Hence the reg_size may not be same as reg_info->bytes_size
+ if ((reg_size != reg_info->byte_size) &&
+ !(reg_info->dynamic_size_dwarf_expr_bytes)) {
return SendIllFormedResponse(packet, "P packet register size is incorrect");
+ }
// Build the reginfos response.
StreamGDBRemote response;
@@ -2905,6 +2916,14 @@ GDBRemoteCommunicationServerLLGS::BuildTargetXml() {
response.Printf("\" ");
}
+ if (reg_info->dynamic_size_dwarf_expr_bytes) {
+ const size_t dwarf_opcode_len = reg_info->dynamic_size_dwarf_len;
+ response.PutCString("dynamic_size_dwarf_expr_bytes=\"");
+ for (uint32_t i = 0; i < dwarf_opcode_len; ++i)
+ response.PutHex8(reg_info->dynamic_size_dwarf_expr_bytes[i]);
+ response.Printf("\" ");
+ }
+
response.Printf("/>");
}
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
index b80498069f16..92a5227a9a3a 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
@@ -69,7 +69,14 @@ size_t GDBRemoteRegisterContext::GetRegisterCount() {
const RegisterInfo *
GDBRemoteRegisterContext::GetRegisterInfoAtIndex(size_t reg) {
- return m_reg_info_sp->GetRegisterInfoAtIndex(reg);
+ RegisterInfo *reg_info = m_reg_info_sp->GetRegisterInfoAtIndex(reg);
+
+ if (reg_info && reg_info->dynamic_size_dwarf_expr_bytes) {
+ const ArchSpec &arch = m_thread.GetProcess()->GetTarget().GetArchitecture();
+ uint8_t reg_size = UpdateDynamicRegisterSize(arch, reg_info);
+ reg_info->byte_size = reg_size;
+ }
+ return reg_info;
}
size_t GDBRemoteRegisterContext::GetRegisterSetCount() {
@@ -825,115 +832,115 @@ void GDBRemoteDynamicRegisterInfo::HardcodeARMRegisters(bool from_scratch) {
// clang-format off
static RegisterInfo g_register_infos[] = {
-// NAME ALT SZ OFF ENCODING FORMAT EH_FRAME DWARF GENERIC PROCESS PLUGIN LLDB VALUE REGS INVALIDATE REGS
-// ====== ====== === === ============= ========== =================== =================== ====================== ============= ==== ========== ===============
- { "r0", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r0, dwarf_r0, LLDB_REGNUM_GENERIC_ARG1,0, 0 }, nullptr, nullptr },
- { "r1", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r1, dwarf_r1, LLDB_REGNUM_GENERIC_ARG2,1, 1 }, nullptr, nullptr },
- { "r2", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r2, dwarf_r2, LLDB_REGNUM_GENERIC_ARG3,2, 2 }, nullptr, nullptr },
- { "r3", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r3, dwarf_r3, LLDB_REGNUM_GENERIC_ARG4,3, 3 }, nullptr, nullptr },
- { "r4", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r4, dwarf_r4, LLDB_INVALID_REGNUM, 4, 4 }, nullptr, nullptr },
- { "r5", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r5, dwarf_r5, LLDB_INVALID_REGNUM, 5, 5 }, nullptr, nullptr },
- { "r6", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r6, dwarf_r6, LLDB_INVALID_REGNUM, 6, 6 }, nullptr, nullptr },
- { "r7", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r7, dwarf_r7, LLDB_REGNUM_GENERIC_FP, 7, 7 }, nullptr, nullptr },
- { "r8", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r8, dwarf_r8, LLDB_INVALID_REGNUM, 8, 8 }, nullptr, nullptr },
- { "r9", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r9, dwarf_r9, LLDB_INVALID_REGNUM, 9, 9 }, nullptr, nullptr },
- { "r10", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r10, dwarf_r10, LLDB_INVALID_REGNUM, 10, 10 }, nullptr, nullptr },
- { "r11", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r11, dwarf_r11, LLDB_INVALID_REGNUM, 11, 11 }, nullptr, nullptr },
- { "r12", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r12, dwarf_r12, LLDB_INVALID_REGNUM, 12, 12 }, nullptr, nullptr },
- { "sp", "r13", 4, 0, eEncodingUint, eFormatHex, { ehframe_sp, dwarf_sp, LLDB_REGNUM_GENERIC_SP, 13, 13 }, nullptr, nullptr },
- { "lr", "r14", 4, 0, eEncodingUint, eFormatHex, { ehframe_lr, dwarf_lr, LLDB_REGNUM_GENERIC_RA, 14, 14 }, nullptr, nullptr },
- { "pc", "r15", 4, 0, eEncodingUint, eFormatHex, { ehframe_pc, dwarf_pc, LLDB_REGNUM_GENERIC_PC, 15, 15 }, nullptr, nullptr },
- { "f0", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 16, 16 }, nullptr, nullptr },
- { "f1", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 17, 17 }, nullptr, nullptr },
- { "f2", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 18, 18 }, nullptr, nullptr },
- { "f3", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 19, 19 }, nullptr, nullptr },
- { "f4", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 20, 20 }, nullptr, nullptr },
- { "f5", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 21, 21 }, nullptr, nullptr },
- { "f6", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 22, 22 }, nullptr, nullptr },
- { "f7", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 23, 23 }, nullptr, nullptr },
- { "fps", nullptr, 4, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 24, 24 }, nullptr, nullptr },
- { "cpsr","flags", 4, 0, eEncodingUint, eFormatHex, { ehframe_cpsr, dwarf_cpsr, LLDB_INVALID_REGNUM, 25, 25 }, nullptr, nullptr },
- { "s0", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s0, LLDB_INVALID_REGNUM, 26, 26 }, nullptr, nullptr },
- { "s1", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s1, LLDB_INVALID_REGNUM, 27, 27 }, nullptr, nullptr },
- { "s2", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s2, LLDB_INVALID_REGNUM, 28, 28 }, nullptr, nullptr },
- { "s3", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s3, LLDB_INVALID_REGNUM, 29, 29 }, nullptr, nullptr },
- { "s4", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s4, LLDB_INVALID_REGNUM, 30, 30 }, nullptr, nullptr },
- { "s5", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s5, LLDB_INVALID_REGNUM, 31, 31 }, nullptr, nullptr },
- { "s6", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s6, LLDB_INVALID_REGNUM, 32, 32 }, nullptr, nullptr },
- { "s7", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s7, LLDB_INVALID_REGNUM, 33, 33 }, nullptr, nullptr },
- { "s8", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s8, LLDB_INVALID_REGNUM, 34, 34 }, nullptr, nullptr },
- { "s9", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s9, LLDB_INVALID_REGNUM, 35, 35 }, nullptr, nullptr },
- { "s10", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s10, LLDB_INVALID_REGNUM, 36, 36 }, nullptr, nullptr },
- { "s11", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s11, LLDB_INVALID_REGNUM, 37, 37 }, nullptr, nullptr },
- { "s12", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s12, LLDB_INVALID_REGNUM, 38, 38 }, nullptr, nullptr },
- { "s13", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s13, LLDB_INVALID_REGNUM, 39, 39 }, nullptr, nullptr },
- { "s14", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s14, LLDB_INVALID_REGNUM, 40, 40 }, nullptr, nullptr },
- { "s15", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s15, LLDB_INVALID_REGNUM, 41, 41 }, nullptr, nullptr },
- { "s16", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s16, LLDB_INVALID_REGNUM, 42, 42 }, nullptr, nullptr },
- { "s17", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s17, LLDB_INVALID_REGNUM, 43, 43 }, nullptr, nullptr },
- { "s18", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s18, LLDB_INVALID_REGNUM, 44, 44 }, nullptr, nullptr },
- { "s19", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s19, LLDB_INVALID_REGNUM, 45, 45 }, nullptr, nullptr },
- { "s20", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s20, LLDB_INVALID_REGNUM, 46, 46 }, nullptr, nullptr },
- { "s21", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s21, LLDB_INVALID_REGNUM, 47, 47 }, nullptr, nullptr },
- { "s22", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s22, LLDB_INVALID_REGNUM, 48, 48 }, nullptr, nullptr },
- { "s23", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s23, LLDB_INVALID_REGNUM, 49, 49 }, nullptr, nullptr },
- { "s24", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s24, LLDB_INVALID_REGNUM, 50, 50 }, nullptr, nullptr },
- { "s25", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s25, LLDB_INVALID_REGNUM, 51, 51 }, nullptr, nullptr },
- { "s26", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s26, LLDB_INVALID_REGNUM, 52, 52 }, nullptr, nullptr },
- { "s27", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s27, LLDB_INVALID_REGNUM, 53, 53 }, nullptr, nullptr },
- { "s28", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s28, LLDB_INVALID_REGNUM, 54, 54 }, nullptr, nullptr },
- { "s29", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s29, LLDB_INVALID_REGNUM, 55, 55 }, nullptr, nullptr },
- { "s30", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s30, LLDB_INVALID_REGNUM, 56, 56 }, nullptr, nullptr },
- { "s31", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s31, LLDB_INVALID_REGNUM, 57, 57 }, nullptr, nullptr },
- { "fpscr",nullptr, 4, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 58, 58 }, nullptr, nullptr },
- { "d16", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d16, LLDB_INVALID_REGNUM, 59, 59 }, nullptr, nullptr },
- { "d17", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d17, LLDB_INVALID_REGNUM, 60, 60 }, nullptr, nullptr },
- { "d18", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d18, LLDB_INVALID_REGNUM, 61, 61 }, nullptr, nullptr },
- { "d19", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d19, LLDB_INVALID_REGNUM, 62, 62 }, nullptr, nullptr },
- { "d20", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d20, LLDB_INVALID_REGNUM, 63, 63 }, nullptr, nullptr },
- { "d21", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d21, LLDB_INVALID_REGNUM, 64, 64 }, nullptr, nullptr },
- { "d22", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d22, LLDB_INVALID_REGNUM, 65, 65 }, nullptr, nullptr },
- { "d23", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d23, LLDB_INVALID_REGNUM, 66, 66 }, nullptr, nullptr },
- { "d24", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d24, LLDB_INVALID_REGNUM, 67, 67 }, nullptr, nullptr },
- { "d25", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d25, LLDB_INVALID_REGNUM, 68, 68 }, nullptr, nullptr },
- { "d26", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d26, LLDB_INVALID_REGNUM, 69, 69 }, nullptr, nullptr },
- { "d27", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d27, LLDB_INVALID_REGNUM, 70, 70 }, nullptr, nullptr },
- { "d28", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d28, LLDB_INVALID_REGNUM, 71, 71 }, nullptr, nullptr },
- { "d29", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d29, LLDB_INVALID_REGNUM, 72, 72 }, nullptr, nullptr },
- { "d30", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d30, LLDB_INVALID_REGNUM, 73, 73 }, nullptr, nullptr },
- { "d31", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d31, LLDB_INVALID_REGNUM, 74, 74 }, nullptr, nullptr },
- { "d0", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d0, LLDB_INVALID_REGNUM, 75, 75 }, g_d0_regs, nullptr },
- { "d1", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d1, LLDB_INVALID_REGNUM, 76, 76 }, g_d1_regs, nullptr },
- { "d2", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d2, LLDB_INVALID_REGNUM, 77, 77 }, g_d2_regs, nullptr },
- { "d3", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d3, LLDB_INVALID_REGNUM, 78, 78 }, g_d3_regs, nullptr },
- { "d4", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d4, LLDB_INVALID_REGNUM, 79, 79 }, g_d4_regs, nullptr },
- { "d5", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d5, LLDB_INVALID_REGNUM, 80, 80 }, g_d5_regs, nullptr },
- { "d6", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d6, LLDB_INVALID_REGNUM, 81, 81 }, g_d6_regs, nullptr },
- { "d7", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d7, LLDB_INVALID_REGNUM, 82, 82 }, g_d7_regs, nullptr },
- { "d8", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d8, LLDB_INVALID_REGNUM, 83, 83 }, g_d8_regs, nullptr },
- { "d9", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d9, LLDB_INVALID_REGNUM, 84, 84 }, g_d9_regs, nullptr },
- { "d10", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d10, LLDB_INVALID_REGNUM, 85, 85 }, g_d10_regs, nullptr },
- { "d11", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d11, LLDB_INVALID_REGNUM, 86, 86 }, g_d11_regs, nullptr },
- { "d12", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d12, LLDB_INVALID_REGNUM, 87, 87 }, g_d12_regs, nullptr },
- { "d13", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d13, LLDB_INVALID_REGNUM, 88, 88 }, g_d13_regs, nullptr },
- { "d14", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d14, LLDB_INVALID_REGNUM, 89, 89 }, g_d14_regs, nullptr },
- { "d15", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d15, LLDB_INVALID_REGNUM, 90, 90 }, g_d15_regs, nullptr },
- { "q0", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q0, LLDB_INVALID_REGNUM, 91, 91 }, g_q0_regs, nullptr },
- { "q1", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q1, LLDB_INVALID_REGNUM, 92, 92 }, g_q1_regs, nullptr },
- { "q2", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q2, LLDB_INVALID_REGNUM, 93, 93 }, g_q2_regs, nullptr },
- { "q3", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q3, LLDB_INVALID_REGNUM, 94, 94 }, g_q3_regs, nullptr },
- { "q4", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q4, LLDB_INVALID_REGNUM, 95, 95 }, g_q4_regs, nullptr },
- { "q5", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q5, LLDB_INVALID_REGNUM, 96, 96 }, g_q5_regs, nullptr },
- { "q6", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q6, LLDB_INVALID_REGNUM, 97, 97 }, g_q6_regs, nullptr },
- { "q7", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q7, LLDB_INVALID_REGNUM, 98, 98 }, g_q7_regs, nullptr },
- { "q8", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q8, LLDB_INVALID_REGNUM, 99, 99 }, g_q8_regs, nullptr },
- { "q9", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q9, LLDB_INVALID_REGNUM, 100, 100 }, g_q9_regs, nullptr },
- { "q10", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q10, LLDB_INVALID_REGNUM, 101, 101 }, g_q10_regs, nullptr },
- { "q11", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q11, LLDB_INVALID_REGNUM, 102, 102 }, g_q11_regs, nullptr },
- { "q12", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q12, LLDB_INVALID_REGNUM, 103, 103 }, g_q12_regs, nullptr },
- { "q13", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q13, LLDB_INVALID_REGNUM, 104, 104 }, g_q13_regs, nullptr },
- { "q14", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q14, LLDB_INVALID_REGNUM, 105, 105 }, g_q14_regs, nullptr },
- { "q15", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q15, LLDB_INVALID_REGNUM, 106, 106 }, g_q15_regs, nullptr }
+// NAME ALT SZ OFF ENCODING FORMAT EH_FRAME DWARF GENERIC PROCESS PLUGIN LLDB VALUE REGS INVALIDATE REGS SIZE EXPR SIZE LEN
+// ====== ====== === === ============= ========== =================== =================== ====================== ============= ==== ========== =============== ========= ========
+ { "r0", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r0, dwarf_r0, LLDB_REGNUM_GENERIC_ARG1,0, 0 }, nullptr, nullptr, nullptr, 0 },
+ { "r1", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r1, dwarf_r1, LLDB_REGNUM_GENERIC_ARG2,1, 1 }, nullptr, nullptr, nullptr, 0 },
+ { "r2", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r2, dwarf_r2, LLDB_REGNUM_GENERIC_ARG3,2, 2 }, nullptr, nullptr, nullptr, 0 },
+ { "r3", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r3, dwarf_r3, LLDB_REGNUM_GENERIC_ARG4,3, 3 }, nullptr, nullptr, nullptr, 0 },
+ { "r4", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r4, dwarf_r4, LLDB_INVALID_REGNUM, 4, 4 }, nullptr, nullptr, nullptr, 0 },
+ { "r5", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r5, dwarf_r5, LLDB_INVALID_REGNUM, 5, 5 }, nullptr, nullptr, nullptr, 0 },
+ { "r6", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r6, dwarf_r6, LLDB_INVALID_REGNUM, 6, 6 }, nullptr, nullptr, nullptr, 0 },
+ { "r7", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r7, dwarf_r7, LLDB_REGNUM_GENERIC_FP, 7, 7 }, nullptr, nullptr, nullptr, 0 },
+ { "r8", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r8, dwarf_r8, LLDB_INVALID_REGNUM, 8, 8 }, nullptr, nullptr, nullptr, 0 },
+ { "r9", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r9, dwarf_r9, LLDB_INVALID_REGNUM, 9, 9 }, nullptr, nullptr, nullptr, 0 },
+ { "r10", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r10, dwarf_r10, LLDB_INVALID_REGNUM, 10, 10 }, nullptr, nullptr, nullptr, 0 },
+ { "r11", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r11, dwarf_r11, LLDB_INVALID_REGNUM, 11, 11 }, nullptr, nullptr, nullptr, 0 },
+ { "r12", nullptr, 4, 0, eEncodingUint, eFormatHex, { ehframe_r12, dwarf_r12, LLDB_INVALID_REGNUM, 12, 12 }, nullptr, nullptr, nullptr, 0 },
+ { "sp", "r13", 4, 0, eEncodingUint, eFormatHex, { ehframe_sp, dwarf_sp, LLDB_REGNUM_GENERIC_SP, 13, 13 }, nullptr, nullptr, nullptr, 0 },
+ { "lr", "r14", 4, 0, eEncodingUint, eFormatHex, { ehframe_lr, dwarf_lr, LLDB_REGNUM_GENERIC_RA, 14, 14 }, nullptr, nullptr, nullptr, 0 },
+ { "pc", "r15", 4, 0, eEncodingUint, eFormatHex, { ehframe_pc, dwarf_pc, LLDB_REGNUM_GENERIC_PC, 15, 15 }, nullptr, nullptr, nullptr, 0 },
+ { "f0", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 16, 16 }, nullptr, nullptr, nullptr, 0 },
+ { "f1", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 17, 17 }, nullptr, nullptr, nullptr, 0 },
+ { "f2", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 18, 18 }, nullptr, nullptr, nullptr, 0 },
+ { "f3", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 19, 19 }, nullptr, nullptr, nullptr, 0 },
+ { "f4", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 20, 20 }, nullptr, nullptr, nullptr, 0 },
+ { "f5", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 21, 21 }, nullptr, nullptr, nullptr, 0 },
+ { "f6", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 22, 22 }, nullptr, nullptr, nullptr, 0 },
+ { "f7", nullptr, 12, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 23, 23 }, nullptr, nullptr, nullptr, 0 },
+ { "fps", nullptr, 4, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 24, 24 }, nullptr, nullptr, nullptr, 0 },
+ { "cpsr","flags", 4, 0, eEncodingUint, eFormatHex, { ehframe_cpsr, dwarf_cpsr, LLDB_INVALID_REGNUM, 25, 25 }, nullptr, nullptr, nullptr, 0 },
+ { "s0", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s0, LLDB_INVALID_REGNUM, 26, 26 }, nullptr, nullptr, nullptr, 0 },
+ { "s1", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s1, LLDB_INVALID_REGNUM, 27, 27 }, nullptr, nullptr, nullptr, 0 },
+ { "s2", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s2, LLDB_INVALID_REGNUM, 28, 28 }, nullptr, nullptr, nullptr, 0 },
+ { "s3", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s3, LLDB_INVALID_REGNUM, 29, 29 }, nullptr, nullptr, nullptr, 0 },
+ { "s4", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s4, LLDB_INVALID_REGNUM, 30, 30 }, nullptr, nullptr, nullptr, 0 },
+ { "s5", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s5, LLDB_INVALID_REGNUM, 31, 31 }, nullptr, nullptr, nullptr, 0 },
+ { "s6", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s6, LLDB_INVALID_REGNUM, 32, 32 }, nullptr, nullptr, nullptr, 0 },
+ { "s7", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s7, LLDB_INVALID_REGNUM, 33, 33 }, nullptr, nullptr, nullptr, 0 },
+ { "s8", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s8, LLDB_INVALID_REGNUM, 34, 34 }, nullptr, nullptr, nullptr, 0 },
+ { "s9", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s9, LLDB_INVALID_REGNUM, 35, 35 }, nullptr, nullptr, nullptr, 0 },
+ { "s10", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s10, LLDB_INVALID_REGNUM, 36, 36 }, nullptr, nullptr, nullptr, 0 },
+ { "s11", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s11, LLDB_INVALID_REGNUM, 37, 37 }, nullptr, nullptr, nullptr, 0 },
+ { "s12", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s12, LLDB_INVALID_REGNUM, 38, 38 }, nullptr, nullptr, nullptr, 0 },
+ { "s13", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s13, LLDB_INVALID_REGNUM, 39, 39 }, nullptr, nullptr, nullptr, 0 },
+ { "s14", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s14, LLDB_INVALID_REGNUM, 40, 40 }, nullptr, nullptr, nullptr, 0 },
+ { "s15", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s15, LLDB_INVALID_REGNUM, 41, 41 }, nullptr, nullptr, nullptr, 0 },
+ { "s16", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s16, LLDB_INVALID_REGNUM, 42, 42 }, nullptr, nullptr, nullptr, 0 },
+ { "s17", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s17, LLDB_INVALID_REGNUM, 43, 43 }, nullptr, nullptr, nullptr, 0 },
+ { "s18", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s18, LLDB_INVALID_REGNUM, 44, 44 }, nullptr, nullptr, nullptr, 0 },
+ { "s19", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s19, LLDB_INVALID_REGNUM, 45, 45 }, nullptr, nullptr, nullptr, 0 },
+ { "s20", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s20, LLDB_INVALID_REGNUM, 46, 46 }, nullptr, nullptr, nullptr, 0 },
+ { "s21", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s21, LLDB_INVALID_REGNUM, 47, 47 }, nullptr, nullptr, nullptr, 0 },
+ { "s22", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s22, LLDB_INVALID_REGNUM, 48, 48 }, nullptr, nullptr, nullptr, 0 },
+ { "s23", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s23, LLDB_INVALID_REGNUM, 49, 49 }, nullptr, nullptr, nullptr, 0 },
+ { "s24", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s24, LLDB_INVALID_REGNUM, 50, 50 }, nullptr, nullptr, nullptr, 0 },
+ { "s25", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s25, LLDB_INVALID_REGNUM, 51, 51 }, nullptr, nullptr, nullptr, 0 },
+ { "s26", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s26, LLDB_INVALID_REGNUM, 52, 52 }, nullptr, nullptr, nullptr, 0 },
+ { "s27", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s27, LLDB_INVALID_REGNUM, 53, 53 }, nullptr, nullptr, nullptr, 0 },
+ { "s28", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s28, LLDB_INVALID_REGNUM, 54, 54 }, nullptr, nullptr, nullptr, 0 },
+ { "s29", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s29, LLDB_INVALID_REGNUM, 55, 55 }, nullptr, nullptr, nullptr, 0 },
+ { "s30", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s30, LLDB_INVALID_REGNUM, 56, 56 }, nullptr, nullptr, nullptr, 0 },
+ { "s31", nullptr, 4, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_s31, LLDB_INVALID_REGNUM, 57, 57 }, nullptr, nullptr, nullptr, 0 },
+ { "fpscr",nullptr, 4, 0, eEncodingUint, eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, 58, 58 }, nullptr, nullptr, nullptr, 0 },
+ { "d16", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d16, LLDB_INVALID_REGNUM, 59, 59 }, nullptr, nullptr, nullptr, 0 },
+ { "d17", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d17, LLDB_INVALID_REGNUM, 60, 60 }, nullptr, nullptr, nullptr, 0 },
+ { "d18", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d18, LLDB_INVALID_REGNUM, 61, 61 }, nullptr, nullptr, nullptr, 0 },
+ { "d19", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d19, LLDB_INVALID_REGNUM, 62, 62 }, nullptr, nullptr, nullptr, 0 },
+ { "d20", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d20, LLDB_INVALID_REGNUM, 63, 63 }, nullptr, nullptr, nullptr, 0 },
+ { "d21", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d21, LLDB_INVALID_REGNUM, 64, 64 }, nullptr, nullptr, nullptr, 0 },
+ { "d22", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d22, LLDB_INVALID_REGNUM, 65, 65 }, nullptr, nullptr, nullptr, 0 },
+ { "d23", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d23, LLDB_INVALID_REGNUM, 66, 66 }, nullptr, nullptr, nullptr, 0 },
+ { "d24", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d24, LLDB_INVALID_REGNUM, 67, 67 }, nullptr, nullptr, nullptr, 0 },
+ { "d25", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d25, LLDB_INVALID_REGNUM, 68, 68 }, nullptr, nullptr, nullptr, 0 },
+ { "d26", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d26, LLDB_INVALID_REGNUM, 69, 69 }, nullptr, nullptr, nullptr, 0 },
+ { "d27", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d27, LLDB_INVALID_REGNUM, 70, 70 }, nullptr, nullptr, nullptr, 0 },
+ { "d28", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d28, LLDB_INVALID_REGNUM, 71, 71 }, nullptr, nullptr, nullptr, 0 },
+ { "d29", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d29, LLDB_INVALID_REGNUM, 72, 72 }, nullptr, nullptr, nullptr, 0 },
+ { "d30", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d30, LLDB_INVALID_REGNUM, 73, 73 }, nullptr, nullptr, nullptr, 0 },
+ { "d31", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d31, LLDB_INVALID_REGNUM, 74, 74 }, nullptr, nullptr, nullptr, 0 },
+ { "d0", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d0, LLDB_INVALID_REGNUM, 75, 75 }, g_d0_regs, nullptr, nullptr, 0 },
+ { "d1", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d1, LLDB_INVALID_REGNUM, 76, 76 }, g_d1_regs, nullptr, nullptr, 0 },
+ { "d2", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d2, LLDB_INVALID_REGNUM, 77, 77 }, g_d2_regs, nullptr, nullptr, 0 },
+ { "d3", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d3, LLDB_INVALID_REGNUM, 78, 78 }, g_d3_regs, nullptr, nullptr, 0 },
+ { "d4", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d4, LLDB_INVALID_REGNUM, 79, 79 }, g_d4_regs, nullptr, nullptr, 0 },
+ { "d5", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d5, LLDB_INVALID_REGNUM, 80, 80 }, g_d5_regs, nullptr, nullptr, 0 },
+ { "d6", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d6, LLDB_INVALID_REGNUM, 81, 81 }, g_d6_regs, nullptr, nullptr, 0 },
+ { "d7", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d7, LLDB_INVALID_REGNUM, 82, 82 }, g_d7_regs, nullptr, nullptr, 0 },
+ { "d8", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d8, LLDB_INVALID_REGNUM, 83, 83 }, g_d8_regs, nullptr, nullptr, 0 },
+ { "d9", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d9, LLDB_INVALID_REGNUM, 84, 84 }, g_d9_regs, nullptr, nullptr, 0 },
+ { "d10", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d10, LLDB_INVALID_REGNUM, 85, 85 }, g_d10_regs, nullptr, nullptr, 0 },
+ { "d11", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d11, LLDB_INVALID_REGNUM, 86, 86 }, g_d11_regs, nullptr, nullptr, 0 },
+ { "d12", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d12, LLDB_INVALID_REGNUM, 87, 87 }, g_d12_regs, nullptr, nullptr, 0 },
+ { "d13", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d13, LLDB_INVALID_REGNUM, 88, 88 }, g_d13_regs, nullptr, nullptr, 0 },
+ { "d14", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d14, LLDB_INVALID_REGNUM, 89, 89 }, g_d14_regs, nullptr, nullptr, 0 },
+ { "d15", nullptr, 8, 0, eEncodingIEEE754, eFormatFloat, { LLDB_INVALID_REGNUM, dwarf_d15, LLDB_INVALID_REGNUM, 90, 90 }, g_d15_regs, nullptr, nullptr, 0 },
+ { "q0", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q0, LLDB_INVALID_REGNUM, 91, 91 }, g_q0_regs, nullptr, nullptr, 0 },
+ { "q1", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q1, LLDB_INVALID_REGNUM, 92, 92 }, g_q1_regs, nullptr, nullptr, 0 },
+ { "q2", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q2, LLDB_INVALID_REGNUM, 93, 93 }, g_q2_regs, nullptr, nullptr, 0 },
+ { "q3", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q3, LLDB_INVALID_REGNUM, 94, 94 }, g_q3_regs, nullptr, nullptr, 0 },
+ { "q4", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q4, LLDB_INVALID_REGNUM, 95, 95 }, g_q4_regs, nullptr, nullptr, 0 },
+ { "q5", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q5, LLDB_INVALID_REGNUM, 96, 96 }, g_q5_regs, nullptr, nullptr, 0 },
+ { "q6", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q6, LLDB_INVALID_REGNUM, 97, 97 }, g_q6_regs, nullptr, nullptr, 0 },
+ { "q7", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q7, LLDB_INVALID_REGNUM, 98, 98 }, g_q7_regs, nullptr, nullptr, 0 },
+ { "q8", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q8, LLDB_INVALID_REGNUM, 99, 99 }, g_q8_regs, nullptr, nullptr, 0 },
+ { "q9", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q9, LLDB_INVALID_REGNUM, 100, 100 }, g_q9_regs, nullptr, nullptr, 0 },
+ { "q10", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q10, LLDB_INVALID_REGNUM, 101, 101 }, g_q10_regs, nullptr, nullptr, 0 },
+ { "q11", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q11, LLDB_INVALID_REGNUM, 102, 102 }, g_q11_regs, nullptr, nullptr, 0 },
+ { "q12", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q12, LLDB_INVALID_REGNUM, 103, 103 }, g_q12_regs, nullptr, nullptr, 0 },
+ { "q13", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q13, LLDB_INVALID_REGNUM, 104, 104 }, g_q13_regs, nullptr, nullptr, 0 },
+ { "q14", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q14, LLDB_INVALID_REGNUM, 105, 105 }, g_q14_regs, nullptr, nullptr, 0 },
+ { "q15", nullptr, 16, 0, eEncodingVector, eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, dwarf_q15, LLDB_INVALID_REGNUM, 106, 106 }, g_q15_regs, nullptr, nullptr, 0 }
};
// clang-format on
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 2b01da289d63..66e33592ba63 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -509,6 +509,17 @@ void ProcessGDBRemote::BuildDynamicRegisterInfo(bool force) {
SplitCommaSeparatedRegisterNumberString(value, reg_info.value_regs, 16);
} else if (name.equals("invalidate-regs")) {
SplitCommaSeparatedRegisterNumberString(value, reg_info.invalidate_regs, 16);
+ } else if (name.equals("dynamic_size_dwarf_expr_bytes")) {
+ size_t dwarf_opcode_len = value.size() / 2;
+ assert(dwarf_opcode_len > 0);
+
+ reg_info.dwarf_opcode_bytes.resize(dwarf_opcode_len);
+
+ StringExtractor opcode_extractor(value);
+ uint32_t ret_val =
+ opcode_extractor.GetHexBytesAvail(reg_info.dwarf_opcode_bytes);
+ assert(dwarf_opcode_len == ret_val);
+ UNUSED_IF_ASSERT_DISABLED(ret_val);
}
}
@@ -4297,6 +4308,17 @@ bool ParseRegisters(XMLNode feature_node, GdbServerTargetInfo &target_info,
} else if (name == "invalidate_regnums") {
SplitCommaSeparatedRegisterNumberString(
value, reg_info.invalidate_regs, 0);
+ } else if (name == "dynamic_size_dwarf_expr_bytes") {
+ std::string opcode_string = value.str();
+ size_t dwarf_opcode_len = opcode_string.length() / 2;
+ assert(dwarf_opcode_len > 0);
+
+ reg_info.dwarf_opcode_bytes.resize(dwarf_opcode_len);
+ StringExtractor opcode_extractor(opcode_string);
+ uint32_t ret_val =
+ opcode_extractor.GetHexBytesAvail(reg_info.dwarf_opcode_bytes);
+ assert(dwarf_opcode_len == ret_val);
+ UNUSED_IF_ASSERT_DISABLED(ret_val);
} else {
Log *log(ProcessGDBRemoteLog::GetLogIfAllCategoriesSet(
GDBR_LOG_PROCESS));
@@ -4524,6 +4546,10 @@ void ProcessGDBRemote::AddRemoteRegisters(
local_regnum},
regs_with_sentinel(remote_reg_info.value_regs),
regs_with_sentinel(remote_reg_info.invalidate_regs),
+ !remote_reg_info.dwarf_opcode_bytes.empty()
+ ? remote_reg_info.dwarf_opcode_bytes.data()
+ : nullptr,
+ remote_reg_info.dwarf_opcode_bytes.size(),
};
if (abi_sp)
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
index e61702227a34..962bb807d964 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -58,6 +58,7 @@ struct RemoteRegisterInfo {
uint32_t regnum_remote = LLDB_INVALID_REGNUM;
std::vector<uint32_t> value_regs;
std::vector<uint32_t> invalidate_regs;
+ std::vector<uint8_t> dwarf_opcode_bytes;
};
class ThreadGDBRemote;
diff --git a/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp b/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp
index 7184dbacb08d..7e309e8322a8 100644
--- a/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp
+++ b/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp
@@ -30,35 +30,36 @@ using namespace minidump;
#define DEF_R(i) \
{ \
"r" #i, nullptr, 4, OFFSET(r) + i * 4, eEncodingUint, eFormatHex, \
- {ehframe_r##i, dwarf_r##i, INV, INV, reg_r##i}, nullptr, nullptr, \
+ {ehframe_r##i, dwarf_r##i, INV, INV, reg_r##i}, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEF_R_ARG(i, n) \
{ \
"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, \
+ {ehframe_r##i, dwarf_r##i, LLDB_REGNUM_GENERIC_ARG1 + i, INV, reg_r##i}, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEF_D(i) \
{ \
"d" #i, nullptr, 8, OFFSET(d) + i * 8, eEncodingVector, \
eFormatVectorOfUInt8, {dwarf_d##i, dwarf_d##i, INV, INV, reg_d##i}, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEF_S(i) \
{ \
"s" #i, nullptr, 4, OFFSET(s) + i * 4, eEncodingIEEE754, eFormatFloat, \
- {dwarf_s##i, dwarf_s##i, INV, INV, reg_s##i}, nullptr, nullptr, \
+ {dwarf_s##i, dwarf_s##i, INV, INV, reg_s##i}, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEF_Q(i) \
{ \
"q" #i, nullptr, 16, OFFSET(q) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {dwarf_q##i, dwarf_q##i, INV, INV, reg_q##i}, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
// Zero based LLDB register numbers for this register context
@@ -176,7 +177,8 @@ static RegisterInfo g_reg_info_apple_fp = {
{ehframe_r7, dwarf_r7, LLDB_REGNUM_GENERIC_FP, INV, reg_r7},
nullptr,
nullptr,
-};
+ nullptr,
+ 0};
static RegisterInfo g_reg_info_fp = {
"fp",
@@ -188,7 +190,8 @@ static RegisterInfo g_reg_info_fp = {
{ehframe_r11, dwarf_r11, LLDB_REGNUM_GENERIC_FP, INV, reg_r11},
nullptr,
nullptr,
-};
+ nullptr,
+ 0};
// Register info definitions for this register context
static RegisterInfo g_reg_infos[] = {
@@ -214,7 +217,8 @@ static RegisterInfo g_reg_infos[] = {
{ehframe_sp, dwarf_sp, LLDB_REGNUM_GENERIC_SP, INV, reg_sp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"r14",
4,
@@ -224,7 +228,8 @@ static RegisterInfo g_reg_infos[] = {
{ehframe_lr, dwarf_lr, LLDB_REGNUM_GENERIC_RA, INV, reg_lr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
"r15",
4,
@@ -234,7 +239,8 @@ static RegisterInfo g_reg_infos[] = {
{ehframe_pc, dwarf_pc, LLDB_REGNUM_GENERIC_PC, INV, reg_pc},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"cpsr",
"psr",
4,
@@ -244,7 +250,8 @@ static RegisterInfo g_reg_infos[] = {
{ehframe_cpsr, dwarf_cpsr, LLDB_REGNUM_GENERIC_FLAGS, INV, reg_cpsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fpscr",
nullptr,
8,
@@ -254,7 +261,8 @@ static RegisterInfo g_reg_infos[] = {
{INV, INV, INV, INV, reg_fpscr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
DEF_D(0),
DEF_D(1),
DEF_D(2),
diff --git a/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp b/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
index e606ec9c3b64..e2b7c0e362a7 100644
--- a/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
+++ b/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
@@ -29,48 +29,48 @@ using namespace minidump;
{ \
"x" #i, nullptr, 8, OFFSET(x) + i * 8, eEncodingUint, eFormatHex, \
{arm64_dwarf::x##i, arm64_dwarf::x##i, INV, INV, reg_x##i}, \
- nullptr, nullptr, \
+ nullptr, nullptr, nullptr, 0 \
}
#define DEF_W(i) \
{ \
"w" #i, nullptr, 4, OFFSET(x) + i * 8, eEncodingUint, eFormatHex, \
- {INV, INV, INV, INV, reg_w##i}, nullptr, nullptr, \
+ {INV, INV, INV, INV, reg_w##i}, nullptr, nullptr, nullptr, 0 \
}
#define DEF_X_ARG(i, n) \
{ \
"x" #i, "arg" #n, 8, OFFSET(x) + i * 8, eEncodingUint, eFormatHex, \
{arm64_dwarf::x##i, arm64_dwarf::x##i, LLDB_REGNUM_GENERIC_ARG1 + i, \
- INV, reg_x##i}, nullptr, nullptr, \
+ INV, reg_x##i}, nullptr, nullptr, nullptr, 0 \
}
#define DEF_V(i) \
{ \
"v" #i, nullptr, 16, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {arm64_dwarf::v##i, arm64_dwarf::v##i, INV, INV, \
- reg_v##i}, nullptr, nullptr, \
+ reg_v##i}, nullptr, nullptr, nullptr, 0 \
}
#define DEF_D(i) \
{ \
"d" #i, nullptr, 8, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {INV, INV, INV, INV, reg_d##i}, nullptr, \
- nullptr, \
+ nullptr, nullptr, 0 \
}
#define DEF_S(i) \
{ \
"s" #i, nullptr, 4, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {INV, INV, INV, INV, reg_s##i}, nullptr, \
- nullptr, \
+ nullptr, nullptr, 0 \
}
#define DEF_H(i) \
{ \
"h" #i, nullptr, 2, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {INV, INV, INV, INV, reg_h##i}, nullptr, \
- nullptr, \
+ nullptr, nullptr, 0 \
}
// Zero based LLDB register numbers for this register context
@@ -316,7 +316,8 @@ static RegisterInfo g_reg_infos[] = {
{arm64_dwarf::x29, arm64_dwarf::x29, LLDB_REGNUM_GENERIC_FP, INV, reg_fp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"lr",
"x30",
8,
@@ -326,7 +327,8 @@ static RegisterInfo g_reg_infos[] = {
{arm64_dwarf::x30, arm64_dwarf::x30, LLDB_REGNUM_GENERIC_RA, INV, reg_lr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"sp",
"x31",
8,
@@ -336,7 +338,8 @@ static RegisterInfo g_reg_infos[] = {
{arm64_dwarf::x31, arm64_dwarf::x31, LLDB_REGNUM_GENERIC_SP, INV, reg_sp},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"pc",
nullptr,
8,
@@ -346,7 +349,8 @@ static RegisterInfo g_reg_infos[] = {
{arm64_dwarf::pc, arm64_dwarf::pc, LLDB_REGNUM_GENERIC_PC, INV, reg_pc},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// w0 - w31
DEF_W(0),
DEF_W(1),
@@ -389,7 +393,8 @@ static RegisterInfo g_reg_infos[] = {
{INV, arm64_dwarf::cpsr, LLDB_REGNUM_GENERIC_FLAGS, INV, reg_cpsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fpsr",
nullptr,
4,
@@ -399,7 +404,8 @@ static RegisterInfo g_reg_infos[] = {
{INV, INV, INV, INV, reg_fpsr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
{"fpcr",
nullptr,
4,
@@ -409,7 +415,8 @@ static RegisterInfo g_reg_infos[] = {
{INV, INV, INV, INV, reg_fpcr},
nullptr,
nullptr,
- },
+ nullptr,
+ 0},
// v0 - v31
DEF_V(0),
DEF_V(1),
diff --git a/lldb/source/Target/DynamicRegisterInfo.cpp b/lldb/source/Target/DynamicRegisterInfo.cpp
index 396a13d6add4..2dbaa7d56c03 100644
--- a/lldb/source/Target/DynamicRegisterInfo.cpp
+++ b/lldb/source/Target/DynamicRegisterInfo.cpp
@@ -42,6 +42,7 @@ void DynamicRegisterInfo::MoveFrom(DynamicRegisterInfo &&info) {
m_set_names = std::move(info.m_set_names);
m_value_regs_map = std::move(info.m_value_regs_map);
m_invalidate_regs_map = std::move(info.m_invalidate_regs_map);
+ m_dynamic_reg_size_map = std::move(info.m_dynamic_reg_size_map);
m_reg_data_byte_size = info.m_reg_data_byte_size;
m_finalized = info.m_finalized;
@@ -272,6 +273,25 @@ DynamicRegisterInfo::SetRegisterInfo(const StructuredData::Dictionary &dict,
reg_info.byte_size = bitsize / 8;
+ llvm::StringRef dwarf_opcode_string;
+ if (reg_info_dict->GetValueForKeyAsString("dynamic_size_dwarf_expr_bytes",
+ dwarf_opcode_string)) {
+ reg_info.dynamic_size_dwarf_len = dwarf_opcode_string.size() / 2;
+ assert(reg_info.dynamic_size_dwarf_len > 0);
+
+ std::vector<uint8_t> dwarf_opcode_bytes(reg_info.dynamic_size_dwarf_len);
+ uint32_t j;
+ StringExtractor opcode_extractor(dwarf_opcode_string);
+ uint32_t ret_val = opcode_extractor.GetHexBytesAvail(dwarf_opcode_bytes);
+ UNUSED_IF_ASSERT_DISABLED(ret_val);
+ assert(ret_val == reg_info.dynamic_size_dwarf_len);
+
+ for (j = 0; j < reg_info.dynamic_size_dwarf_len; ++j)
+ m_dynamic_reg_size_map[i].push_back(dwarf_opcode_bytes[j]);
+
+ reg_info.dynamic_size_dwarf_expr_bytes = m_dynamic_reg_size_map[i].data();
+ }
+
llvm::StringRef format_str;
if (reg_info_dict->GetValueForKeyAsString("format", format_str, nullptr)) {
if (OptionArgParser::ToFormat(format_str.str().c_str(), reg_info.format,
@@ -399,6 +419,14 @@ void DynamicRegisterInfo::AddRegister(RegisterInfo reg_info,
// invalidate until Finalize() is called
reg_info.invalidate_regs = nullptr;
}
+ if (reg_info.dynamic_size_dwarf_expr_bytes) {
+ for (i = 0; i < reg_info.dynamic_size_dwarf_len; ++i)
+ m_dynamic_reg_size_map[reg_num].push_back(
+ reg_info.dynamic_size_dwarf_expr_bytes[i]);
+
+ reg_info.dynamic_size_dwarf_expr_bytes =
+ m_dynamic_reg_size_map[reg_num].data();
+ }
m_regs.push_back(reg_info);
uint32_t set = GetRegisterSetIndexByName(set_name, true);
@@ -745,6 +773,7 @@ void DynamicRegisterInfo::Clear() {
m_set_names.clear();
m_value_regs_map.clear();
m_invalidate_regs_map.clear();
+ m_dynamic_reg_size_map.clear();
m_reg_data_byte_size = 0;
m_finalized = false;
}
diff --git a/lldb/source/Target/RegisterContext.cpp b/lldb/source/Target/RegisterContext.cpp
index 7364660650e8..0e50e650dd23 100644
--- a/lldb/source/Target/RegisterContext.cpp
+++ b/lldb/source/Target/RegisterContext.cpp
@@ -77,6 +77,44 @@ RegisterContext::GetRegisterInfoByName(llvm::StringRef reg_name,
return nullptr;
}
+uint32_t
+RegisterContext::UpdateDynamicRegisterSize(const lldb_private::ArchSpec &arch,
+ RegisterInfo *reg_info) {
+ ExecutionContext exe_ctx(CalculateThread());
+
+ // In MIPS, the floating point registers size is depends on FR bit of SR
+ // register. if SR.FR == 1 then all floating point registers are 64 bits.
+ // else they are all 32 bits.
+
+ int expr_result;
+ uint32_t addr_size = arch.GetAddressByteSize();
+ const uint8_t *dwarf_opcode_ptr = reg_info->dynamic_size_dwarf_expr_bytes;
+ const size_t dwarf_opcode_len = reg_info->dynamic_size_dwarf_len;
+
+ DataExtractor dwarf_data(dwarf_opcode_ptr, dwarf_opcode_len,
+ arch.GetByteOrder(), addr_size);
+ ModuleSP opcode_ctx;
+ DWARFExpression dwarf_expr(opcode_ctx, dwarf_data, nullptr);
+ Value result;
+ Status error;
+ if (dwarf_expr.Evaluate(&exe_ctx, this, opcode_ctx, dwarf_data, nullptr,
+ eRegisterKindDWARF, nullptr, nullptr, result,
+ &error)) {
+ expr_result = result.GetScalar().SInt(-1);
+ switch (expr_result) {
+ case 0:
+ return 4;
+ case 1:
+ return 8;
+ default:
+ return reg_info->byte_size;
+ }
+ } else {
+ printf("Error executing DwarfExpression::Evaluate %s\n", error.AsCString());
+ return reg_info->byte_size;
+ }
+}
+
const RegisterInfo *RegisterContext::GetRegisterInfo(lldb::RegisterKind kind,
uint32_t num) {
const uint32_t reg_num = ConvertRegisterKindToRegisterNumber(kind, num);
diff --git a/lldb/unittests/Target/DynamicRegisterInfoTest.cpp b/lldb/unittests/Target/DynamicRegisterInfoTest.cpp
index a4884440a50c..14a34dde2834 100644
--- a/lldb/unittests/Target/DynamicRegisterInfoTest.cpp
+++ b/lldb/unittests/Target/DynamicRegisterInfoTest.cpp
@@ -37,7 +37,7 @@ class DynamicRegisterInfoTest : public ::testing::Test {
lldb::eFormatUnsigned,
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
next_regnum, next_regnum},
- nullptr, nullptr
+ nullptr, nullptr, nullptr, 0
};
if (!value_regs.empty()) {
@@ -140,7 +140,7 @@ TEST_F(DynamicRegisterInfoTest, add_supplementary_register) {
lldb::eFormatUnsigned,
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, eax,
eax},
- value_regs, nullptr
+ value_regs, nullptr, nullptr, 0
};
info.AddSupplementaryRegister(eax_reg, group);
@@ -148,7 +148,7 @@ TEST_F(DynamicRegisterInfoTest, add_supplementary_register) {
"ax", nullptr, 2, LLDB_INVALID_INDEX32, lldb::eEncodingUint,
lldb::eFormatUnsigned,
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, ax, ax},
- value_regs, nullptr
+ value_regs, nullptr, nullptr, 0
};
info.AddSupplementaryRegister(ax_reg, group);
@@ -156,7 +156,7 @@ TEST_F(DynamicRegisterInfoTest, add_supplementary_register) {
"al", nullptr, 1, LLDB_INVALID_INDEX32, lldb::eEncodingUint,
lldb::eFormatUnsigned,
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, al, al},
- value_regs, nullptr
+ value_regs, nullptr, nullptr, 0
};
info.AddSupplementaryRegister(al_reg, group);
diff --git a/lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp b/lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
index 61d4e8147a39..77bc3a5e6eef 100644
--- a/lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
+++ b/lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
@@ -157,6 +157,8 @@ Expected<RegisterInfo> RegisterInfoParser::create(StringRef Response) {
},
nullptr,
nullptr,
+ nullptr, // Dwarf expression opcode bytes pointer
+ 0 // Dwarf expression opcode bytes length
};
Info.name = ConstString(Elements["name"]).GetCString();
if (!Info.name)
More information about the lldb-commits
mailing list