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
+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.
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.