gdb/testsuite: use "set sysroot" in gdb.multi/multi-target.exp.tcl

The multi-target tests involve some inferiors using remote targets.  By
default, GDB uses target: as the sysroot, which makes it read loaded
libraries and their debug info through GDBserver.  This makes the tests
run slower than necessary.

Pass `-ex "set sysroot"` when launching GDB in these tests, so that GDB
always reads from its local file system.

On a system where I don't have debug info for libc, that reduces run
time for

    $ make check TESTS="gdb.multi/multi-target-*.exp"

from 1:15 to 0:45.

On this other system where debug info is installed though, it reduces it
from 13:00 to 1:45.

gdb/testsuite/ChangeLog:

	* gdb.multi/multi-target.exp.tcl (setup): Add "set sysroot" to
	GDBFLAGS.

Change-Id: I9d24f3def843472d35dfb5667c12d70ae1d7e984
This commit is contained in:
Simon Marchi 2021-02-10 18:01:10 -05:00 committed by Simon Marchi
parent 18b8df43bd
commit 25ad1e83c8
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2021-02-10 Simon Marchi <simon.marchi@efficios.com>
* gdb.multi/multi-target.exp.tcl (setup): Add "set sysroot" to
GDBFLAGS.
2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.fortran/lbound-ubound.F90: New file.

View File

@ -109,7 +109,13 @@ proc setup {non-stop} {
global binfile
cleanup_gdbservers
clean_restart ${binfile}
save_vars { ::GDBFLAGS } {
# Make GDB read files from the local file system, not through the
# remote targets.
set ::GDBFLAGS "${::GDBFLAGS} -ex \"set sysroot\""
clean_restart ${binfile}
}
# multi-target depends on target running in non-stop mode. Force
# it on for remote targets, until this is the default.