diff options
| author | Martin Storsjo <martin@martin.st> | 2019-10-15 08:31:52 +0000 |
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2019-10-15 08:31:52 +0000 |
| commit | b1f6ba2a2ecdf253c1ee2f2a04156eba78cfe3fa (patch) | |
| tree | 12c30dbf9168c5c60af7e895ff542d1d4273b22b /lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp | |
| parent | da92ed8365aa5506c4991b9075f57aeeb7f6f70a (diff) | |
[LLDB] [Windows] Initial support for ARM64 register contexts
Differential Revision: https://reviews.llvm.org/D67954
llvm-svn: 374866
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 8fca982da14e..416abed88230 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: |
