diff options
Diffstat (limited to 'tools/lldb-server/SystemInitializerLLGS.cpp')
| -rw-r--r-- | tools/lldb-server/SystemInitializerLLGS.cpp | 55 |
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(); } |
