GNU Binutils 2.34 Branched - Bringing With It "debuginfod" HTTP Server Support
With GNU Binutils 2.34 comes debuginfod support, which is the HTTP server catching our eye while the debuginfod server is distributed as part of the latest elfutils package. This isn't for a general purpose web server thankfully but is an HTTP server for distributing ELF/DWARF debugging information and source code. With debuginfod enabled, Binutils' readelf and objdump utilities can query the HTTP server(s) for debug files that cannot otherwise be found. Enabling this option requires building Binutils using --with-debuginfod.
This is useful for having debuginfod parse RPM archives looking for the appropriate source files or debuginfo based upon the build ID. Red Hat spearheaded the work on debuginfod and as such is currently RPM catered but they are also working on Debian package format support. They are also working to expand debuginfod support to LLVM components and more. This should make debuginfod quite convenient especially within organizations rather than having to carry around a lot of "baggage" on each development workstation with all of the debug packages and more with debuginfod making it easy to query from a central location. More details on debuginfod can be found via this Red Hat blog post.
Other work in Binutils 2.34 includes an --output option for ar to specify now where to extract members of an archive to, a --keep-section option for objcopy/strip, ASCII character graphs for visualizing jumps inside of a function, and other fixes.
The current Binutils 2.34 code up for testing can be found via the new code branch.