Linux ARM64: add ProcessMonitor-related RegisterContext support.

See http://reviews.llvm.org/D5089 for more details.

Change by Paul Osmialowski.

llvm-svn: 216907
This commit is contained in:
Todd Fiala
2014-09-02 14:50:01 +00:00
parent 26411d6929
commit c5c4e3a35b
7 changed files with 996 additions and 0 deletions

View File

@@ -30,6 +30,7 @@
#include "ProcessPOSIX.h"
#include "ProcessPOSIXLog.h"
#include "ProcessMonitor.h"
#include "RegisterContextPOSIXProcessMonitor_arm64.h"
#include "RegisterContextPOSIXProcessMonitor_mips64.h"
#include "RegisterContextPOSIXProcessMonitor_x86.h"
#include "RegisterContextLinux_arm64.h"
@@ -211,6 +212,13 @@ POSIXThread::GetRegisterContext()
switch (target_arch.GetMachine())
{
case llvm::Triple::aarch64:
{
RegisterContextPOSIXProcessMonitor_arm64 *reg_ctx = new RegisterContextPOSIXProcessMonitor_arm64(*this, 0, reg_interface);
m_posix_thread = reg_ctx;
m_reg_context_sp.reset(reg_ctx);
break;
}
case llvm::Triple::mips64:
{
RegisterContextPOSIXProcessMonitor_mips64 *reg_ctx = new RegisterContextPOSIXProcessMonitor_mips64(*this, 0, reg_interface);
@@ -611,6 +619,7 @@ POSIXThread::GetRegisterIndexFromOffset(unsigned offset)
llvm_unreachable("CPU type not supported!");
break;
case llvm::Triple::aarch64:
case llvm::Triple::mips64:
case llvm::Triple::x86:
case llvm::Triple::x86_64:
@@ -641,6 +650,7 @@ POSIXThread::GetRegisterName(unsigned reg)
assert(false && "CPU type not supported!");
break;
case llvm::Triple::aarch64:
case llvm::Triple::mips64:
case llvm::Triple::x86:
case llvm::Triple::x86_64: