From b71e89e9afe62137e6095bb8649412ca6be8c7e8 Mon Sep 17 00:00:00 2001 From: Todd Fiala Date: Fri, 29 Aug 2014 16:01:35 +0000 Subject: lldb - Register Context Linux ARM64 Yet another step toward ARM64 support. With this commit, lldb-gdbserver started on ARM64 target can be accessed by lldb running on desktop PC and it can process simple commands (like 'continue'). Still ARM64 support lacks NativeRegisterContextLinux_arm64.* code which waits to be implemented. Based on similar files for Linux x86_64 and Darwin ARM64. Due to common code extraction from Darwin related files, lldb should be tested for any unexpected regression on Darwin ARM64 machines too. See the following for more details: http://reviews.llvm.org/D4580 http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140825/012670.html Change by Paul Osmialowski. llvm-svn: 216737 --- lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp') diff --git a/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp index eeef780d1726..d9e80d6c4595 100644 --- a/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp @@ -20,6 +20,7 @@ #include "lldb/Host/HostInfo.h" #include "lldb/lldb-enumerations.h" #include "lldb/lldb-private-log.h" +#include "Plugins/Process/Utility/RegisterContextLinux_arm64.h" #include "Plugins/Process/Utility/RegisterContextLinux_i386.h" #include "Plugins/Process/Utility/RegisterContextLinux_x86_64.h" #include "Plugins/Process/Utility/RegisterInfoInterface.h" @@ -130,6 +131,10 @@ NativeThreadLinux::GetRegisterContext () case llvm::Triple::Linux: switch (target_arch.GetMachine()) { + case llvm::Triple::aarch64: + assert((HostInfo::GetArchitecture ().GetAddressByteSize() == 8) && "Register setting path assumes this is a 64-bit host"); + reg_interface = static_cast(new RegisterContextLinux_arm64(target_arch)); + break; case llvm::Triple::x86: case llvm::Triple::x86_64: if (HostInfo::GetArchitecture().GetAddressByteSize() == 4) -- cgit v1.2.3