Re: Does gdb debuginfod download libc etc.?

Paul Smith via Gdb <[email protected]> Mon, 09 Mar 2026 16:32:28 -0400
Newsgroups gmane.comp.gdb.devel
Organization GNU's Not UNIX!
Message-ID <[email protected]>
On Mon, 2026-03-09 at 16:57 +0000, Andrew Burgess wrote:
> Unfortunately, there's no debug flag which reports on GDB as it
> parses the build-ids from the core file.  But the patch below which
> applies to gdb-17-branch adds a new 'set debug core-load on' command,
> with this you should be able to:
> 
>   (gdb) set debug core-load on 
>   (gdb) core-file ~/core.54313 
>   [core-load] build_file_mappings: enter
>     [core-load] operator(): start = 0x400000, end = 0x407000,
> filename = /some/program, build-id =
> a004xxxx178xxxx78xxxx6c6cxxxx800df88xxxx
>     [core-load] operator(): start = 0x407000, end = 0x41e000,
> filename = /some/program, build-id = NONE
>     [core-load] operator(): start = 0x41e000, end = 0x427000,
> filename = /some/program, build-id = NONE
>     [core-load] operator(): start = 0x428000, end = 0x429000,
> filename = /some/program, build-id = NONE

Ah, this is very useful.  Unfortunately it leads me to this discovery;
the only output I get from this is:

(gdb) core-file /data/psh13/tmp/core
[core-load] build_file_mappings: enter
[core-load] build_file_mappings: exit

Apparently the executable is handled separately, since that is looked
up immediately afterwards (when setting DEBUGINFOD_VERBOSE=9):

> debuginfod_find_executable f87c1d8cd2118209ef2350b22b187a64d705d6cd
> server urls "http://debuginfod:8002"
> checking build-id
> checking cache dir /home/pds/.cache/debuginfod_client
> found
> /home/pds/.cache/debuginfod_client/f87c1d8cd2118209ef2350b22b187a64d7
> 05d6cd/hdr-executable (bytes=55)
> found
> /home/pds/.cache/debuginfod_client/f87c1d8cd2118209ef2350b22b187a64d7
> 05d6cd/executable (fd=14)
> Reading symbols from
> /home/pds/.cache/debuginfod_client/f87c1d8cd2118209ef2350b22b187a64d7
> 05d6cd/executable...

However, this is very good info, I will proceed to try to figure out
why eu-unstrip etc. can find the build ID values, but GDB cannot.