debuginfod from elfutils 0.178 onwards is a way to distribute debuginfo files. Some background and context here: https://fosdem.org/2020/schedule/event/debugging_debuginfod/attachments/slides/3887/export/events/attachments/debugging_debuginfod/slides/3887/debuginfod.pdf Yocto should support this out of the box. Initial work items: 1) Enable debuginfod in elfutils. This should be a PACKAGECONFIG, and the build needs some extra dependencies (libmicrohttpd curl sqlite3 libarchive). Initially disabled by default. 2) Add support for ipkg to the debuginfod scanner. 0.178 only supports RPM but the next release (and git master) can also scan .debs, and as ipkgs are binary-compatible with dpkg then this is a trivial addition to the filename matching. 3) Verify that running debuginfod manually over $DEPLOY_DIR and setting DEBUGINFOD_URLS correctly works. Test case: debuginfod-find source hexcode /bin/bash. 4) Determine final integration. Straw man proposal: a class that turns on debuginfod for elfutils and sets DEBUGINFOD_URLS in the image, and a script that runs the elfutils-native debuginfod on DEPLOY_DIR.
Further update: gdb now supports debuginfod. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=0d79cdc494d5eb9db26a602d62c92d49f83f407e I left out step 3.5) enable debuginfod for gdb. Now the patch is upstream we can backport that patch.
As of Feb 27, this seems like a work in progress but one that is almost finish (see ClearLinux). We should just go ahead but keep the status of the project in mind.
ClearLinux has recently disabled this in elfutils: https://github.com/clearlinux-pkgs/elfutils/commit/59d1e17fa224934416bbd12130145055871472c8
video of talk linked from: https://fosdem.org/2020/schedule/event/debugging_debuginfod/
Have submitted this as an Outreachy project for the upcoming internship round - co-mentors would be welcome :)
I'll happily join you in mentoring this Paul, thanks for taking the initiative on that.
Dorinda is working on this with Outreachy.
All merged in oe-core with 410083f93e2c986247cf3a2ff5050847e10cf359. Thanks to Dorinda for the work!