[PATCH] D113717: [Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer.

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 10 11:38:52 PST 2021


dblaikie added a comment.

In D113717#3185471 <https://reviews.llvm.org/D113717#3185471>, @thakis wrote:

> Turns out this isn't even just theoretical: This _did_ add a dependency on libcurl to lld:
>
>   //lld/tools/lld:lld has an assert_no_deps entry:
>     //llvm/lib/Debuginfod:Debuginfod
>   which fails for the dependency path:
>     //lld/tools/lld:lld ->
>     //lld/COFF:COFF ->
>     //llvm/lib/DebugInfo/Symbolize:Symbolize ->
>     //llvm/lib/Debuginfod:Debuginfod
>
> The linker shouldn't do http requests, obviously. Let's revert this for now until at least the lld dep is figured out.

I'm not 100% sure that it's obvious the linker shouldn't make http requests if it can be used to improve diagnostics.

Though most of lld's symbolizing is on object files and I don't think it's expected that debug info for unlinked object files would be in a symbol server - but perhaps there are cases where lld might want to symbolize an address in a .so where symbolizing might still be useful (though arguably so - if it's system installed it's probably not super relevant to the user to know what source files the symbol came from - they're just dealing with the system library, they aren't the authors of it - and if it's something they authored it probably has local debug info that doesn't need looking up)

@noajshu Could you look into if/how lld uses the symbolizer and if there are use cases where it would have an positive effect on the user experience (improved diagnostic quality, etc) to lookup debug info on the symbol server? If there are no such cases, maybe having a separate entry point into the symbolizing library that statically does not use debuginfod would be good. The library dependency would still be there, but if a caller only uses the non-debuginfod entry point, nothing from the debuginfod library would be pulled in at link time.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113717/new/

https://reviews.llvm.org/D113717



More information about the llvm-commits mailing list