Re: Why does solib_open do what it does?

Kris Warkentin
2003-06-17T20:15:26Z

> > 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.

> > 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.

cheers,

Kris