This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Why does solib_open do what it does?
On Jun 17, 4:15pm, Kris Warkentin wrote:
> > > That's what I was thinking too. A customer reported that when they
> don't
> > > set solib-search-path, all of a sudden gdb isn't finding solibs that
> used to
> > > be found in LD_LIBRARY_PATH.
> >
> > It sounds to me like the solibs in question were actually being found via
> > solib-search-path, not LD_LIBRARY_PATH.
> >
> > I think the problem with using LD_LIBRARY_PATH is that the paths
> > won't be correct without some sort of adjustment. I.e, the paths
> > provided by LD_LIBRARY_PATH are target filesystem paths, not host
> > paths.
>
> Well, I've always considered searching LD_LIBRARY_PATH at all to be wrong
> since the only util that should be concerned with that is the runtime
> loader. Ideally, ld should be filling in the path where it found the lib
> which can then be used with solib-absolute-prefix or some such.
Right.
I think Michael added the searches on $PATH and $LD_LIBRARY_PATH for
native ports, but it's not clear to me that these searches are actually
needed.
Michael, any comments?
> > > You think it's okay for me to fix it?
> >
> > Not yet. I want to study the code some more first.
> >
> > Actually, the one that bothers me is (2). I think we ought to be doing
> > (2) after (3).
>
> You may be right there. I suppose we want to give the user every
> opportunity to override things. I specifically put the target-defined
> search function AFTER the solib-search-path lookup for just that reason. If
> you're going to move 2, I would say it should be after the target defined
> one so that both users and targets get a say before gdb starts looking in
> places that could potentially have conflicting solibs.
Sure. That sounds right to me. If you want to submit a patch for doing
this, that'd be very much appreciated.
Thanks,
Kevin