Revert "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This temporarily reverts commit 7d6da329de
because it's causing test failures on the bots.
This commit is contained in:
@@ -24,8 +24,89 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#define LLDB_PLUGIN(p) LLDB_PLUGIN_DECLARE(p)
|
||||
#include "Plugins/Plugins.def"
|
||||
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(ProcessWindowsCommon)
|
||||
#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)
|
||||
|
||||
using namespace lldb_private;
|
||||
|
||||
@@ -33,24 +114,144 @@ 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();
|
||||
|
||||
#define LLDB_PLUGIN(p) LLDB_PLUGIN_INITIALIZE(p);
|
||||
#include "Plugins/Plugins.def"
|
||||
LLDB_PLUGIN_INITIALIZE(TypeSystemClang);
|
||||
|
||||
// Scan for any system or user LLDB plug-ins.
|
||||
#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);
|
||||
|
||||
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(ProcessWindowsCommon);
|
||||
#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
|
||||
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();
|
||||
@@ -62,11 +263,106 @@ 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();
|
||||
|
||||
#define LLDB_PLUGIN(p) LLDB_PLUGIN_TERMINATE(p);
|
||||
#include "Plugins/Plugins.def"
|
||||
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);
|
||||
|
||||
// Now shutdown the common parts, in reverse order.
|
||||
SystemInitializerCommon::Terminate();
|
||||
|
||||
Reference in New Issue
Block a user