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/