Re: Why does solib_open do what it does?

Kevin Buettner
2003-06-17T20:24:14Z

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