Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Michael Snyder <msnyder@redhat.com>
To: Kevin Buettner <kevinb@redhat.com>
Cc: Kris Warkentin <kewarken@qnx.com>,
	Daniel Jacobowitz <drow@mvista.com>,
	"Gdb@Sources.Redhat.Com" <gdb@sources.redhat.com>
Subject: Re: Why does solib_open do what it does?
Date: Wed, 18 Jun 2003 18:41:00 -0000	[thread overview]
Message-ID: <3EF0B23E.8040406@redhat.com> (raw)
In-Reply-To: <1030618051511.ZM11645@localhost.localdomain>

Kevin Buettner wrote:
> On Jun 17,  9:54pm, Kris Warkentin wrote:
> 
> 
>>>>Michael, any comments?
>>>
>>>I don't remember.  ;-(
>>>I'll just remark that ld puts full paths in for some libs, and not for
>>
>>others.
>>
>>>That's why there are two variables, SOLIB-SEARCH-PATH and
>>>SOLIB-ABSOLUTE-PREFIX.  One is the prefix that goes before everything
>>>(even rooted filespecs), and the other is the additional prefix that
>>>goes before an un-rooted filespec.
>>
>>Okay then, here's what I propose.
>>
>>1) Change the order as Kevin suggested earlier.  This give the user plenty
>>of opportunity to tell gdb how to find the solibs before we thrash about
>>desperately in LD_LIBRARY_PATH, etc.
> 
> 
> Definitely okay.
> 
> 
>>2) Take out the solib_search_path check in the if(found_file <0 &&
>>solib_search_path != NULL) parts of the last two desperation plays.  I don't
>>think there's any reason for them.
> 
> 
> Wow.  Good catch.  I don't understand them either.  But...
> 
> 
>>I have a feeling that we want to leave the last two searches in place simply
>>because native debugging is the most common and they probably catch a lot of
>>action.  Most people doing remote debugging are setting up their
>>solib-absolute-prefix and such properly anyway.
> 
> 
> Given the fact that these tests are here, I don't think that the $PATH
> and $LD_LIBRARY_PATH checks are ever actually used for native
> debugging.
> 
> After all, who bothers to set solib_search_path when doing native
> debugging?  And if you do set solib_search_path, doesn't it seem
> strange that these additional checks suddenly become enabled?
> 
> So, at this point we have two choices: a) Do away with the $PATH and
> $LD_LIBRARY_PATH code altogether, or b) Do as you suggest and remove
> the ``solib_search_path != NULL'' check.
> 
> If we can actually convince ourselves that leaving in the $PATH and
> $LD_LIBRARY_PATH checks serve a useful purpose, option b is the way to
> go.  At the moment, however, I'm strongly leaning towards option a.

You don't think that gdb should honor LD_LIBRARY_PATH in native
debugging, if it is set?  Won't the linker-loader honor it?

I'd be ready to agree that, if solib-search-path is set,
it should override LD_LIBRARY_PATH.  But if it isn't set...


> In fact, for remote debugging, leaving these checks in is rather
> dangerous.  If, for some reason, the shared lib is not found via
> either solib-absolute-prefix or solib-search-path, we don't want
> to search paths on the host file system which refer to the hosts
> libraries.   If the file is found via one of these paths, it is
> almost certainly wrong, and I've seen cases where this can cause
> wildly unpredictable behavior.  (E.g, segfaults on the target, or
> breakpoints being hit at strange places.)

Agreed.  Indeed, I think LD_LIBRARY_PATH is required for native,
and always wrong for cross.  Is there any way we can use that
distinction?  Maybe with a configure variable?


> I think I could be convinced to leave these checks in if we
> were to replace that ``solib_search_path != NULL'' conjunct with
> ``solib_absolute_prefix == NULL'' instead.  That is, if you set
> solib_absolute_prefix, then $PATH and $LD_LIBRARY_PATH will never
> be considered.  (I guess there were actually three choices.  We'll
> call this one option c.)
> 
> Opinions?

How about (d) a configure variable that enables the tests for native only.






  parent reply	other threads:[~2003-06-18 18:41 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-17 19:01 Kris Warkentin
2003-06-17 19:13 ` Daniel Jacobowitz
2003-06-17 19:14   ` Kris Warkentin
2003-06-17 19:37     ` Elena Zannoni
2003-06-17 19:47       ` Kris Warkentin
2003-06-17 20:01     ` Kevin Buettner
2003-06-17 20:15       ` Kris Warkentin
2003-06-17 20:24         ` Kevin Buettner
2003-06-18  0:14           ` Michael Snyder
2003-06-18  1:43             ` Kris Warkentin
2003-06-18  5:33               ` Kevin Buettner
2003-06-18 12:11                 ` Kris Warkentin
2003-06-18 15:07                   ` Kris Warkentin
2003-06-18 18:52                     ` Michael Snyder
2003-06-18 19:09                       ` Kris Warkentin
2003-06-18 19:20                         ` Andrew Cagney
2003-06-18 20:10                         ` Michael Snyder
2003-06-18 20:17                           ` Kris Warkentin
2003-06-18 19:14                       ` Daniel Jacobowitz
2003-06-18 18:45                   ` Michael Snyder
2003-06-18 18:41                 ` Michael Snyder [this message]
2003-06-18 19:16                   ` Daniel Jacobowitz
2003-06-18 20:11                     ` Michael Snyder
2003-06-18 20:19                       ` Kris Warkentin
2003-06-18 20:27                       ` Daniel Jacobowitz
2003-06-18 20:51                         ` Michael Snyder
2003-06-19 12:24                           ` Kris Warkentin
2003-06-19 23:33                             ` Kevin Buettner
2003-06-20  0:02                               ` Kevin Buettner
2003-06-20 12:28                                 ` Kris Warkentin
2003-06-20 12:43                                   ` Kevin Buettner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EF0B23E.8040406@redhat.com \
    --to=msnyder@redhat.com \
    --cc=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    --cc=kevinb@redhat.com \
    --cc=kewarken@qnx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox