/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/tools/lldb-server/SystemInitializerLLGS.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | //===-- SystemInitializerLLGS.cpp -------------------------------*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | |
9 | | #include "SystemInitializerLLGS.h" |
10 | | |
11 | | #if defined(__APPLE__) |
12 | | #include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h" |
13 | | using HostObjectFile = ObjectFileMachO; |
14 | | #elif defined(_WIN32) |
15 | | #include "Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h" |
16 | | using HostObjectFile = ObjectFilePECOFF; |
17 | | #else |
18 | | #include "Plugins/ObjectFile/ELF/ObjectFileELF.h" |
19 | | using HostObjectFile = ObjectFileELF; |
20 | | #endif |
21 | | |
22 | | #if defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64) |
23 | | #define LLDB_TARGET_ARM64 |
24 | | #endif |
25 | | |
26 | | #if defined(__arm__) || defined(__arm) || defined(_ARM) || defined(_M_ARM) || \ |
27 | | defined(LLDB_TARGET_ARM64) |
28 | | #define LLDB_TARGET_ARM |
29 | | #include "Plugins/Instruction/ARM/EmulateInstructionARM.h" |
30 | | #endif |
31 | | |
32 | | #if defined(__loongarch__) |
33 | | #define LLDB_TARGET_LoongArch |
34 | | #include "Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h" |
35 | | #endif |
36 | | |
37 | | #if defined(__mips64__) || defined(mips64) || defined(__mips64) || \ |
38 | | defined(__MIPS64__) || defined(_M_MIPS64) |
39 | | #define LLDB_TARGET_MIPS64 |
40 | | #include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h" |
41 | | #endif |
42 | | |
43 | | #if defined(__mips__) || defined(mips) || defined(__mips) || \ |
44 | | defined(__MIPS__) || defined(_M_MIPS) || defined(LLDB_TARGET_MIPS64) |
45 | | #define LLDB_TARGET_MIPS |
46 | | #include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h" |
47 | | #endif |
48 | | |
49 | | #if defined(__riscv) |
50 | | #define LLDB_TARGET_RISCV |
51 | | #include "Plugins/Instruction/RISCV/EmulateInstructionRISCV.h" |
52 | | #endif |
53 | | |
54 | | using namespace lldb_private; |
55 | | |
56 | 5 | llvm::Error SystemInitializerLLGS::Initialize() { |
57 | 5 | if (auto e = SystemInitializerCommon::Initialize()) |
58 | 0 | return e; |
59 | | |
60 | 5 | HostObjectFile::Initialize(); |
61 | | |
62 | | #if defined(LLDB_TARGET_ARM) || defined(LLDB_TARGET_ARM64) |
63 | | EmulateInstructionARM::Initialize(); |
64 | | #endif |
65 | | #if defined(LLDB_TARGET_LoongArch) |
66 | | EmulateInstructionLoongArch::Initialize(); |
67 | | #endif |
68 | | #if defined(LLDB_TARGET_MIPS) || defined(LLDB_TARGET_MIPS64) |
69 | | EmulateInstructionMIPS::Initialize(); |
70 | | #endif |
71 | | #if defined(LLDB_TARGET_MIPS64) |
72 | | EmulateInstructionMIPS64::Initialize(); |
73 | | #endif |
74 | | #if defined(LLDB_TARGET_RISCV) |
75 | | EmulateInstructionRISCV::Initialize(); |
76 | | #endif |
77 | | |
78 | 5 | return llvm::Error::success(); |
79 | 5 | } |
80 | | |
81 | 4 | void SystemInitializerLLGS::Terminate() { |
82 | 4 | HostObjectFile::Terminate(); |
83 | | |
84 | | #if defined(LLDB_TARGET_ARM) || defined(LLDB_TARGET_ARM64) |
85 | | EmulateInstructionARM::Terminate(); |
86 | | #endif |
87 | | #if defined(LLDB_TARGET_LoongArch) |
88 | | EmulateInstructionLoongArch::Terminate(); |
89 | | #endif |
90 | | #if defined(LLDB_TARGET_MIPS) || defined(LLDB_TARGET_MIPS64) |
91 | | EmulateInstructionMIPS::Terminate(); |
92 | | #endif |
93 | | #if defined(LLDB_TARGET_MIPS64) |
94 | | EmulateInstructionMIPS64::Terminate(); |
95 | | #endif |
96 | | #if defined(LLDB_TARGET_RISCV) |
97 | | EmulateInstructionRISCV::Terminate(); |
98 | | #endif |
99 | | |
100 | 4 | SystemInitializerCommon::Terminate(); |
101 | 4 | } |