This is the mail archive of the
mailing list for the GDB project.
Re: working with split debug files and sectionless ELFs
On 11-10-14 01:07 PM, Mike Frysinger wrote:
On Friday 14 October 2011 11:49:24 Jan Kratochvil wrote:
On Fri, 14 Oct 2011 17:38:30 +0200, Aleksandar Ristovski wrote:
On 11-10-14 11:27 AM, Mike Frysinger wrote:
check out symfile.c:find_separate_debug_file_by_debuglink(). i hacked
it locally so that when get_debug_link_info() returns NULL, the code
would fall back to searching for the basename(argv) + ".debug" of
the ELF in question. that seemed to do what i want: "just work".
Ok, so the problem is that if debuglink is missing, gdb just gives up.
FWIW, what you are proposing makes sense to me. Maybe make it an
The problem is the ".debug" extension is stored in .debug_link and it is
not assumed by GDB so far. And for example Debian does not use it at all.
that's why it was a hack. i think it reasonable that if there is no debug
info to first look for the file name itself, and then look for the file name with
a .debug suffix.
so `gdb prog` where prog is found at /usr/bin/prog would default to
/usr/lib/debug/usr/bin/prog followed by /usr/lib/debug/usr/bin/prog.debug (and
obviously /usr/lib/debug/ is the existing configurable setup and not a
i'm thinking of the fallback/default behavior here. none of this would
preclude the existing explicit options that gdb has available.
I would prefer to not have gdb assume any suffix. When I said your
proposal made sense, I did not go into the implementation details. I
agree this would be useful in principle - but would strongly suggest not
to hard-code such a suffix, fallback or not.
If suffix is desired, than at a minimum make it optional. Something like
(gdb) set debug-file-suffix .debug
You can make default settable at configure time.
If separate info is in a separate directory, suffix quite possibly is
not needed at all; it does make a lot of sense if symbol file is in the
same directory as the binary itself.
Further, it might not be .debug at all (e.g. we prefer using .sym).