Re: GDB now takes 4 minutes to start up with remote gdbserver target

Gary Benson <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Pedro Alves wrote:
> On 07/28/2015 05:54 PM, Doug Evans wrote:
> > On Fri, Jul 24, 2015 at 1:52 AM, Gary Benson <[email protected]> wrote:
> >>> (3) Once the "c" command is issued, there's nothing to inform the
> >>> user exactly what GDB is doing or that this can be a very slow
> >>> operation (e.g., with a progress bar).
> >>
> >> This is kind of a shortcoming of GDB in general.  There was a similar
> >> issue relating to tab-completion in programs with lots of symbols:
> >>
> >>   https://sourceware.org/bugzilla/show_bug.cgi?id=11920
> >>
> >> I don't have a good solution for this.
> > 
> > I'm sure there are fine solutions.
> > The problem is getting gdb to a point where
> > good solutions fit in easily, without having to
> > do something specific for each case.
> 

> I agree.  I worry much about lots of "smartness" at the last minute,
> and then be stuck with it.  The "target:" sysroot is simple to
> explain and reason about.  The new proposal, not so much.

Agreed.

I'm in no way pushing the series I posted, I made it more to turn
what was previously a thought experiment into something more concrete.
I should maybe have posted it as an RFC...

> Also, with Aleksandar/Jan's gdbserver build-id validation series in
> place, we may be able to come up with a different/better solution.

Yes.  Jan told me he was considering changing sysroot to a multiple-
component path, with the default being something like "/:target:/".
This should work really nicely, but it only makes sense with build-id
validation (it's just too easy to get the wrong files otherwise).
I'm assuming we can cope with the fact that the separator ":" appears
in "target:" somehow :)

> If resolving the interruptability and adding a suggestive warning
> is deemed insufficient resolution (though I think we should try it
> first), then I think it's too late to add too much magic, and we should
> change the default sysroot back to "" by default.  Users can still then
> put "set sysroot target:" in .gdbinit with 7.10, and we can continue
> addressing identified issues until "target:" (or something around it)
> can be made the default, on master.

I'm going to look at adding a warning.

Note that reverting the sysroot back to "" is not exactly zero-risk
given that GDB is now more aggressive in discovering executable
filenames from remote targets.

Cheers,
Gary

-- 
http://gbenson.net/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.