summaryrefslogtreecommitdiff
path: root/tools/lldb-server/SystemInitializerLLGS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-server/SystemInitializerLLGS.cpp')
-rw-r--r--tools/lldb-server/SystemInitializerLLGS.cpp55
1 files changed, 48 insertions, 7 deletions
diff --git a/tools/lldb-server/SystemInitializerLLGS.cpp b/tools/lldb-server/SystemInitializerLLGS.cpp
index 93ef4d9d0761..b93e6b40dcd9 100644
--- a/tools/lldb-server/SystemInitializerLLGS.cpp
+++ b/tools/lldb-server/SystemInitializerLLGS.cpp
@@ -1,9 +1,8 @@
//===-- SystemInitializerLLGS.cpp -------------------------------*- C++ -*-===//
//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
@@ -20,19 +19,61 @@ using HostObjectFile = ObjectFilePECOFF;
using HostObjectFile = ObjectFileELF;
#endif
+#if defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
+#define LLDB_TARGET_ARM64
+#endif
+
+#if defined(__arm__) || defined(__arm) || defined(_ARM) || defined(_M_ARM) || \
+ defined(LLDB_TARGET_ARM64)
+#define LLDB_TARGET_ARM
+#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
+#endif
+
+#if defined(__mips64__) || defined(mips64) || defined(__mips64) || \
+ defined(__MIPS64__) || defined(_M_MIPS64)
+#define LLDB_TARGET_MIPS64
+#include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
+#endif
+
+#if defined(__mips__) || defined(mips) || defined(__mips) || \
+ defined(__MIPS__) || defined(_M_MIPS) || defined(LLDB_TARGET_MIPS64)
+#define LLDB_TARGET_MIPS
+#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
+#endif
+
using namespace lldb_private;
-llvm::Error
-SystemInitializerLLGS::Initialize(const InitializerOptions &options) {
- if (auto e = SystemInitializerCommon::Initialize(options))
+llvm::Error SystemInitializerLLGS::Initialize() {
+ if (auto e = SystemInitializerCommon::Initialize())
return e;
HostObjectFile::Initialize();
+#if defined(LLDB_TARGET_ARM) || defined(LLDB_TARGET_ARM64)
+ EmulateInstructionARM::Initialize();
+#endif
+#if defined(LLDB_TARGET_MIPS) || defined(LLDB_TARGET_MIPS64)
+ EmulateInstructionMIPS::Initialize();
+#endif
+#if defined(LLDB_TARGET_MIPS64)
+ EmulateInstructionMIPS64::Initialize();
+#endif
+
return llvm::Error::success();
}
void SystemInitializerLLGS::Terminate() {
HostObjectFile::Terminate();
+
+#if defined(LLDB_TARGET_ARM) || defined(LLDB_TARGET_ARM64)
+ EmulateInstructionARM::Terminate();
+#endif
+#if defined(LLDB_TARGET_MIPS) || defined(LLDB_TARGET_MIPS64)
+ EmulateInstructionMIPS::Terminate();
+#endif
+#if defined(LLDB_TARGET_MIPS64)
+ EmulateInstructionMIPS64::Terminate();
+#endif
+
SystemInitializerCommon::Terminate();
}