[Lldb-commits] [PATCH] D73067: [lldb/CMake] Auto-generate the Initialize and Terminate calls for plugins

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Jan 20 16:09:22 PST 2020


JDevlieghere created this revision.
JDevlieghere added reviewers: labath, xiaobai, teemperor, compnerd.
Herald added subscribers: s.egerton, jsji, abidh, atanasyan, simoncook, fedor.sergeev, kbarton, aheejin, krytarowski, mgorny, nemanjai, dschuff.
Herald added a project: LLDB.
JDevlieghere added a child revision: D73016: [lldb/CMake] Make it possible to disable plugins at configuration time.
Herald added a subscriber: wuzish.
JDevlieghere marked an inline comment as done.
JDevlieghere added inline comments.


================
Comment at: lldb/source/API/SystemInitializerFull.cpp:136
+// Some of the plugins have their own namespace.
+using namespace lldb_private::breakpad;
+using namespace clang;
----------------
I used the namespaces to limit the churn, but I would prefer to just remove them altogether form the plugins, or at least have the main entry point live under `lldb_private`. 


This patch changes the way we initialize and terminate the plugins in the system initializer. It uses a similar approach as LLVM's TARGETS_TO_BUILD with a def file that enumerates the configured plugins. To make this work I had to rename some of the plugins. I went for the solution with the least churn, but we should probably clean this up in the future as separate patches.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D73067

Files:
  lldb/source/API/SystemInitializerFull.cpp
  lldb/source/Plugins/CMakeLists.txt
  lldb/source/Plugins/Disassembler/llvm/CMakeLists.txt
  lldb/source/Plugins/DynamicLoader/CMakeLists.txt
  lldb/source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt
  lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
  lldb/source/Plugins/Instruction/ARM/CMakeLists.txt
  lldb/source/Plugins/Instruction/ARM64/CMakeLists.txt
  lldb/source/Plugins/Instruction/MIPS/CMakeLists.txt
  lldb/source/Plugins/Instruction/MIPS64/CMakeLists.txt
  lldb/source/Plugins/Instruction/PPC64/CMakeLists.txt
  lldb/source/Plugins/InstrumentationRuntime/ASan/CMakeLists.txt
  lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/CMakeLists.txt
  lldb/source/Plugins/InstrumentationRuntime/TSan/CMakeLists.txt
  lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
  lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
  lldb/source/Plugins/Language/ClangCommon/ClangCommon.h
  lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
  lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
  lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt
  lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
  lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
  lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
  lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
  lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
  lldb/source/Plugins/ObjectContainer/Universal-Mach-O/CMakeLists.txt
  lldb/source/Plugins/OperatingSystem/Python/CMakeLists.txt
  lldb/source/Plugins/Platform/Android/CMakeLists.txt
  lldb/source/Plugins/Platform/CMakeLists.txt
  lldb/source/Plugins/Platform/gdb-server/CMakeLists.txt
  lldb/source/Plugins/Plugins.def.in
  lldb/source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt
  lldb/source/Plugins/Process/Utility/ProcessUtility.h
  lldb/source/Plugins/Process/elf-core/CMakeLists.txt
  lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
  lldb/source/Plugins/UnwindAssembly/x86/CMakeLists.txt
  lldb/source/Symbol/CMakeLists.txt
  lldb/source/Target/CMakeLists.txt
  lldb/tools/lldb-server/CMakeLists.txt
  lldb/unittests/Expression/CMakeLists.txt
  lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73067.239206.patch
Type: text/x-patch
Size: 37656 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200121/4fd1a7c5/attachment-0001.bin>


More information about the lldb-commits mailing list