diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp')
| -rw-r--r-- | lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp | 11 |
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: |

