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: GDB now takes 4 minutes to start up with remote gdbserver target


Gary Benson wrote:
> Ok, here goes...
> 
>  * From a user's perspective GDB is magically prefixing *some*
>    executable and shared library filenames with "target:".
> 
>  * From a developer's perspective this magic prefixing is implemented
>    by having the string "target:" as the default sysroot.
> 
> My proposal is to make the default sysroot be "" again, and add the
> prefix in solib_find_1 if certain conditions are met, specifically:
> 
>  * Executable filenames get prefixed with "target:" iff:
>      Automatic "target:" prefixing is enabled
>      AND gdb_sysroot is ""
>      AND the filesystem is nonlocal
> 
>  * Shared library filenames get prefixed with "target:" iff:
>      Automatic "target:" prefixing is enabled
>      AND gdb_sysroot is ""
>      AND the filesystem is nonlocal
>      AND exec_filename starts with "target:"
> 
> There's a new boolean here, "set auto-target-prefix on|off", which
> is enabled by default.
> 
> So:
> 
>  gdb; target remote :9999 -> "target:" prefix applied
>  gdb FILE; target remote :9999 -> no "target:" prefix
> 
> The latter is how Sandra is invoking GDB.  Also:
>  
>  gdb -n PID, and
>  gdb; attach PID -> "target:" prefix applied iff FS is nonlocal
> 
> Aside from the fact that this should fix Sandra's use case without
> breaking any I care about, I like that users doing non-remote, non-
> container debugging will not see "target:" prefixes onscreen unless
> they're actually necessary.

I've submitted a series of the work I've done on this:
https://sourceware.org/ml/gdb-patches/2015-07/msg00828.html

Please reply to that thread instead of this.

Thanks,
Gary

-- 
http://gbenson.net/


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