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@meta.com> Co-authored-by: Alex Langford <nirvashtzero@gmail.com>
8 lines
341 B
TableGen
8 lines
341 B
TableGen
include "../../../../include/lldb/Core/PropertiesBase.td"
|
|
|
|
let Definition = "symbollocatordebuginfod" in {
|
|
def ServerURLs : Property<"server_urls", "Array">,
|
|
ElementType<"String">,
|
|
Desc<"An ordered list of Debuginfod server URLs to query for symbols. This defaults to the contents of the DEBUGINFOD_URLS environment variable.">;
|
|
}
|