[all-commits] [llvm/llvm-project] c3a302: [lldb] Convert LocateSymbolFile into a plugin (#71...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Fri Nov 3 15:42:40 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3a302d399e62ac2a21c52f1f0215bd772cbf54b
      https://github.com/llvm/llvm-project/commit/c3a302d399e62ac2a21c52f1f0215bd772cbf54b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Symbol/LocateSymbolFile.h
    A lldb/include/lldb/Symbol/SymbolLocator.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/CMakeLists.txt
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    A lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/DebugSymbols/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
    A lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.h
    A lldb/source/Plugins/SymbolLocator/Default/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp
    A lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.h
    M lldb/source/Symbol/LocateSymbolFile.cpp

  Log Message:
  -----------
  [lldb] Convert LocateSymbolFile into a plugin (#71151)

    This commit contains the initial scaffolding to convert the
    functionality currently implemented in LocateSymbolFile to a plugin
    architecture. The plugin approach allows us to easily add new ways to
    find symbols and fixes some issues with the current implementation.

    For instance, currently we (ab)use the host OS to include support for
    querying the DebugSymbols framework on macOS. The plugin approach
    retains all the benefits (including the ability to compile this out on
    other platforms) while maintaining a higher level of separation with the
    platform independent code.

    To limit the scope of this patch, I've only converted a single function:
    LocateExecutableObjectFile. Future commits will convert the remaining
    LocateSymbolFile functions and eventually remove LocateSymbolFile. To
    make reviewing easier, that will done as follow-ups.




More information about the All-commits mailing list