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[0]) + ".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
optional behaviour?
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
hardcoded path).
i'm thinking of the fallback/default behavior here. none of this would
preclude the existing explicit options that gdb has available.
-mike