diff options
Diffstat (limited to 'lldb/source/API/SystemInitializerFull.cpp')
| -rw-r--r-- | lldb/source/API/SystemInitializerFull.cpp | 314 |
1 files changed, 9 insertions, 305 deletions
diff --git a/lldb/source/API/SystemInitializerFull.cpp b/lldb/source/API/SystemInitializerFull.cpp index b629e53..f6b37c5 100644 --- a/lldb/source/API/SystemInitializerFull.cpp +++ b/lldb/source/API/SystemInitializerFull.cpp @@ -24,89 +24,8 @@ #include <string> -LLDB_PLUGIN_DECLARE(ABIAArch64) -LLDB_PLUGIN_DECLARE(ABIARM) -LLDB_PLUGIN_DECLARE(ABISysV_arc) -LLDB_PLUGIN_DECLARE(ABISysV_hexagon) -LLDB_PLUGIN_DECLARE(ABIMips) -LLDB_PLUGIN_DECLARE(ABIPowerPC) -LLDB_PLUGIN_DECLARE(ABISysV_s390x) -LLDB_PLUGIN_DECLARE(ABIX86) -LLDB_PLUGIN_DECLARE(ObjectFileBreakpad) -LLDB_PLUGIN_DECLARE(ObjectFileELF) -LLDB_PLUGIN_DECLARE(ObjectFileMachO) -LLDB_PLUGIN_DECLARE(ObjectFilePECOFF) -LLDB_PLUGIN_DECLARE(ObjectFileWasm) -LLDB_PLUGIN_DECLARE(ObjectContainerBSDArchive) -LLDB_PLUGIN_DECLARE(ObjectContainerUniversalMachO) -LLDB_PLUGIN_DECLARE(ScriptInterpreterNone) -#if LLDB_ENABLE_PYTHON -LLDB_PLUGIN_DECLARE(OperatingSystemPython) -LLDB_PLUGIN_DECLARE(ScriptInterpreterPython) -#endif -#if LLDB_ENABLE_LUA -LLDB_PLUGIN_DECLARE(ScriptInterpreterLua) -#endif -LLDB_PLUGIN_DECLARE(PlatformFreeBSD) -LLDB_PLUGIN_DECLARE(PlatformLinux) -LLDB_PLUGIN_DECLARE(PlatformNetBSD) -LLDB_PLUGIN_DECLARE(PlatformOpenBSD) -LLDB_PLUGIN_DECLARE(PlatformWindows) -LLDB_PLUGIN_DECLARE(PlatformAndroid) -LLDB_PLUGIN_DECLARE(PlatformMacOSX) -LLDB_PLUGIN_DECLARE(TypeSystemClang) -LLDB_PLUGIN_DECLARE(ArchitectureArm) -LLDB_PLUGIN_DECLARE(ArchitectureMips) -LLDB_PLUGIN_DECLARE(ArchitecturePPC64) -LLDB_PLUGIN_DECLARE(DisassemblerLLVMC) -LLDB_PLUGIN_DECLARE(JITLoaderGDB) -LLDB_PLUGIN_DECLARE(ProcessElfCore) -LLDB_PLUGIN_DECLARE(ProcessMachCore) -LLDB_PLUGIN_DECLARE(ProcessMinidump) -LLDB_PLUGIN_DECLARE(MemoryHistoryASan) -LLDB_PLUGIN_DECLARE(InstrumentationRuntimeASan) -LLDB_PLUGIN_DECLARE(InstrumentationRuntimeTSan) -LLDB_PLUGIN_DECLARE(InstrumentationRuntimeUBSan) -LLDB_PLUGIN_DECLARE(InstrumentationRuntimeMainThreadChecker) -LLDB_PLUGIN_DECLARE(SymbolVendorELF) -LLDB_PLUGIN_DECLARE(SymbolFileBreakpad) -LLDB_PLUGIN_DECLARE(SymbolFileDWARF) -LLDB_PLUGIN_DECLARE(SymbolFilePDB) -LLDB_PLUGIN_DECLARE(SymbolFileSymtab) -LLDB_PLUGIN_DECLARE(SymbolVendorWasm) -LLDB_PLUGIN_DECLARE(UnwindAssemblyInstEmulation) -LLDB_PLUGIN_DECLARE(UnwindAssembly_x86) -LLDB_PLUGIN_DECLARE(EmulateInstructionARM) -LLDB_PLUGIN_DECLARE(EmulateInstructionARM64) -LLDB_PLUGIN_DECLARE(EmulateInstructionMIPS) -LLDB_PLUGIN_DECLARE(EmulateInstructionMIPS64) -LLDB_PLUGIN_DECLARE(EmulateInstructionPPC64) -LLDB_PLUGIN_DECLARE(ItaniumABILanguageRuntime) -LLDB_PLUGIN_DECLARE(AppleObjCRuntime) -LLDB_PLUGIN_DECLARE(SystemRuntimeMacOSX) -LLDB_PLUGIN_DECLARE(RenderScriptRuntime) -LLDB_PLUGIN_DECLARE(CPlusPlusLanguage) -LLDB_PLUGIN_DECLARE(ObjCLanguage) -LLDB_PLUGIN_DECLARE(ObjCPlusPlusLanguage) -#if defined(_WIN32) -LLDB_PLUGIN_DECLARE(ProcessWindows) -#endif -#if defined(__FreeBSD__) -LLDB_PLUGIN_DECLARE(ProcessFreeBSD) -#endif -#if defined(__APPLE__) -LLDB_PLUGIN_DECLARE(SymbolVendorMacOSX) -LLDB_PLUGIN_DECLARE(ProcessKDP) -LLDB_PLUGIN_DECLARE(DynamicLoaderDarwinKernel) -#endif -LLDB_PLUGIN_DECLARE(StructuredDataDarwinLog) -LLDB_PLUGIN_DECLARE(PlatformRemoteGDBServer) -LLDB_PLUGIN_DECLARE(ProcessGDBRemote) -LLDB_PLUGIN_DECLARE(DynamicLoaderMacOSXDYLD) -LLDB_PLUGIN_DECLARE(DynamicLoaderPOSIXDYLD) -LLDB_PLUGIN_DECLARE(DynamicLoaderStatic) -LLDB_PLUGIN_DECLARE(DynamicLoaderWasmDYLD) -LLDB_PLUGIN_DECLARE(DynamicLoaderWindowsDYLD) +#define LLDB_PLUGIN(p) LLDB_PLUGIN_DECLARE(p) +#include "Plugins/Plugins.def" using namespace lldb_private; @@ -114,144 +33,24 @@ SystemInitializerFull::SystemInitializerFull() {} SystemInitializerFull::~SystemInitializerFull() {} -#define LLDB_PROCESS_AArch64(op) op(ABIAArch64); -#define LLDB_PROCESS_ARM(op) op(ABIARM); -#define LLDB_PROCESS_ARC(op) op(ABISysV_arc); -#define LLDB_PROCESS_Hexagon(op) op(ABISysV_hexagon); -#define LLDB_PROCESS_Mips(op) op(ABIMips); -#define LLDB_PROCESS_PowerPC(op) op(ABIPowerPC); -#define LLDB_PROCESS_SystemZ(op) op(ABISysV_s390x); -#define LLDB_PROCESS_X86(op) op(ABIX86); - -#define LLDB_PROCESS_AMDGPU(op) -#define LLDB_PROCESS_AVR(op) -#define LLDB_PROCESS_BPF(op) -#define LLDB_PROCESS_Lanai(op) -#define LLDB_PROCESS_MSP430(op) -#define LLDB_PROCESS_NVPTX(op) -#define LLDB_PROCESS_RISCV(op) -#define LLDB_PROCESS_Sparc(op) -#define LLDB_PROCESS_WebAssembly(op) -#define LLDB_PROCESS_XCore(op) - llvm::Error SystemInitializerFull::Initialize() { if (auto e = SystemInitializerCommon::Initialize()) return e; - LLDB_PLUGIN_INITIALIZE(ObjectFileBreakpad); - LLDB_PLUGIN_INITIALIZE(ObjectFileELF); - LLDB_PLUGIN_INITIALIZE(ObjectFileMachO); - LLDB_PLUGIN_INITIALIZE(ObjectFilePECOFF); - LLDB_PLUGIN_INITIALIZE(ObjectFileWasm); - - LLDB_PLUGIN_INITIALIZE(ObjectContainerBSDArchive); - LLDB_PLUGIN_INITIALIZE(ObjectContainerUniversalMachO); - - LLDB_PLUGIN_INITIALIZE(ScriptInterpreterNone); - -#if LLDB_ENABLE_PYTHON - LLDB_PLUGIN_INITIALIZE(OperatingSystemPython); -#endif - -#if LLDB_ENABLE_PYTHON - LLDB_PLUGIN_INITIALIZE(ScriptInterpreterPython); -#endif - -#if LLDB_ENABLE_LUA - LLDB_PLUGIN_INITIALIZE(ScriptInterpreterLua); -#endif - LLDB_PLUGIN_INITIALIZE(PlatformFreeBSD); - LLDB_PLUGIN_INITIALIZE(PlatformLinux); - LLDB_PLUGIN_INITIALIZE(PlatformNetBSD); - LLDB_PLUGIN_INITIALIZE(PlatformOpenBSD); - LLDB_PLUGIN_INITIALIZE(PlatformWindows); - LLDB_PLUGIN_INITIALIZE(PlatformAndroid); - LLDB_PLUGIN_INITIALIZE(PlatformMacOSX); - // Initialize LLVM and Clang llvm::InitializeAllTargets(); llvm::InitializeAllAsmPrinters(); llvm::InitializeAllTargetMCs(); llvm::InitializeAllDisassemblers(); - LLDB_PLUGIN_INITIALIZE(TypeSystemClang); - -#define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_INITIALIZE) -#include "llvm/Config/Targets.def" - - LLDB_PLUGIN_INITIALIZE(ArchitectureArm); - LLDB_PLUGIN_INITIALIZE(ArchitectureMips); - LLDB_PLUGIN_INITIALIZE(ArchitecturePPC64); - - LLDB_PLUGIN_INITIALIZE(DisassemblerLLVMC); +#define LLDB_PLUGIN(p) LLDB_PLUGIN_INITIALIZE(p); +#include "Plugins/Plugins.def" - LLDB_PLUGIN_INITIALIZE(JITLoaderGDB); - LLDB_PLUGIN_INITIALIZE(ProcessElfCore); - LLDB_PLUGIN_INITIALIZE(ProcessMachCore); - LLDB_PLUGIN_INITIALIZE(ProcessMinidump); - LLDB_PLUGIN_INITIALIZE(MemoryHistoryASan); - LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeASan); - LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeTSan); - LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeUBSan); - LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeMainThreadChecker); - - LLDB_PLUGIN_INITIALIZE(SymbolVendorELF); - LLDB_PLUGIN_INITIALIZE(SymbolFileBreakpad); - LLDB_PLUGIN_INITIALIZE(SymbolFileDWARF); - LLDB_PLUGIN_INITIALIZE(SymbolFilePDB); - LLDB_PLUGIN_INITIALIZE(SymbolFileSymtab); - LLDB_PLUGIN_INITIALIZE(SymbolVendorWasm); - LLDB_PLUGIN_INITIALIZE(UnwindAssemblyInstEmulation); - LLDB_PLUGIN_INITIALIZE(UnwindAssembly_x86); - - LLDB_PLUGIN_INITIALIZE(EmulateInstructionARM); - LLDB_PLUGIN_INITIALIZE(EmulateInstructionARM64); - LLDB_PLUGIN_INITIALIZE(EmulateInstructionMIPS); - LLDB_PLUGIN_INITIALIZE(EmulateInstructionMIPS64); - LLDB_PLUGIN_INITIALIZE(EmulateInstructionPPC64); - - LLDB_PLUGIN_INITIALIZE(ItaniumABILanguageRuntime); - LLDB_PLUGIN_INITIALIZE(AppleObjCRuntime); - LLDB_PLUGIN_INITIALIZE(SystemRuntimeMacOSX); - LLDB_PLUGIN_INITIALIZE(RenderScriptRuntime); - - LLDB_PLUGIN_INITIALIZE(CPlusPlusLanguage); - LLDB_PLUGIN_INITIALIZE(ObjCLanguage); - LLDB_PLUGIN_INITIALIZE(ObjCPlusPlusLanguage); - -#if defined(_WIN32) - LLDB_PLUGIN_INITIALIZE(ProcessWindows); -#endif -#if defined(__FreeBSD__) - LLDB_PLUGIN_INITIALIZE(ProcessFreeBSD); -#endif -#if defined(__APPLE__) - LLDB_PLUGIN_INITIALIZE(SymbolVendorMacOSX); - LLDB_PLUGIN_INITIALIZE(ProcessKDP); - LLDB_PLUGIN_INITIALIZE(DynamicLoaderDarwinKernel); -#endif - - // This plugin is valid on any host that talks to a Darwin remote. It - // shouldn't be limited to __APPLE__. - LLDB_PLUGIN_INITIALIZE(StructuredDataDarwinLog); - - // Platform agnostic plugins - LLDB_PLUGIN_INITIALIZE(PlatformRemoteGDBServer); - - LLDB_PLUGIN_INITIALIZE(ProcessGDBRemote); - LLDB_PLUGIN_INITIALIZE(DynamicLoaderMacOSXDYLD); - LLDB_PLUGIN_INITIALIZE(DynamicLoaderPOSIXDYLD); - LLDB_PLUGIN_INITIALIZE(DynamicLoaderWasmDYLD); // Before DynamicLoaderStatic. - LLDB_PLUGIN_INITIALIZE(DynamicLoaderStatic); - LLDB_PLUGIN_INITIALIZE(DynamicLoaderWindowsDYLD); - - // Scan for any system or user LLDB plug-ins + // Scan for any system or user LLDB plug-ins. PluginManager::Initialize(); // The process settings need to know about installed plug-ins, so the - // Settings must be initialized - // AFTER PluginManager::Initialize is called. - + // Settings must be initialized AFTER PluginManager::Initialize is called. Debugger::SettingsInitialize(); return llvm::Error::success(); @@ -263,106 +62,11 @@ void SystemInitializerFull::Terminate() { Debugger::SettingsTerminate(); - // Terminate and unload and loaded system or user LLDB plug-ins + // Terminate and unload and loaded system or user LLDB plug-ins. PluginManager::Terminate(); - LLDB_PLUGIN_TERMINATE(TypeSystemClang); - - LLDB_PLUGIN_TERMINATE(ArchitectureArm); - LLDB_PLUGIN_TERMINATE(ArchitectureMips); - LLDB_PLUGIN_TERMINATE(ArchitecturePPC64); - -#define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_TERMINATE) -#include "llvm/Config/Targets.def" - - LLDB_PLUGIN_TERMINATE(DisassemblerLLVMC); - - LLDB_PLUGIN_TERMINATE(JITLoaderGDB); - LLDB_PLUGIN_TERMINATE(ProcessElfCore); - LLDB_PLUGIN_TERMINATE(ProcessMachCore); - LLDB_PLUGIN_TERMINATE(ProcessMinidump); - LLDB_PLUGIN_TERMINATE(MemoryHistoryASan); - - LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeASan); - LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeTSan); - LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeUBSan); - LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeMainThreadChecker); - - LLDB_PLUGIN_TERMINATE(SymbolVendorWasm); - LLDB_PLUGIN_TERMINATE(SymbolVendorELF); - LLDB_PLUGIN_TERMINATE(SymbolFileBreakpad); - LLDB_PLUGIN_TERMINATE(SymbolFileDWARF); - LLDB_PLUGIN_TERMINATE(SymbolFilePDB); - LLDB_PLUGIN_TERMINATE(SymbolFileSymtab); - LLDB_PLUGIN_TERMINATE(UnwindAssembly_x86); - LLDB_PLUGIN_TERMINATE(UnwindAssemblyInstEmulation); - - LLDB_PLUGIN_TERMINATE(EmulateInstructionARM); - LLDB_PLUGIN_TERMINATE(EmulateInstructionARM64); - LLDB_PLUGIN_TERMINATE(EmulateInstructionMIPS); - LLDB_PLUGIN_TERMINATE(EmulateInstructionMIPS64); - LLDB_PLUGIN_TERMINATE(EmulateInstructionPPC64); - - LLDB_PLUGIN_TERMINATE(ItaniumABILanguageRuntime); - LLDB_PLUGIN_TERMINATE(AppleObjCRuntime); - LLDB_PLUGIN_TERMINATE(SystemRuntimeMacOSX); - LLDB_PLUGIN_TERMINATE(RenderScriptRuntime); - - LLDB_PLUGIN_TERMINATE(CPlusPlusLanguage); - LLDB_PLUGIN_TERMINATE(ObjCLanguage); - LLDB_PLUGIN_TERMINATE(ObjCPlusPlusLanguage); - -#if defined(__APPLE__) - LLDB_PLUGIN_TERMINATE(DynamicLoaderDarwinKernel); - LLDB_PLUGIN_TERMINATE(ProcessKDP); - LLDB_PLUGIN_TERMINATE(SymbolVendorMacOSX); -#endif - -#if defined(__FreeBSD__) - LLDB_PLUGIN_TERMINATE(ProcessFreeBSD); -#endif - Debugger::SettingsTerminate(); - - LLDB_PLUGIN_TERMINATE(PlatformRemoteGDBServer); - LLDB_PLUGIN_TERMINATE(ProcessGDBRemote); - LLDB_PLUGIN_TERMINATE(StructuredDataDarwinLog); - - LLDB_PLUGIN_TERMINATE(DynamicLoaderMacOSXDYLD); - LLDB_PLUGIN_TERMINATE(DynamicLoaderPOSIXDYLD); - LLDB_PLUGIN_TERMINATE(DynamicLoaderWasmDYLD); - LLDB_PLUGIN_TERMINATE(DynamicLoaderStatic); - LLDB_PLUGIN_TERMINATE(DynamicLoaderWindowsDYLD); - - LLDB_PLUGIN_TERMINATE(PlatformFreeBSD); - LLDB_PLUGIN_TERMINATE(PlatformLinux); - LLDB_PLUGIN_TERMINATE(PlatformNetBSD); - LLDB_PLUGIN_TERMINATE(PlatformOpenBSD); - LLDB_PLUGIN_TERMINATE(PlatformWindows); - LLDB_PLUGIN_TERMINATE(PlatformAndroid); - LLDB_PLUGIN_TERMINATE(PlatformMacOSX); - - LLDB_PLUGIN_TERMINATE(ObjectFileBreakpad); - LLDB_PLUGIN_TERMINATE(ObjectFileELF); - LLDB_PLUGIN_TERMINATE(ObjectFileMachO); - LLDB_PLUGIN_TERMINATE(ObjectFilePECOFF); - LLDB_PLUGIN_TERMINATE(ObjectFileWasm); - - LLDB_PLUGIN_TERMINATE(ObjectContainerBSDArchive); - LLDB_PLUGIN_TERMINATE(ObjectContainerUniversalMachO); - -#if LLDB_ENABLE_PYTHON - LLDB_PLUGIN_TERMINATE(OperatingSystemPython); -#endif - -#if LLDB_ENABLE_PYTHON - LLDB_PLUGIN_TERMINATE(ScriptInterpreterPython); -#endif - -#if LLDB_ENABLE_LUA - LLDB_PLUGIN_TERMINATE(ScriptInterpreterLua); -#endif - - LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone); +#define LLDB_PLUGIN(p) LLDB_PLUGIN_TERMINATE(p); +#include "Plugins/Plugins.def" // Now shutdown the common parts, in reverse order. SystemInitializerCommon::Terminate(); |
