[Lldb-commits] [lldb] 50c9cd9 - Revert "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 17 19:05:00 PST 2020


Author: Jonas Devlieghere
Date: 2020-02-17T19:04:50-08:00
New Revision: 50c9cd9526a7835ad5a702471a997c30d4fc6bcc

URL: https://github.com/llvm/llvm-project/commit/50c9cd9526a7835ad5a702471a997c30d4fc6bcc
DIFF: https://github.com/llvm/llvm-project/commit/50c9cd9526a7835ad5a702471a997c30d4fc6bcc.diff

LOG: Revert "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"

This is still failing spectacularly on the Windows bot and I still have
no clue what's going on.

Added: 
    

Modified: 
    lldb/include/lldb/Core/PluginManager.h
    lldb/source/API/SystemInitializerFull.cpp
    lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
    lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
    lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
    lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
    lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
    lldb/source/Plugins/CMakeLists.txt
    lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
    lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
    lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
    lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
    lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
    lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
    lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
    lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
    lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
    lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
    lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
    lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
    lldb/source/Plugins/OperatingSystem/CMakeLists.txt
    lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
    lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    lldb/source/Plugins/Process/Utility/CMakeLists.txt
    lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
    lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
    lldb/tools/lldb-test/CMakeLists.txt
    lldb/tools/lldb-test/SystemInitializerTest.cpp
    lldb/unittests/Disassembler/CMakeLists.txt
    lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
    lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt

Removed: 
    lldb/source/Plugins/Plugins.def.in


################################################################################
diff  --git a/lldb/include/lldb/Core/PluginManager.h b/lldb/include/lldb/Core/PluginManager.h
index d42e53ac6fe3..1544ecc386c7 100644
--- a/lldb/include/lldb/Core/PluginManager.h
+++ b/lldb/include/lldb/Core/PluginManager.h
@@ -22,15 +22,12 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#define LLDB_PLUGIN_DEFINE_ADV(ClassName, PluginName)                          \
+#define LLDB_PLUGIN_DEFINE(PluginName)                                         \
   namespace lldb_private {                                                     \
-  void lldb_initialize_##PluginName() { ClassName::Initialize(); }             \
-  void lldb_terminate_##PluginName() { ClassName::Terminate(); }               \
+  void lldb_initialize_##PluginName() { PluginName::Initialize(); }            \
+  void lldb_terminate_##PluginName() { PluginName::Terminate(); }              \
   }
 
-#define LLDB_PLUGIN_DEFINE(PluginName)                                         \
-  LLDB_PLUGIN_DEFINE_ADV(PluginName, PluginName)
-
 // FIXME: Generate me with CMake
 #define LLDB_PLUGIN_DECLARE(PluginName)                                        \
   namespace lldb_private {                                                     \

diff  --git a/lldb/source/API/SystemInitializerFull.cpp b/lldb/source/API/SystemInitializerFull.cpp
index f6b37c5bfebd..b629e53e9dfe 100644
--- a/lldb/source/API/SystemInitializerFull.cpp
+++ b/lldb/source/API/SystemInitializerFull.cpp
@@ -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(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)
 
 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);
+
+#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);
 
-  // Scan for any system or user LLDB plug-ins.
+  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
   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();

diff  --git a/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp b/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
index 8ba63b9ba4a1..94f7c2aff641 100644
--- a/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
+++ b/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
@@ -1665,7 +1665,7 @@ ABIMacOSX_arm64::CreateInstance(ProcessSP process_sp, const ArchSpec &arch) {
   const llvm::Triple::VendorType vendor_type = arch.GetTriple().getVendor();
 
   if (vendor_type == llvm::Triple::Apple) {
-    if (arch_type == llvm::Triple::aarch64 ||
+    if (arch_type == llvm::Triple::aarch64 || 
         arch_type == llvm::Triple::aarch64_32) {
       return ABISP(
           new ABIMacOSX_arm64(std::move(process_sp), MakeMCRegisterInfo(arch)));

diff  --git a/lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp b/lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
index 10e3b0ff2f7d..1690f1c511f2 100644
--- a/lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
+++ b/lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
@@ -55,7 +55,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(ABISysV_arc, ABIARC)
+LLDB_PLUGIN_DEFINE(ABISysV_arc)
 
 namespace {
 namespace dwarf {
@@ -146,7 +146,7 @@ size_t ABISysV_arc::GetRedZoneSize() const { return 0; }
 bool ABISysV_arc::IsRegisterFileReduced(RegisterContext &reg_ctx) const {
   if (!m_is_reg_file_reduced) {
     const auto *const rf_build_reg = reg_ctx.GetRegisterInfoByName("rf_build");
-
+    
     const auto reg_value = reg_ctx.ReadRegisterAsUnsigned(rf_build_reg,
                                                           /*fail_value*/ 0);
     // RF_BUILD "Number of Entries" bit.
@@ -241,7 +241,7 @@ bool ABISysV_arc::PrepareTrivialCall(Thread &thread, addr_t sp, addr_t pc,
   // Make sure number of parameters matches prototype.
   assert(!prototype.isFunctionVarArg());
   assert(prototype.getFunctionNumParams() == args.size());
-
+  
   const size_t regs_for_args_count = IsRegisterFileReduced(*reg_ctx) ? 4U : 8U;
 
   // Number of arguments passed on stack.

diff  --git a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
index ef500cb198a8..73d8308ae0dc 100644
--- a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
+++ b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
@@ -34,6 +34,8 @@
 using namespace lldb;
 using namespace lldb_private;
 
+LLDB_PLUGIN_DEFINE(ABIMacOSX_arm)
+
 static RegisterInfo g_register_infos[] = {
     //  NAME       ALT       SZ OFF ENCODING         FORMAT          EH_FRAME
     //  DWARF               GENERIC                     PROCESS PLUGIN

diff  --git a/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp b/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
index 32313d4cd815..601d9c2f0f05 100644
--- a/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
+++ b/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
@@ -32,7 +32,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(ABISysV_hexagon, ABIHexagon)
+LLDB_PLUGIN_DEFINE(ABISysV_hexagon)
 
 static RegisterInfo g_register_infos[] = {
     // hexagon-core.xml

diff  --git a/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp b/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
index eced2adc7591..bfeaa1226df2 100644
--- a/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
+++ b/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
@@ -32,7 +32,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(ABISysV_s390x, ABISystemZ)
+LLDB_PLUGIN_DEFINE(ABISysV_s390x)
 
 enum dwarf_regnums {
   // General Purpose Registers

diff  --git a/lldb/source/Plugins/CMakeLists.txt b/lldb/source/Plugins/CMakeLists.txt
index 7e6276ea1d87..08817baec14c 100644
--- a/lldb/source/Plugins/CMakeLists.txt
+++ b/lldb/source/Plugins/CMakeLists.txt
@@ -21,34 +21,3 @@ add_subdirectory(SystemRuntime)
 add_subdirectory(SymbolVendor)
 add_subdirectory(TypeSystem)
 add_subdirectory(UnwindAssembly)
-
-set(LLDB_STRIPPED_PLUGINS)
-get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
-
-set(LLDB_ENUM_PLUGINS "")
-
-# Some plugins depend on other plugins being loaded before. This hacks around
-# that issue by loading them last. Note that there's no order guarantee within
-# this category.
-set(LLDB_ENUM_PLUGINS_LOADED_LAST "")
-
-foreach(p ${LLDB_ALL_PLUGINS})
-  # Strip lldbPlugin form the plugin name.
-  string(SUBSTRING ${p} 10 -1 pStripped)
-  if(${pStripped} MATCHES "^ScriptInterpreter*")
-    set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_SCRIPT_PLUGIN(${pStripped})\n")
-  elseif(${pStripped} MATCHES "^ProcessWindows*")
-    set(LLDB_ENUM_PLUGINS_LOADED_LAST "${LLDB_ENUM_PLUGINS_LOADED_LAST}LLDB_PLUGIN(${pStripped})\n")
-  elseif(${pStripped} STREQUAL "DynamicLoaderStatic")
-    set(LLDB_ENUM_PLUGINS_LOADED_LAST "${LLDB_ENUM_PLUGINS_LOADED_LAST}LLDB_PLUGIN(${pStripped})\n")
-  else()
-    set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_PLUGIN(${pStripped})\n")
-  endif()
-endforeach(p)
-
-configure_file(
-  ${CMAKE_CURRENT_SOURCE_DIR}/Plugins.def.in
-  ${CMAKE_CURRENT_BINARY_DIR}/Plugins.def
-  )
-
-set_property(GLOBAL PROPERTY LLDB_PLUGINS_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR})

diff  --git a/lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt b/lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
index 51959cbbc993..a25a436d498e 100644
--- a/lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
+++ b/lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginDisassemblerLLVMC PLUGIN
+add_lldb_library(lldbPluginDisassemblerLLVM PLUGIN
   DisassemblerLLVMC.cpp
 
   LINK_LIBS

diff  --git a/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp b/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
index fe86b2929073..4e227abbafc2 100644
--- a/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
+++ b/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
@@ -25,8 +25,6 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE(DynamicLoaderHexagonDYLD)
-
 // Aidan 21/05/2014
 //
 // Notes about hexagon dynamic loading:

diff  --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
index ac60af5336ed..c572c3024f9c 100644
--- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
+++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
@@ -29,7 +29,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(DynamicLoaderPOSIXDYLD, DynamicLoaderPosixDYLD)
+LLDB_PLUGIN_DEFINE(DynamicLoaderPOSIXDYLD)
 
 void DynamicLoaderPOSIXDYLD::Initialize() {
   PluginManager::RegisterPlugin(GetPluginNameStatic(),

diff  --git a/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt b/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
index 0506bb6227ca..909e92ace8d4 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
+++ b/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
@@ -2,7 +2,7 @@ if(NOT LLDB_BUILT_STANDALONE)
   set(tablegen_deps intrinsics_gen)
 endif()
 
-add_lldb_library(lldbPluginExpressionParserClang 
+add_lldb_library(lldbPluginExpressionParserClang PLUGIN
   ASTResultSynthesizer.cpp
   ASTStructExtractor.cpp
   ASTUtils.cpp

diff  --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
index aa99db418283..e87bc1f75f5c 100644
--- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
@@ -30,7 +30,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(EmulateInstructionARM, InstructionARM)
+LLDB_PLUGIN_DEFINE(EmulateInstructionARM)
 
 // Convenient macro definitions.
 #define APSR_C Bit32(m_opcode_cpsr, CPSR_C_POS)

diff  --git a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
index f58453909426..144d38373247 100644
--- a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
+++ b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
@@ -47,7 +47,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(EmulateInstructionARM64, InstructionARM64)
+LLDB_PLUGIN_DEFINE(EmulateInstructionARM64)
 
 static bool LLDBTableGetRegisterInfo(uint32_t reg_num, RegisterInfo &reg_info) {
   if (reg_num >= llvm::array_lengthof(g_register_infos_arm64_le))

diff  --git a/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp b/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
index 61eb8912295f..ae74c89c4f2e 100644
--- a/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
+++ b/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
@@ -40,7 +40,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(EmulateInstructionMIPS, InstructionMIPS)
+LLDB_PLUGIN_DEFINE(EmulateInstructionMIPS)
 
 #define UInt(x) ((uint64_t)x)
 #define integer int64_t

diff  --git a/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp b/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
index b8305591749b..9a578ab408f7 100644
--- a/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
+++ b/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
@@ -40,7 +40,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(EmulateInstructionMIPS64, InstructionMIPS64)
+LLDB_PLUGIN_DEFINE(EmulateInstructionMIPS64)
 
 #define UInt(x) ((uint64_t)x)
 #define integer int64_t

diff  --git a/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp b/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
index 1cab8fdd6e2a..2588c935dd6b 100644
--- a/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
+++ b/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
@@ -25,7 +25,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(EmulateInstructionPPC64, InstructionPPC64)
+LLDB_PLUGIN_DEFINE(EmulateInstructionPPC64)
 
 EmulateInstructionPPC64::EmulateInstructionPPC64(const ArchSpec &arch)
     : EmulateInstruction(arch) {}

diff  --git a/lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt b/lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
index 980d788afc72..854320dd312e 100644
--- a/lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
+++ b/lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginClangCommon
+add_lldb_library(lldbPluginClangCommon PLUGIN
   ClangHighlighter.cpp
 
   LINK_LIBS

diff  --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
index ebfa7c8c005c..508a361aa6dd 100644
--- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
+++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginCPPRuntime 
+add_lldb_library(lldbPluginCPPRuntime PLUGIN
   CPPLanguageRuntime.cpp
 
   LINK_LIBS

diff  --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
index df2aaca8a943..e08f0f070f6c 100644
--- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
@@ -40,7 +40,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(ItaniumABILanguageRuntime, CXXItaniumABI)
+LLDB_PLUGIN_DEFINE(ItaniumABILanguageRuntime)
 
 static const char *vtable_demangled_prefix = "vtable for ";
 

diff  --git a/lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt b/lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
index d6de9dcc31bc..5b3ea2ff27fa 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginObjCRuntime
+add_lldb_library(lldbPluginObjCRuntime PLUGIN
   ObjCLanguageRuntime.cpp
 
   LINK_LIBS

diff  --git a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
index bb56379ed1e4..bc30e57d1d0c 100644
--- a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
+++ b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
@@ -20,8 +20,7 @@ using namespace lldb;
 using namespace lldb_private;
 using namespace llvm::MachO;
 
-LLDB_PLUGIN_DEFINE_ADV(ObjectContainerUniversalMachO,
-                       ObjectContainerMachOArchive)
+LLDB_PLUGIN_DEFINE(ObjectContainerUniversalMachO)
 
 void ObjectContainerUniversalMachO::Initialize() {
   PluginManager::RegisterPlugin(GetPluginNameStatic(),

diff  --git a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
index 371bbb5ff84d..2d505bcd409b 100644
--- a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
+++ b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
@@ -39,8 +39,6 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE(ObjectFileJIT)
-
 char ObjectFileJIT::ID;
 
 void ObjectFileJIT::Initialize() {

diff  --git a/lldb/source/Plugins/OperatingSystem/CMakeLists.txt b/lldb/source/Plugins/OperatingSystem/CMakeLists.txt
index 06d909b862a0..655007a0aab9 100644
--- a/lldb/source/Plugins/OperatingSystem/CMakeLists.txt
+++ b/lldb/source/Plugins/OperatingSystem/CMakeLists.txt
@@ -1,3 +1 @@
-if (LLDB_ENABLE_PYTHON)
-  add_subdirectory(Python)
-endif()
+add_subdirectory(Python)

diff  --git a/lldb/source/Plugins/Platform/POSIX/CMakeLists.txt b/lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
index 106fe964ddb7..c4c62e46add3 100644
--- a/lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
+++ b/lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginPlatformPOSIX 
+add_lldb_library(lldbPluginPlatformPOSIX PLUGIN
   PlatformPOSIX.cpp
 
    LINK_LIBS

diff  --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
index b0467555665c..550b68090e7a 100644
--- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
+++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
@@ -35,7 +35,7 @@ using namespace lldb;
 using namespace lldb_private;
 using namespace lldb_private::platform_gdb_server;
 
-LLDB_PLUGIN_DEFINE_ADV(PlatformRemoteGDBServer, PlatformGDB)
+LLDB_PLUGIN_DEFINE(PlatformRemoteGDBServer)
 
 static bool g_initialized = false;
 

diff  --git a/lldb/source/Plugins/Plugins.def.in b/lldb/source/Plugins/Plugins.def.in
deleted file mode 100644
index 63a68a17e6ec..000000000000
--- a/lldb/source/Plugins/Plugins.def.in
+++ /dev/null
@@ -1,36 +0,0 @@
-/*===- lldb/source/Plugin/Plugins.def ---------------------------*- C++ -*-===*\
-|*                                                                            *|
-|* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
-|* Exceptions.                                                                *|
-|* See https://llvm.org/LICENSE.txt for license information.                  *|
-|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
-|*                                                                            *|
-|*===----------------------------------------------------------------------===*|
-|*                                                                            *|
-|* This file enumerates all of the plugins supported by this build of LLDB.   *|
-|* Clients of this file should define the LLDB_PLUGIN macro to be a           *|
-|* function-like macro with a single parameter (the name of the plugin)       *|
-|* including this file will then enumerate all of the plugins. Script         *|
-|* interpreter plugins can be enumerated separately by defining               *|
-|* LLDB_SCRIPT_PLUGIN in which case they are not part of LLDB_PLUGIN.         *|
-|*                                                                            *|
-|*                                                                            *|
-|* The set of plugins supported by LLDB is generated at configuration         *|
-|* time, at which point this header is generated. Do not modify this          *|
-|* header directly.                                                           *|
-|*                                                                            *|
-\*===----------------------------------------------------------------------===*/
-
-#ifndef LLDB_PLUGIN
-#  error Please define the macro LLDB_PLUGIN(PluginName)
-#endif
-
-#ifndef LLDB_SCRIPT_PLUGIN
-#define LLDB_SCRIPT_PLUGIN(p) LLDB_PLUGIN(p)
-#endif
-
- at LLDB_ENUM_PLUGINS@
- at LLDB_ENUM_PLUGINS_LOADED_LAST@
-
-#undef LLDB_PLUGIN
-#undef LLDB_SCRIPT_PLUGIN

diff  --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
index 09d1965f25ed..e78912e3cd30 100644
--- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
+++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
@@ -50,7 +50,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(ProcessKDP, ProcessMacOSXKernel)
+LLDB_PLUGIN_DEFINE(ProcessKDP)
 
 namespace {
 

diff  --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
index dfc8c11f3869..55746b04c39f 100644
--- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginProcessUtility
+add_lldb_library(lldbPluginProcessUtility PLUGIN
   AuxVector.cpp
   DynamicRegisterInfo.cpp
   FreeBSDSignals.cpp

diff  --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
index 7b020f55e993..286a95fa5894 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -44,7 +44,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(ProcessWindows, ProcessWindowsCommon)
+LLDB_PLUGIN_DEFINE(ProcessWindows)
 
 namespace {
 std::string GetProcessExecutableName(HANDLE process_handle) {

diff  --git a/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt b/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
index 7dab9370e512..4f19231c346c 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginSymbolFileNativePDB
+add_lldb_library(lldbPluginSymbolFileNativePDB PLUGIN
   CodeViewRegisterMapping.cpp
   CompileUnitIndex.cpp
   DWARFLocationExpression.cpp

diff  --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
index dc62e957c1a1..430ba09b811c 100644
--- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
+++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
@@ -30,7 +30,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_DEFINE_ADV(UnwindAssembly_x86, UnwindAssemblyX86)
+LLDB_PLUGIN_DEFINE(UnwindAssembly_x86)
 
 //  UnwindAssemblyParser_x86 method definitions
 

diff  --git a/lldb/tools/lldb-test/CMakeLists.txt b/lldb/tools/lldb-test/CMakeLists.txt
index f3530fd7b859..2ab1ceacdcd1 100644
--- a/lldb/tools/lldb-test/CMakeLists.txt
+++ b/lldb/tools/lldb-test/CMakeLists.txt
@@ -23,6 +23,5 @@ add_lldb_tool(lldb-test
   LINK_COMPONENTS
     Support
   )
-
-target_include_directories(lldb-test PRIVATE ${LLDB_SOURCE_DIR}/source)
-target_include_directories(lldb-test PRIVATE ${LLDB_BINARY_DIR}/source)
+  
+include_directories(${LLDB_SOURCE_DIR}/source)

diff  --git a/lldb/tools/lldb-test/SystemInitializerTest.cpp b/lldb/tools/lldb-test/SystemInitializerTest.cpp
index cd180b5f2387..b33b08640471 100644
--- a/lldb/tools/lldb-test/SystemInitializerTest.cpp
+++ b/lldb/tools/lldb-test/SystemInitializerTest.cpp
@@ -17,10 +17,82 @@
 
 #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)
+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)
 
 using namespace lldb_private;
 
@@ -28,29 +100,133 @@ SystemInitializerTest::SystemInitializerTest() {}
 
 SystemInitializerTest::~SystemInitializerTest() {}
 
+#define LLDB_PROCESS_AArch64(op) op(ABIAArch64);
+#define LLDB_PROCESS_ARM(op) op(ABIARM);
+#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_ARC(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 SystemInitializerTest::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);
+
+  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_SCRIPT_PLUGIN(p)
-#define LLDB_PLUGIN(p) LLDB_PLUGIN_INITIALIZE(p);
-#include "Plugins/Plugins.def"
+  LLDB_PLUGIN_INITIALIZE(TypeSystemClang);
 
-  // We ignored all the script interpreter earlier, so initialize
-  // ScriptInterpreterNone explicitly.
-  LLDB_PLUGIN_INITIALIZE(ScriptInterpreterNone);
+#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(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();
@@ -62,16 +238,94 @@ void SystemInitializerTest::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();
 
-  // We ignored all the script interpreter earlier, so terminate
-  // ScriptInterpreterNone explicitly.
-  LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone);
+  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);
 
-#define LLDB_SCRIPT_PLUGIN(p)
-#define LLDB_PLUGIN(p) LLDB_PLUGIN_TERMINATE(p);
-#include "Plugins/Plugins.def"
+  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);
+
+  LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone);
 
   // Now shutdown the common parts, in reverse order.
   SystemInitializerCommon::Terminate();

diff  --git a/lldb/unittests/Disassembler/CMakeLists.txt b/lldb/unittests/Disassembler/CMakeLists.txt
index a0a3c264f16c..de78d12fa2fa 100644
--- a/lldb/unittests/Disassembler/CMakeLists.txt
+++ b/lldb/unittests/Disassembler/CMakeLists.txt
@@ -6,7 +6,7 @@ if("ARM" IN_LIST LLVM_TARGETS_TO_BUILD)
       lldbCore
       lldbSymbol
       lldbTarget
-      lldbPluginDisassemblerLLVMC
+      lldbPluginDisassemblerLLVM
       lldbPluginProcessUtility
     LINK_COMPONENTS
       Support

diff  --git a/lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt b/lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
index f3bbd71df32d..77924792fe5c 100644
--- a/lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
+++ b/lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
@@ -5,7 +5,7 @@ add_lldb_unittest(Arm64InstEmulationTests
     lldbSymbol
     lldbTarget
     lldbPluginUnwindAssemblyInstEmulation
-    lldbPluginDisassemblerLLVMC
+    lldbPluginDisassemblerLLVM
     lldbPluginInstructionARM64
     lldbPluginProcessUtility
   LINK_COMPONENTS

diff  --git a/lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt b/lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
index 679f7664cb87..d803f4593636 100644
--- a/lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
+++ b/lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
@@ -5,7 +5,7 @@ add_lldb_unittest(PPC64InstEmulationTests
     lldbSymbol
     lldbTarget
     lldbPluginUnwindAssemblyInstEmulation
-    lldbPluginDisassemblerLLVMC
+    lldbPluginDisassemblerLLVM
     lldbPluginInstructionPPC64
     lldbPluginProcessUtility
   LINK_COMPONENTS


        


More information about the lldb-commits mailing list