Roland McGrath wrote:
> (Try "help set debug-file-directory" in gdb. The elfutils
> tools and their --debuginfo-path option are similar.)
That's the missing piece. Thanks.
But still, I have to do a --debuginfo-path that's different for
each module. e.g. for ata modules it's <...>/drivers/ata/ and
for crypto it's <...>/crypto/. Shouldn't the final part of the
path be in the .gnu_debuginfo?
No. Sorry, I was unclear on the exact meaning. From a libdwfl.h comment:
If the first character of the string is + or - that says to check or to
ignore (respectively) the CRC32 checksum from the .gnu_debuglink
section. The default is to check it. The remainder of the string is
composed of elements separated by colons. Each element can start with +
or - to override the global checksum behavior. If the remainder of the
element is empty, the directory containing the main file is tried; if
it's an absolute path name, the absolute directory path containing the
main file is taken as a subdirectory of this path; a relative path name
is taken as a subdirectory of the directory containing the main file.
Hence for /bin/ls, string ":.debug:/usr/lib/debug" says to look in /bin,
then /bin/.debug, then /usr/lib/debug/bin, for the file name in the
.gnu_debuglink section (or "ls.debug" if none was found). */