llvm-project/lldb/source/Plugins/Process/Utility
Muhammad Omair Javaid d6d3d21cd1 [LLDB] Add support for Arm64/Linux dynamic register sets
This is patch adds support for adding dynamic register sets for
AArch64 dynamic features in LLDB. AArch64 has optional features like
SVE, Pointer Authentication and MTE which means LLDB needs to decide
at run time which registers it needs to pull in for the current
executable based on underlying support for a certain feature.

This patch makes necessary adjustments to make way for dynamic
register infos and dynamic register sets.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D96458
2021-03-31 04:38:36 +05:00
..
ARMDefines.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
ARMUtils.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
AuxVector.cpp [LLDB] Define AUXV_AT_HWCAP2 in AuxVector.h 2021-01-25 20:48:16 +05:00
AuxVector.h [LLDB] Define AUXV_AT_HWCAP2 in AuxVector.h 2021-01-25 20:48:16 +05:00
CMakeLists.txt [lldb] Remove linux/mips debugging support 2021-03-30 15:24:43 +02:00
DynamicRegisterInfo.cpp Use remote regnums in expedited list, value regs and invalidate regs 2021-02-08 14:09:15 +05:00
DynamicRegisterInfo.h Use remote regnums in expedited list, value regs and invalidate regs 2021-02-08 14:09:15 +05:00
FreeBSDSignals.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
FreeBSDSignals.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
GDBRemoteSignals.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
GDBRemoteSignals.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
HistoryThread.cpp [lldb] Use std::make_unique<> (NFC) 2020-06-24 17:48:40 -07:00
HistoryThread.h [lldb/MemoryHistoryAsan] Fix address resolution for recorded backtraces 2020-03-18 13:18:02 -07:00
HistoryUnwind.cpp [lldb/MemoryHistoryAsan] Fix address resolution for recorded backtraces 2020-03-18 13:18:02 -07:00
HistoryUnwind.h [lldb/MemoryHistoryAsan] Fix address resolution for recorded backtraces 2020-03-18 13:18:02 -07:00
InferiorCallPOSIX.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
InferiorCallPOSIX.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
InstructionUtils.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
LinuxPTraceDefines_arm64sve.h Convert SVE macros into c++ constants and inlines 2020-08-19 12:28:16 +05:00
LinuxProcMaps.cpp [lldb][AArch64/Linux] Show memory tagged memory regions 2020-11-20 11:21:59 +00:00
LinuxProcMaps.h [lldb][AArch64/Linux] Show memory tagged memory regions 2020-11-20 11:21:59 +00:00
LinuxSignals.cpp [lldb] Format remaining signal table (NFC) 2020-10-08 21:51:41 -07:00
LinuxSignals.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
MipsLinuxSignals.cpp [lldb] Format remaining signal table (NFC) 2020-10-08 21:51:41 -07:00
MipsLinuxSignals.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
NativeProcessSoftwareSingleStep.cpp [lldb] [Process/FreeBSDRemote] Introduce mips64 support 2021-02-08 18:27:26 +01:00
NativeProcessSoftwareSingleStep.h [lldb] [Process/FreeBSDRemote] Introduce mips64 support 2021-02-08 18:27:26 +01:00
NativeRegisterContextDBReg_arm64.cpp [lldb] [Process/FreeBSD] Introduce aarch64 hw break/watchpoint support 2021-03-10 18:36:19 +01:00
NativeRegisterContextDBReg_arm64.h [lldb] [Process/FreeBSD] Introduce aarch64 hw break/watchpoint support 2021-03-10 18:36:19 +01:00
NativeRegisterContextDBReg_x86.cpp [lldb] Rename NativeRegisterContext{Watchpoint => DBReg}_x86 2021-03-01 16:23:36 +01:00
NativeRegisterContextDBReg_x86.h [lldb] Rename NativeRegisterContext{Watchpoint => DBReg}_x86 2021-03-01 16:23:36 +01:00
NativeRegisterContextRegisterInfo.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
NativeRegisterContextRegisterInfo.h Combine multiple defs of arm64 register sets 2020-07-07 20:25:02 +05:00
NetBSDSignals.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
NetBSDSignals.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextDarwinConstants.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextDarwin_arm.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextDarwin_arm.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextDarwin_arm64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextDarwin_arm64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextDarwin_i386.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextDarwin_i386.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextDarwin_x86_64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextDarwin_x86_64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextDummy.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextDummy.h [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
RegisterContextFreeBSD_i386.cpp [lldb] [Process/Utility] Fix DR offsets for FreeBSD 2020-11-12 14:09:03 +01:00
RegisterContextFreeBSD_i386.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextFreeBSD_mips64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextFreeBSD_mips64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextFreeBSD_powerpc.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextFreeBSD_powerpc.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextFreeBSD_x86_64.cpp [lldb] [Process/Utility] Fix DR offsets for FreeBSD 2020-11-12 14:09:03 +01:00
RegisterContextFreeBSD_x86_64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextHistory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextHistory.h [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
RegisterContextLinux_i386.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextLinux_i386.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextLinux_s390x.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextLinux_s390x.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextLinux_x86_64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextLinux_x86_64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextMach_arm.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextMach_arm.h [lldb][NFC] Add 'override' where missing in source/ and tools/ 2020-07-15 11:34:47 -07:00
RegisterContextMach_i386.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextMach_i386.h [lldb][NFC] Add 'override' where missing in source/ and tools/ 2020-07-15 11:34:47 -07:00
RegisterContextMach_x86_64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextMach_x86_64.h [lldb][NFC] Add 'override' where missing in source/ and tools/ 2020-07-15 11:34:47 -07:00
RegisterContextMemory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextMemory.h [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
RegisterContextNetBSD_i386.cpp [lldb] Introduce i386 support in NetBSD Process plugin 2020-02-05 13:31:06 +01:00
RegisterContextNetBSD_i386.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextNetBSD_x86_64.cpp [lldb] Improve debugging 32-bit programs on NetBSD/amd64 2020-02-07 17:48:33 +01:00
RegisterContextNetBSD_x86_64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextOpenBSD_i386.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextOpenBSD_i386.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextOpenBSD_x86_64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextOpenBSD_x86_64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextPOSIX_arm.cpp Move NativeRegisterContextLinux/RegisterContextPOSIX*_arm to RegisterInfoAndSetInterface 2020-09-07 09:06:46 +05:00
RegisterContextPOSIX_arm.h [lldb] Remove bogus ProcessMonitor forward-decls 2020-10-14 16:43:45 +02:00
RegisterContextPOSIX_arm64.cpp [LLDB] Add support for Arm64/Linux dynamic register sets 2021-03-31 04:38:36 +05:00
RegisterContextPOSIX_arm64.h [lldb] Remove bogus ProcessMonitor forward-decls 2020-10-14 16:43:45 +02:00
RegisterContextPOSIX_mips64.cpp [lldb] Remove linux/mips debugging support 2021-03-30 15:24:43 +02:00
RegisterContextPOSIX_mips64.h [lldb] Remove bogus ProcessMonitor forward-decls 2020-10-14 16:43:45 +02:00
RegisterContextPOSIX_powerpc.cpp Remove code duplication from RegisterContextPOSIX_* 2020-06-18 01:02:46 +05:00
RegisterContextPOSIX_powerpc.h [lldb] Remove bogus ProcessMonitor forward-decls 2020-10-14 16:43:45 +02:00
RegisterContextPOSIX_ppc64le.cpp Remove code duplication from RegisterContextPOSIX_* 2020-06-18 01:02:46 +05:00
RegisterContextPOSIX_ppc64le.h Remove code duplication from RegisterContextPOSIX_* 2020-06-18 01:02:46 +05:00
RegisterContextPOSIX_s390x.cpp Remove code duplication from RegisterContextPOSIX_* 2020-06-18 01:02:46 +05:00
RegisterContextPOSIX_s390x.h [lldb] Remove bogus ProcessMonitor forward-decls 2020-10-14 16:43:45 +02:00
RegisterContextPOSIX_x86.cpp [lldb] [Process/Utility] Declare register overlaps between ST and MM 2020-11-23 09:23:14 +01:00
RegisterContextPOSIX_x86.h [lldb] [Process/Utility] Declare register overlaps between ST and MM 2020-11-23 09:23:14 +01:00
RegisterContextThreadMemory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextThreadMemory.h [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
RegisterContextWindows_i386.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextWindows_i386.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContextWindows_x86_64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextWindows_x86_64.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContext_mips.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContext_powerpc.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContext_s390x.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterContext_x86.cpp [lldb] Reland "Use translated full ftag values" 2020-11-21 17:11:38 +01:00
RegisterContext_x86.h [lldb] Reland "Use translated full ftag values" 2020-11-21 17:11:38 +01:00
RegisterInfoAndSetInterface.h Combine multiple defs of arm64 register sets 2020-07-07 20:25:02 +05:00
RegisterInfoInterface.h [lldb] Remove redundant access specifiers (NFC) 2020-06-15 21:34:13 -07:00
RegisterInfoPOSIX_arm.cpp Move NativeRegisterContextLinux/RegisterContextPOSIX*_arm to RegisterInfoAndSetInterface 2020-09-07 09:06:46 +05:00
RegisterInfoPOSIX_arm.h Move NativeRegisterContextLinux/RegisterContextPOSIX*_arm to RegisterInfoAndSetInterface 2020-09-07 09:06:46 +05:00
RegisterInfoPOSIX_arm64.cpp [LLDB] Add support for Arm64/Linux dynamic register sets 2021-03-31 04:38:36 +05:00
RegisterInfoPOSIX_arm64.h [LLDB] Add support for Arm64/Linux dynamic register sets 2021-03-31 04:38:36 +05:00
RegisterInfoPOSIX_ppc64le.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterInfoPOSIX_ppc64le.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
RegisterInfos_arm.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterInfos_arm64.h Minor fixups to LLDB AArch64 register infos macros for SVE register infos 2020-07-08 01:07:17 +05:00
RegisterInfos_arm64_sve.h [LLDB] Remove leftovers and typos from RegisterInfos_arm64_sve.h 2021-01-25 20:48:15 +05:00
RegisterInfos_i386.h [lldb] [Process/Utility] Declare register overlaps between ST and MM 2020-11-23 09:23:14 +01:00
RegisterInfos_mips.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterInfos_mips64.h [lldb] Remove linux/mips debugging support 2021-03-30 15:24:43 +02:00
RegisterInfos_powerpc.h [lldb] [Process/FreeBSDRemote] Introduce powerpc support 2021-02-09 21:10:45 +01:00
RegisterInfos_ppc64.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterInfos_ppc64le.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterInfos_s390x.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RegisterInfos_x86_64.h [lldb] [Process/Utility] Declare register overlaps between ST and MM 2020-11-23 09:23:14 +01:00
StopInfoMachException.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
StopInfoMachException.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
ThreadMemory.cpp [lldb] Return Unwinder& from Thread::GetUnwinder 2020-03-09 14:13:22 +01:00
ThreadMemory.h [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
lldb-arm-register-enums.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-arm64-register-enums.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-mips-freebsd-register-enums.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-ppc64-register-enums.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-ppc64le-register-enums.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-s390x-register-enums.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-x86-register-enums.h [lldb] Add explicit 64-bit fip/fdp registers on x86_64 2020-11-19 13:23:12 +01:00