summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp')
-rw-r--r--lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
index 8fca982da14..416abed8823 100644
--- a/lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
@@ -20,11 +20,13 @@
#include "ProcessWindowsLog.h"
#include "TargetThreadWindows.h"
-// TODO support _M_ARM and _M_ARM64
+// TODO support _M_ARM
#if defined(__x86_64__) || defined(_M_AMD64)
#include "x64/RegisterContextWindows_x64.h"
#elif defined(__i386__) || defined(_M_IX86)
#include "x86/RegisterContextWindows_x86.h"
+#elif defined(__aarch64__) || defined(_M_ARM64)
+#include "arm64/RegisterContextWindows_arm64.h"
#endif
using namespace lldb;
@@ -73,7 +75,12 @@ TargetThreadWindows::CreateRegisterContextForFrame(StackFrame *frame) {
break;
case llvm::Triple::aarch64:
- LLDB_LOG(log, "debugging ARM64 targets is currently unsupported");
+#if defined(__aarch64__) || defined(_M_ARM64)
+ m_thread_reg_ctx_sp.reset(
+ new RegisterContextWindows_arm64(*this, concrete_frame_idx));
+#else
+ LLDB_LOG(log, "debugging foreign targets is currently unsupported");
+#endif
break;
case llvm::Triple::x86:
OpenPOWER on IntegriCloud