* debuginfod: why can't it save real filenames??
@ 2026-11-04 21:06 Paul Smith via Gdb
2026-11-05 16:40 ` Tom Tromey
0 siblings, 1 reply; 2+ messages in thread
From: Paul Smith via Gdb @ 2026-11-04 21:06 UTC (permalink / raw)
To: gdb
When I first started using debuginfod support in GDB I was delighted as
it made things much simpler.
But, the more I use it the more frustrated I am finding one specific
aspect of it: there is no possible way (that I have discovered) to
figure out what the actual library (or binary) name is, that I'm
debugging with! It's quite infuriating.
For example, if I run "info shared" I'm treated to an incomprehensible
set of buildid-based pathnames from my cache, like:
From To Syms Shared Object Library
0x00007f 0x00007f Yes /home/me/.cache/debuginfod_client/c1ce8a211.../executable
0x00007f 0x00007f Yes /home/me/.cache/debuginfod_client/b86ba1ea9.../executable
This is not useful. Even things like "info symbol xyz" show the
buildid path rather than the library name. And if I run backtrace then
the name of the library where the symbol appears is also this
unintelligible value.
Of course, I understand that the directory name is the build ID value
and that it's how we ensure uniqueness so it's required, but why can't
the static filename "executable" be changed to the name of the library
or program that is being represented? Then it would be easy enough to
understand.
E.g, instead of:
~/.cache/debuginfod_client/1234567890.../executable
couldn't we have:
~/.cache/debuginfod_client/1234567890.../libsyslookup.so
?
Is this a limitation of the debuginfod client? Something GDB is doing?
Or is there an option or facility to make this better that I haven't
been able to find?
Thanks for listening!
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: debuginfod: why can't it save real filenames??
2026-11-04 21:06 debuginfod: why can't it save real filenames?? Paul Smith via Gdb
@ 2026-11-05 16:40 ` Tom Tromey
0 siblings, 0 replies; 2+ messages in thread
From: Tom Tromey @ 2026-11-05 16:40 UTC (permalink / raw)
To: Paul Smith via Gdb; +Cc: psmith
>>>>> Paul Smith via Gdb <gdb@sourceware.org> writes:
> Of course, I understand that the directory name is the build ID value
> and that it's how we ensure uniqueness so it's required, but why can't
> the static filename "executable" be changed to the name of the library
> or program that is being represented? Then it would be easy enough to
> understand.
Looking at the gdb code, I think the debuginfod client-side library
decides the file name:
fd = scoped_fd (debuginfod_find_debuginfo (c, build_id, build_id_len,
&dname));
You may get a better answer on the elfutils list, since debuginfo is
part of that project.
thanks,
Tom
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-05 16:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-04 21:06 debuginfod: why can't it save real filenames?? Paul Smith via Gdb
2026-11-05 16:40 ` Tom Tromey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox