Does gdb debuginfod download libc etc.?
Paul Smith
psmith@gnu.org
Sat Mar 7 23:58:21 GMT 2026
I'm trying to start using debuginfod support in my environment. I've
started my own debuginfod server and I've added lots of historical
binaries and shared libraries that I get core files from.
In that past I've asked users to package up all their system libraries
such as libc.so, libm.so, libpthread.so, the runtime linker ld-linux.so
etc. and send them along with their core file. Then I run GDB like:
gdb -iex 'set sysroot xxx' -c core exe
What I was hoping to do is to run "gdb -c core" and have debuginfod get
everything I need without having to ask users to send anything
(assuming I've already got the libraries, which I usually do). But, it
doesn't seem to be working.
I've used debuginfod-find to verify that all the libraries referenced
by the core file do exist on the server (via their build ID).
When I run "gdb -c core" it DOES correctly download the executable
file, so I know that GDB's debuginfod configuration is working. It
also appears to download linux-vdso.so.1.
However, none of my other libraries are being loaded, even if I use bt
or whatever to look at the backtrace. Without libc for example, none
of the threads which were in the C runtime when the core was taken can
be traced and I just get "?? ()" for every frame. If I use "info
sharedlib" I see all the .so paths are the local system versions of
these libraries, and they have a "Syms Read" value of "No".
Is there something else I need to do to get this working?
Or am I just misunderstanding how debuginfod support works?
More information about the Gdb
mailing list