180814287SRaphael Isemann //===-- SystemInitializerFull.cpp -----------------------------------------===// 2e6e2bb38SZachary Turner // 32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6e6e2bb38SZachary Turner // 7e6e2bb38SZachary Turner //===----------------------------------------------------------------------===// 8e6e2bb38SZachary Turner 9d17cd902SAlex Langford #include "SystemInitializerFull.h" 102c1f46dcSZachary Turner #include "lldb/API/SBCommandInterpreter.h" 11e6e2bb38SZachary Turner #include "lldb/Core/Debugger.h" 12fbb4d1e4SJonas Devlieghere #include "lldb/Core/PluginManager.h" 13fbb4d1e4SJonas Devlieghere #include "lldb/Host/Config.h" 14e6e2bb38SZachary Turner #include "lldb/Host/Host.h" 15e6e2bb38SZachary Turner #include "lldb/Initialization/SystemInitializerCommon.h" 162c1f46dcSZachary Turner #include "lldb/Interpreter/CommandInterpreter.h" 1738d0632eSPavel Labath #include "lldb/Utility/Timer.h" 18e6e2bb38SZachary Turner #include "llvm/Support/TargetSelect.h" 19e6e2bb38SZachary Turner 205a36558cSSaleem Abdulrasool #pragma clang diagnostic push 215a36558cSSaleem Abdulrasool #pragma clang diagnostic ignored "-Wglobal-constructors" 225a36558cSSaleem Abdulrasool #include "llvm/ExecutionEngine/MCJIT.h" 235a36558cSSaleem Abdulrasool #pragma clang diagnostic pop 245a36558cSSaleem Abdulrasool 25e6e2bb38SZachary Turner #include <string> 26e6e2bb38SZachary Turner 27*2d146aa2SJonas Devlieghere #define LLDB_PLUGIN(p) LLDB_PLUGIN_DECLARE(p) 28*2d146aa2SJonas Devlieghere #include "Plugins/Plugins.def" 293e70a919SJonas Devlieghere 30e6e2bb38SZachary Turner using namespace lldb_private; 31e6e2bb38SZachary Turner 32866b7a65SJonas Devlieghere SystemInitializerFull::SystemInitializerFull() = default; 33e6e2bb38SZachary Turner 34866b7a65SJonas Devlieghere SystemInitializerFull::~SystemInitializerFull() = default; 35e6e2bb38SZachary Turner 3650c9cd95SJonas Devlieghere #define LLDB_PROCESS_AArch64(op) op(ABIAArch64); 3750c9cd95SJonas Devlieghere #define LLDB_PROCESS_ARM(op) op(ABIARM); 38bcde387fSJonas Devlieghere #define LLDB_PROCESS_ARC(op) op(ABIARC); 39bcde387fSJonas Devlieghere #define LLDB_PROCESS_Hexagon(op) op(ABIHexagon); 4050c9cd95SJonas Devlieghere #define LLDB_PROCESS_Mips(op) op(ABIMips); 4150c9cd95SJonas Devlieghere #define LLDB_PROCESS_PowerPC(op) op(ABIPowerPC); 42bcde387fSJonas Devlieghere #define LLDB_PROCESS_SystemZ(op) op(ABISystemZ); 4350c9cd95SJonas Devlieghere #define LLDB_PROCESS_X86(op) op(ABIX86); 4450c9cd95SJonas Devlieghere 4550c9cd95SJonas Devlieghere #define LLDB_PROCESS_AMDGPU(op) 4650c9cd95SJonas Devlieghere #define LLDB_PROCESS_AVR(op) 4750c9cd95SJonas Devlieghere #define LLDB_PROCESS_BPF(op) 4850c9cd95SJonas Devlieghere #define LLDB_PROCESS_Lanai(op) 4950c9cd95SJonas Devlieghere #define LLDB_PROCESS_MSP430(op) 5050c9cd95SJonas Devlieghere #define LLDB_PROCESS_NVPTX(op) 5150c9cd95SJonas Devlieghere #define LLDB_PROCESS_RISCV(op) 5250c9cd95SJonas Devlieghere #define LLDB_PROCESS_Sparc(op) 5350c9cd95SJonas Devlieghere #define LLDB_PROCESS_WebAssembly(op) 5450c9cd95SJonas Devlieghere #define LLDB_PROCESS_XCore(op) 5550c9cd95SJonas Devlieghere 56936c6242SJonas Devlieghere llvm::Error SystemInitializerFull::Initialize() { 57936c6242SJonas Devlieghere if (auto e = SystemInitializerCommon::Initialize()) 5815eacd74SJonas Devlieghere return e; 59fa3fa5b9SPavel Labath 6050c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileBreakpad); 6150c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileELF); 62aa2ae6afSJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileJIT); 6350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileMachO); 6450c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFilePECOFF); 6550c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileWasm); 6650c9cd95SJonas Devlieghere 6750c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectContainerBSDArchive); 68ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectContainerMachOArchive); 6950c9cd95SJonas Devlieghere 7050c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ScriptInterpreterNone); 7150c9cd95SJonas Devlieghere 7250c9cd95SJonas Devlieghere #if LLDB_ENABLE_PYTHON 7350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(OperatingSystemPython); 7450c9cd95SJonas Devlieghere #endif 7550c9cd95SJonas Devlieghere 7650c9cd95SJonas Devlieghere #if LLDB_ENABLE_PYTHON 7750c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ScriptInterpreterPython); 7850c9cd95SJonas Devlieghere #endif 7950c9cd95SJonas Devlieghere 8050c9cd95SJonas Devlieghere #if LLDB_ENABLE_LUA 8150c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ScriptInterpreterLua); 8250c9cd95SJonas Devlieghere #endif 8350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformFreeBSD); 8450c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformLinux); 8550c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformNetBSD); 8650c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformOpenBSD); 8750c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformWindows); 8850c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformAndroid); 8950c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformMacOSX); 9050c9cd95SJonas Devlieghere 91e6e2bb38SZachary Turner // Initialize LLVM and Clang 92e6e2bb38SZachary Turner llvm::InitializeAllTargets(); 93e6e2bb38SZachary Turner llvm::InitializeAllAsmPrinters(); 94e6e2bb38SZachary Turner llvm::InitializeAllTargetMCs(); 95e6e2bb38SZachary Turner llvm::InitializeAllDisassemblers(); 96e6e2bb38SZachary Turner 9750c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(TypeSystemClang); 9856939cb3SGreg Clayton 9950c9cd95SJonas Devlieghere #define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_INITIALIZE) 10050c9cd95SJonas Devlieghere #include "llvm/Config/Targets.def" 10150c9cd95SJonas Devlieghere 10250c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ArchitectureArm); 10350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ArchitectureMips); 10450c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ArchitecturePPC64); 10550c9cd95SJonas Devlieghere 10650c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DisassemblerLLVMC); 10750c9cd95SJonas Devlieghere 10850c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(JITLoaderGDB); 10950c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessElfCore); 11050c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessMachCore); 11150c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessMinidump); 11250c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(MemoryHistoryASan); 11350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeASan); 11450c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeTSan); 11550c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeUBSan); 11650c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeMainThreadChecker); 11750c9cd95SJonas Devlieghere 11850c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolVendorELF); 11950c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileBreakpad); 12050c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileDWARF); 12150c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFilePDB); 12250c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileSymtab); 12350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolVendorWasm); 12450c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(UnwindAssemblyInstEmulation); 125ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(UnwindAssemblyX86); 12650c9cd95SJonas Devlieghere 127ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstructionARM); 128ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstructionARM64); 129ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstructionMIPS); 130ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstructionMIPS64); 131ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstructionPPC64); 13250c9cd95SJonas Devlieghere 133ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(CXXItaniumABI); 13450c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(AppleObjCRuntime); 13550c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SystemRuntimeMacOSX); 13650c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(RenderScriptRuntime); 13750c9cd95SJonas Devlieghere 13850c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(CPlusPlusLanguage); 13950c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjCLanguage); 14050c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjCPlusPlusLanguage); 14150c9cd95SJonas Devlieghere 14250c9cd95SJonas Devlieghere #if defined(_WIN32) 143ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessWindowsCommon); 14450c9cd95SJonas Devlieghere #endif 14550c9cd95SJonas Devlieghere #if defined(__FreeBSD__) 14650c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessFreeBSD); 14750c9cd95SJonas Devlieghere #endif 14850c9cd95SJonas Devlieghere #if defined(__APPLE__) 14950c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolVendorMacOSX); 150ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessMacOSXKernel); 15150c9cd95SJonas Devlieghere #endif 15250c9cd95SJonas Devlieghere 15350c9cd95SJonas Devlieghere // This plugin is valid on any host that talks to a Darwin remote. It 15450c9cd95SJonas Devlieghere // shouldn't be limited to __APPLE__. 15550c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(StructuredDataDarwinLog); 15650c9cd95SJonas Devlieghere 15750c9cd95SJonas Devlieghere // Platform agnostic plugins 158ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformGDB); 15950c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessGDBRemote); 160884a5894SJonas Devlieghere 161884a5894SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderDarwinKernel); 162aa2ae6afSJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderHexagonDYLD); 16350c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderMacOSXDYLD); 164ccad1948SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderPosixDYLD); 16550c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderWasmDYLD); // Before DynamicLoaderStatic. 16650c9cd95SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderWindowsDYLD); 167884a5894SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderStatic); 16850c9cd95SJonas Devlieghere 16950c9cd95SJonas Devlieghere // Scan for any system or user LLDB plug-ins 170e6e2bb38SZachary Turner PluginManager::Initialize(); 171e6e2bb38SZachary Turner 17205097246SAdrian Prantl // The process settings need to know about installed plug-ins, so the 17350c9cd95SJonas Devlieghere // Settings must be initialized 17450c9cd95SJonas Devlieghere // AFTER PluginManager::Initialize is called. 17550c9cd95SJonas Devlieghere 176e6e2bb38SZachary Turner Debugger::SettingsInitialize(); 17715eacd74SJonas Devlieghere 17815eacd74SJonas Devlieghere return llvm::Error::success(); 179e6e2bb38SZachary Turner } 180e6e2bb38SZachary Turner 181b9c1b51eSKate Stone void SystemInitializerFull::Terminate() { 182f9d16476SPavel Labath static Timer::Category func_cat(LLVM_PRETTY_FUNCTION); 183f9d16476SPavel Labath Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION); 184e6e2bb38SZachary Turner 185e6e2bb38SZachary Turner Debugger::SettingsTerminate(); 186e6e2bb38SZachary Turner 18750c9cd95SJonas Devlieghere // Terminate and unload and loaded system or user LLDB plug-ins 188e6e2bb38SZachary Turner PluginManager::Terminate(); 18956939cb3SGreg Clayton 19050c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(TypeSystemClang); 19150c9cd95SJonas Devlieghere 19250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ArchitectureArm); 19350c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ArchitectureMips); 19450c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ArchitecturePPC64); 19550c9cd95SJonas Devlieghere 19650c9cd95SJonas Devlieghere #define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_TERMINATE) 19750c9cd95SJonas Devlieghere #include "llvm/Config/Targets.def" 19850c9cd95SJonas Devlieghere 19950c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DisassemblerLLVMC); 20050c9cd95SJonas Devlieghere 20150c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(JITLoaderGDB); 20250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessElfCore); 20350c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessMachCore); 20450c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessMinidump); 20550c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(MemoryHistoryASan); 20650c9cd95SJonas Devlieghere 20750c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeASan); 20850c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeTSan); 20950c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeUBSan); 21050c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeMainThreadChecker); 21150c9cd95SJonas Devlieghere 21250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolVendorWasm); 21350c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolVendorELF); 21450c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileBreakpad); 21550c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileDWARF); 21650c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFilePDB); 21750c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileSymtab); 218ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(UnwindAssemblyX86); 21950c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(UnwindAssemblyInstEmulation); 22050c9cd95SJonas Devlieghere 221ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstructionARM); 222ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstructionARM64); 223ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstructionMIPS); 224ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstructionMIPS64); 225ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstructionPPC64); 22650c9cd95SJonas Devlieghere 227ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(CXXItaniumABI); 22850c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(AppleObjCRuntime); 22950c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SystemRuntimeMacOSX); 23050c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(RenderScriptRuntime); 23150c9cd95SJonas Devlieghere 23250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(CPlusPlusLanguage); 23350c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjCLanguage); 23450c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjCPlusPlusLanguage); 23550c9cd95SJonas Devlieghere 23650c9cd95SJonas Devlieghere #if defined(__APPLE__) 237ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessMacOSXKernel); 23850c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolVendorMacOSX); 23950c9cd95SJonas Devlieghere #endif 24050c9cd95SJonas Devlieghere 24150c9cd95SJonas Devlieghere #if defined(__FreeBSD__) 24250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessFreeBSD); 24350c9cd95SJonas Devlieghere #endif 24450c9cd95SJonas Devlieghere Debugger::SettingsTerminate(); 24550c9cd95SJonas Devlieghere 246ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformGDB); 24750c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessGDBRemote); 24850c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(StructuredDataDarwinLog); 24950c9cd95SJonas Devlieghere 250884a5894SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderDarwinKernel); 251aa2ae6afSJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderHexagonDYLD); 25250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderMacOSXDYLD); 253ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderPosixDYLD); 25450c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderWasmDYLD); 25550c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderWindowsDYLD); 256884a5894SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderStatic); 25750c9cd95SJonas Devlieghere 25850c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformFreeBSD); 25950c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformLinux); 26050c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformNetBSD); 26150c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformOpenBSD); 26250c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformWindows); 26350c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformAndroid); 26450c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformMacOSX); 26550c9cd95SJonas Devlieghere 26650c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileBreakpad); 26750c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileELF); 268aa2ae6afSJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileJIT); 26950c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileMachO); 27050c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFilePECOFF); 27150c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileWasm); 27250c9cd95SJonas Devlieghere 27350c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectContainerBSDArchive); 274ccad1948SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectContainerMachOArchive); 27550c9cd95SJonas Devlieghere 27650c9cd95SJonas Devlieghere #if LLDB_ENABLE_PYTHON 27750c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(OperatingSystemPython); 27850c9cd95SJonas Devlieghere #endif 27950c9cd95SJonas Devlieghere 28050c9cd95SJonas Devlieghere #if LLDB_ENABLE_PYTHON 28150c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ScriptInterpreterPython); 28250c9cd95SJonas Devlieghere #endif 28350c9cd95SJonas Devlieghere 28450c9cd95SJonas Devlieghere #if LLDB_ENABLE_LUA 28550c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ScriptInterpreterLua); 28650c9cd95SJonas Devlieghere #endif 28750c9cd95SJonas Devlieghere 28850c9cd95SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone); 289fbb4d1e4SJonas Devlieghere 290e6e2bb38SZachary Turner // Now shutdown the common parts, in reverse order. 291e6e2bb38SZachary Turner SystemInitializerCommon::Terminate(); 292e6e2bb38SZachary Turner } 293