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" 12*fbb4d1e4SJonas Devlieghere #include "lldb/Core/PluginManager.h" 13*fbb4d1e4SJonas 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 27e6e2bb38SZachary Turner using namespace lldb_private; 28e6e2bb38SZachary Turner 29b9c1b51eSKate Stone SystemInitializerFull::SystemInitializerFull() {} 30e6e2bb38SZachary Turner 31b9c1b51eSKate Stone SystemInitializerFull::~SystemInitializerFull() {} 32e6e2bb38SZachary Turner 338865ebb5SPavel Labath #define LLDB_PROCESS_AArch64(op) \ 34*fbb4d1e4SJonas Devlieghere op(ABIMacOSX_arm64); \ 35*fbb4d1e4SJonas Devlieghere op(ABISysV_arm64); 368865ebb5SPavel Labath #define LLDB_PROCESS_ARM(op) \ 37*fbb4d1e4SJonas Devlieghere op(ABIMacOSX_arm); \ 38*fbb4d1e4SJonas Devlieghere op(ABISysV_arm); 39*fbb4d1e4SJonas Devlieghere #define LLDB_PROCESS_ARC(op) op(ABISysV_arc); 40*fbb4d1e4SJonas Devlieghere #define LLDB_PROCESS_Hexagon(op) op(ABISysV_hexagon); 418865ebb5SPavel Labath #define LLDB_PROCESS_Mips(op) \ 42*fbb4d1e4SJonas Devlieghere op(ABISysV_mips); \ 43*fbb4d1e4SJonas Devlieghere op(ABISysV_mips64); 448865ebb5SPavel Labath #define LLDB_PROCESS_PowerPC(op) \ 45*fbb4d1e4SJonas Devlieghere op(ABISysV_ppc); \ 46*fbb4d1e4SJonas Devlieghere op(ABISysV_ppc64); 47*fbb4d1e4SJonas Devlieghere #define LLDB_PROCESS_SystemZ(op) op(ABISysV_s390x); 488865ebb5SPavel Labath #define LLDB_PROCESS_X86(op) \ 49*fbb4d1e4SJonas Devlieghere op(ABIMacOSX_i386); \ 50*fbb4d1e4SJonas Devlieghere op(ABISysV_i386); \ 51*fbb4d1e4SJonas Devlieghere op(ABISysV_x86_64); \ 52*fbb4d1e4SJonas Devlieghere op(ABIWindows_x86_64); 538865ebb5SPavel Labath 548865ebb5SPavel Labath #define LLDB_PROCESS_AMDGPU(op) 55e8f06131SPavel Labath #define LLDB_PROCESS_AVR(op) 568865ebb5SPavel Labath #define LLDB_PROCESS_BPF(op) 578865ebb5SPavel Labath #define LLDB_PROCESS_Lanai(op) 588865ebb5SPavel Labath #define LLDB_PROCESS_MSP430(op) 598865ebb5SPavel Labath #define LLDB_PROCESS_NVPTX(op) 608865ebb5SPavel Labath #define LLDB_PROCESS_RISCV(op) 618865ebb5SPavel Labath #define LLDB_PROCESS_Sparc(op) 628865ebb5SPavel Labath #define LLDB_PROCESS_WebAssembly(op) 638865ebb5SPavel Labath #define LLDB_PROCESS_XCore(op) 648865ebb5SPavel Labath 65936c6242SJonas Devlieghere llvm::Error SystemInitializerFull::Initialize() { 66936c6242SJonas Devlieghere if (auto e = SystemInitializerCommon::Initialize()) 6715eacd74SJonas Devlieghere return e; 68fa3fa5b9SPavel Labath 69*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileBreakpad); 70*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileELF); 71*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileMachO); 72*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFilePECOFF); 73*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectFileWasm); 74fa3fa5b9SPavel Labath 75*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectContainerBSDArchive); 76*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjectContainerUniversalMachO); 77c7c3cf68SSaleem Abdulrasool 78*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ScriptInterpreterNone); 792c1f46dcSZachary Turner 804e26cf2cSJonas Devlieghere #if LLDB_ENABLE_PYTHON 81*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(OperatingSystemPython); 82a7760cb5SPavel Labath #endif 83a7760cb5SPavel Labath 844e26cf2cSJonas Devlieghere #if LLDB_ENABLE_PYTHON 85*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ScriptInterpreterPython); 862c1f46dcSZachary Turner #endif 87e6e2bb38SZachary Turner 8867de8962SJonas Devlieghere #if LLDB_ENABLE_LUA 89*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ScriptInterpreterLua); 9067de8962SJonas Devlieghere #endif 91*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformFreeBSD); 92*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformLinux); 93*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformNetBSD); 94*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformOpenBSD); 95*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformWindows); 96*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformAndroid); 97*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformRemoteiOS); 98*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformMacOSX); 99f1763537SPavel Labath 100e6e2bb38SZachary Turner // Initialize LLVM and Clang 101e6e2bb38SZachary Turner llvm::InitializeAllTargets(); 102e6e2bb38SZachary Turner llvm::InitializeAllAsmPrinters(); 103e6e2bb38SZachary Turner llvm::InitializeAllTargetMCs(); 104e6e2bb38SZachary Turner llvm::InitializeAllDisassemblers(); 105e6e2bb38SZachary Turner 106*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(TypeSystemClang); 10756939cb3SGreg Clayton 108*fbb4d1e4SJonas Devlieghere #define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_INITIALIZE) 1098865ebb5SPavel Labath #include "llvm/Config/Targets.def" 11013e37d4dSPavel Labath 111*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ArchitectureArm); 112*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ArchitectureMips); 113*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ArchitecturePPC64); 11413e37d4dSPavel Labath 115*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DisassemblerLLVMC); 116e6e2bb38SZachary Turner 117*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(JITLoaderGDB); 118*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessElfCore); 119*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessMachCore); 120*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessMinidump); 121*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(MemoryHistoryASan); 122*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeASan); 123*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeTSan); 124*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeUBSan); 125*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeMainThreadChecker); 126e6e2bb38SZachary Turner 127*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolVendorELF); 128*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileBreakpad); 129*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileDWARF); 130*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFilePDB); 131*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileSymtab); 132*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolVendorWasm); 133*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(UnwindAssemblyInstEmulation); 134*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(UnwindAssembly_x86); 135e24d8c55SSaleem Abdulrasool 136*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(EmulateInstructionARM); 137*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(EmulateInstructionARM64); 138*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(EmulateInstructionMIPS); 139*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(EmulateInstructionMIPS64); 140*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(EmulateInstructionPPC64); 141e24d8c55SSaleem Abdulrasool 142*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolFileDWARFDebugMap); 143*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ItaniumABILanguageRuntime); 144*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(AppleObjCRuntime); 145*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SystemRuntimeMacOSX); 146*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(RenderScriptRuntime); 147e6e2bb38SZachary Turner 148*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(CPlusPlusLanguage); 149*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjCLanguage); 150*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ObjCPlusPlusLanguage); 151980c0484SEnrico Granata 152f6ee79c9SHafiz Abid Qadeer #if defined(_WIN32) 153*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessWindows); 154e6e2bb38SZachary Turner #endif 155e6e2bb38SZachary Turner #if defined(__FreeBSD__) 156*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessFreeBSD); 157e6e2bb38SZachary Turner #endif 158e6e2bb38SZachary Turner #if defined(__APPLE__) 159*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(SymbolVendorMacOSX); 160*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessKDP); 161*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderDarwinKernel); 162e6e2bb38SZachary Turner #endif 16375930019STodd Fiala 16405097246SAdrian Prantl // This plugin is valid on any host that talks to a Darwin remote. It 16505097246SAdrian Prantl // shouldn't be limited to __APPLE__. 166*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(StructuredDataDarwinLog); 16775930019STodd Fiala 168e6e2bb38SZachary Turner // Platform agnostic plugins 169*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(PlatformRemoteGDBServer); 170e6e2bb38SZachary Turner 171*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(ProcessGDBRemote); 172*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderMacOSXDYLD); 173*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderMacOS); 174*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderPOSIXDYLD); 175*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderStatic); 176*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_INITIALIZE(DynamicLoaderWindowsDYLD); 177e6e2bb38SZachary Turner 178e6e2bb38SZachary Turner // Scan for any system or user LLDB plug-ins 179e6e2bb38SZachary Turner PluginManager::Initialize(); 180e6e2bb38SZachary Turner 18105097246SAdrian Prantl // The process settings need to know about installed plug-ins, so the 18205097246SAdrian Prantl // Settings must be initialized 183e6e2bb38SZachary Turner // AFTER PluginManager::Initialize is called. 184e6e2bb38SZachary Turner 185e6e2bb38SZachary Turner Debugger::SettingsInitialize(); 18615eacd74SJonas Devlieghere 18715eacd74SJonas Devlieghere return llvm::Error::success(); 188e6e2bb38SZachary Turner } 189e6e2bb38SZachary Turner 190b9c1b51eSKate Stone void SystemInitializerFull::Terminate() { 191f9d16476SPavel Labath static Timer::Category func_cat(LLVM_PRETTY_FUNCTION); 192f9d16476SPavel Labath Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION); 193e6e2bb38SZachary Turner 194e6e2bb38SZachary Turner Debugger::SettingsTerminate(); 195e6e2bb38SZachary Turner 196e6e2bb38SZachary Turner // Terminate and unload and loaded system or user LLDB plug-ins 197e6e2bb38SZachary Turner PluginManager::Terminate(); 19856939cb3SGreg Clayton 199*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(TypeSystemClang); 20056939cb3SGreg Clayton 201*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ArchitectureArm); 202*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ArchitectureMips); 203*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ArchitecturePPC64); 20498fc5487STatyana Krasnukha 205*fbb4d1e4SJonas Devlieghere #define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_TERMINATE) 2068865ebb5SPavel Labath #include "llvm/Config/Targets.def" 207d0b44dbeSPavel Labath 208*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DisassemblerLLVMC); 209e6e2bb38SZachary Turner 210*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(JITLoaderGDB); 211*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessElfCore); 212*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessMachCore); 213*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessMinidump); 214*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(MemoryHistoryASan); 215fc1e8551SJonas Devlieghere 216*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeASan); 217*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeTSan); 218*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeUBSan); 219*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeMainThreadChecker); 220e24d8c55SSaleem Abdulrasool 221*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolVendorWasm); 222*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolVendorELF); 223*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileBreakpad); 224*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileDWARF); 225*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFilePDB); 226*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileSymtab); 227*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(UnwindAssembly_x86); 228*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(UnwindAssemblyInstEmulation); 229e24d8c55SSaleem Abdulrasool 230*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(EmulateInstructionARM); 231*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(EmulateInstructionARM64); 232*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(EmulateInstructionMIPS); 233*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(EmulateInstructionMIPS64); 234*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(EmulateInstructionPPC64); 235e6e2bb38SZachary Turner 236*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolFileDWARFDebugMap); 237*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ItaniumABILanguageRuntime); 238*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(AppleObjCRuntime); 239*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SystemRuntimeMacOSX); 240*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(RenderScriptRuntime); 241*fbb4d1e4SJonas Devlieghere 242*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(CPlusPlusLanguage); 243*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjCLanguage); 244*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjCPlusPlusLanguage); 245980c0484SEnrico Granata 246e6e2bb38SZachary Turner #if defined(__APPLE__) 247*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderDarwinKernel); 248*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessKDP); 249*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(SymbolVendorMacOSX); 250e6e2bb38SZachary Turner #endif 251e6e2bb38SZachary Turner 252e6e2bb38SZachary Turner #if defined(__FreeBSD__) 253*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessFreeBSD); 254e6e2bb38SZachary Turner #endif 255e6e2bb38SZachary Turner Debugger::SettingsTerminate(); 256e6e2bb38SZachary Turner 257*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformRemoteGDBServer); 258*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ProcessGDBRemote); 259*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(StructuredDataDarwinLog); 26075930019STodd Fiala 261*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderMacOSXDYLD); 262*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderMacOS); 263*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderPOSIXDYLD); 264*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderStatic); 265*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(DynamicLoaderWindowsDYLD); 266e6e2bb38SZachary Turner 267*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformFreeBSD); 268*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformLinux); 269*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformNetBSD); 270*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformOpenBSD); 271*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformWindows); 272*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformAndroid); 273*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformRemoteiOS); 274*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(PlatformMacOSX); 275f1763537SPavel Labath 276*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileBreakpad); 277*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileELF); 278*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileMachO); 279*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFilePECOFF); 280*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectFileWasm); 281fa3fa5b9SPavel Labath 282*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectContainerBSDArchive); 283*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ObjectContainerUniversalMachO); 284c7c3cf68SSaleem Abdulrasool 285f2d41ad0SRaphael Isemann #if LLDB_ENABLE_PYTHON 286*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(OperatingSystemPython); 287f2d41ad0SRaphael Isemann #endif 288f2d41ad0SRaphael Isemann 289f2d41ad0SRaphael Isemann #if LLDB_ENABLE_PYTHON 290*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ScriptInterpreterPython); 291f2d41ad0SRaphael Isemann #endif 292f2d41ad0SRaphael Isemann 293f2d41ad0SRaphael Isemann #if LLDB_ENABLE_LUA 294*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ScriptInterpreterLua); 295f2d41ad0SRaphael Isemann #endif 296f2d41ad0SRaphael Isemann 297*fbb4d1e4SJonas Devlieghere LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone); 298*fbb4d1e4SJonas Devlieghere 299e6e2bb38SZachary Turner // Now shutdown the common parts, in reverse order. 300e6e2bb38SZachary Turner SystemInitializerCommon::Terminate(); 301e6e2bb38SZachary Turner } 302