This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: GDB honouring RPATH in binaries.
- From: Kevin Buettner <kevinb at redhat dot com>
- To: "Kris Warkentin" <kewarken at qnx dot com>, <gdb at sources dot redhat dot com>
- Date: Thu, 20 Feb 2003 12:33:01 -0700
- Subject: Re: GDB honouring RPATH in binaries.
- References: <0db801c2d914$78f80a50$0202040a@catdog>
On Feb 20, 2:15pm, Kris Warkentin wrote:
> I've been having a debate with some coworkers about whether or not gdb
> should use the rpath in an elf binary to find shared libs if it has been
> set. The runtime loader checks LD_LIBRARY_PATH, RPATH and CS_LIBPATH in
> that order and the proposal was that gdb should do the same thing.
>
> The problem I have with this is in the remote case. This might make perfect
> sense on a self-hosted debugger but if targetting a remote machine, the
> RPATH might not make any logical mapping onto the host machine's filesystem.
> It might be possible to come up with some sort of heuristic using
> solib-absolute-prefix as a base but I don't think there's any reliable way
> to make use of this info if not self hosted.
>
> Any thoughts?
The other problem that I see is that the procedures used to resolve
the location of a dynamic library will vary depending upon the runtime
loader. E.g, on Linux, I am pretty sure that RPATH supercedes
LD_LIBRARY_PATH.
It may make sense to have a osabi dependent method for doing this
resolution. Or maybe this machinery should be tied to the solib
back end. (That way if you had a qnx back end, it would get used
automatically.)
With regard to the remote case, I would have thought that simply
prepending solib-absolute-prefix would give the correct results.
Kevin