[all-commits] [llvm/llvm-project] c43c86: DEBUGINFOD based DWP acquisition for LLDB (#70996)

Kevin Frei via All-commits all-commits at lists.llvm.org
Mon Dec 4 11:45:54 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c43c86c285a39dcc6ec4a15b8f155152031b3997
      https://github.com/llvm/llvm-project/commit/c43c86c285a39dcc6ec4a15b8f155152031b3997
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.h
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    M llvm/lib/Debuginfod/Debuginfod.cpp

  Log Message:
  -----------
  DEBUGINFOD based DWP acquisition for LLDB (#70996)

I've plumbed the LLVM DebugInfoD client into LLDB, and added automatic
downloading of DWP files to the SymbolFileDWARF.cpp plugin. If you have
DEBUGINFOD_URLS set to a space delimited set of web servers, LLDB will
try to use them as a last resort when searching for DWP files. If you do
*not* have that environment variable set, nothing should be changed.
There's also a setting, per @clayborg 's suggestion, that will override
the environment variable, or can be used instead of the environment
variable. The setting is why I also needed to add an API to the
llvm-debuginfod library

### Test Plan:

Suggestions are welcome here. I should probably have some positive and
negative tests, but I wanted to get the diff up for people who have a
clue what they're doing to rip it to pieces before spending too much
time validating the initial implementation.

---------

Co-authored-by: Kevin Frei <freik at meta.com>
Co-authored-by: Alex Langford <nirvashtzero at gmail.com>




More information about the All-commits mailing list