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

Gary Benson
2015-07-28T15:38:42Z

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

--