Re: GDB honouring RPATH in binaries.

Daniel Jacobowitz
2003-02-20T20:03:26Z

On Thu, Feb 20, 2003 at 02:59:34PM -0500, Kris Warkentin wrote:
> > > > With regard to the remote case, I would have thought that simply
> > > > prepending solib-absolute-prefix would give the correct results.
> > >
> > > Well, let's say I upload my program and libs to /tmp on the remote with
> the
> > > binary's RPATH set to /tmp. I'm debugging on Cygwin in
> /home/kewarken/test.
> > > My solib-absolute-prefix and solib-search-path are based in
> > > c:\QNXsdk\target\qnx6 (where all the libs are stored). This is why I'm
> not
> > > convinced that there's any nice way to use RPATH in the remote case.
> >
> > I see what you mean. Unless you're using an NFS mount, it's unlikely
> > for the sys-root on the host to contain the stuff you've just uploaded
> > to /tmp.
> >
> > In this case, I think it would make sense to use solib-search-path
> > to find the libraries that you've uploaded to /tmp.
>
> Yes. This is really just a case of trying to automate this so that the user
> has less trouble. You have no idea how many tech support calls we get which
> are solved by, "make sure that gdb can find everything it needs". From what
> I understand, RPATH is supposed to be THE ordained way of making sure that
> the linker can find it's libs so perhaps we need to add one more case to
> solib_open() where it looks through RPATH. I'm thinking that it can't hurt
> and might help. Certainly it will be helpful on native debuggers.

Certainly it should _NOT_ be helpful on native debuggers.

By the time GDB is loading a shared library, the dynamic linker has
resolved it to a full path. This should always be the case; I don't
want to duplicate the path resolution logic of a hundred quirky OS
versions in GDB. We shouldn't need to search RPATH.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer