Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* 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