This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: solib search algorithm for cross-gdb


Daniel Jacobowitz wrote:

On Wed, Aug 03, 2005 at 09:38:18AM -0400, Paul Koning wrote:


Currently, the shared library search in solib.c first tries to use the
shared lib filename as given (if solib-absolute-prefix isn't set).

That's exactly right for a native gdb, but it is in general the wrong
answer for a cross-gdb.  If I'm debugging a mips box, or analyzing a
mips corefile, resolving shared lib symbols from intel shared libs in
my /usr/lib is the wrong thing.

.gdbinit helps, but not everyone remembers to do this right every
time.

I was thinking about having the case of "use the filename exactly as
supplied" in solib.c be used only in native gdb.  That seems to
require adding stuff in configure and config.in to tell a native from
a cross build.

I could submit this patch if it sounds like a good feature (otherwise
I'll probably keep it as a private change). Comments? Better ways to
do this?



There's an argument that this should be based primarily on the target. Using the native files is generally right for target "child"; generally
wrong (though not necessarily) for target "remote"; and generally right
for target "core" iff this is a native GDB.


I don't know if that's worth implementing.  I'm inclined to say that
your suggestion is progress, at least.


There's also the argument that it's almost never correct to be cross debugging _without_ solib-absolute-prefix set. I had put in the TARGET_SO_FIND_AND_OPEN_SOLIB hook to give targets custom ways of finding their own stuff but I put it after the check for the literal path so it would play nicely with native debugging.


A really clever fix would be to check the architecture of found solibs and discard them and keep searching if it doesn't match (printing a warning perhaps). Of course, that could still get the wrong library... Almost impossible to guarantee that you never get the wrong lib I think. Fools are too ingenious. ;-)

cheers,

Kris

--
Stay up-to-date on all the QNX news!  Register at
http://www.qnx.com/news/forms/newsletter.html to
receive our newsletter.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]