This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH] Fix search of debug files for remote debuggee
On Fri, Nov 09, 2018 at 11:42:25AM -0800, John Baldwin wrote:
> Now there are debug symbols for the various base OS libraries and binaries
> installed in the sysroot at /ufs/riscv64/rootfs/usr/lib/debug. For example,
> FreeBSD's libc is installed as /lib/libc.so.7 under the sysroot
> (/ufs/riscv64/lib/libc.so.7) and the debug info is stored at /usr/lib/debug
> under the sysroot (/ufs/riscv64/usr/lib/debug/lib/libc.so.7.debug). However,
> GDB places the sysroot after the debug prefix and ends up looking for
> /usr/lib/debug/ufs/riscv64/lib/libc.so.7 on the host instead. I usually
> work around this by creating a symlink from /usr/lib/debug/ufs/riscv64 to
> /ufs/riscv64/usr/lib/debug, but it seems like a bug to me that the we don't
> look for debug files "under" the sysroot.
> I bring this up because I wonder if a more general solution of always putting
> the sysroot before the debug prefix (e.g. "/usr/lib/debug") wouldn't fix
> both your case and mine. It's not clear to me what the "correct" behavior
> is for mixing sysroot with separate debug files. It may be that the current
> behavior of <debug dir>/<sysroot>/<object file> is intentional rather than
> the <sysroot>/<debug dir>/<object file> behavior that I would like (and that
> I think your use case also wants).
I see what you mean.
Your intention makes sense, but since GDB does not assume your case out
of the box, I guess
set debug-file-directory /ufs/riscv64/usr/lib/debug
should just work for you?
>From code I see that GDB checks quite a few places for debug files,
maybe some day it would check also where you want.