From: Simon Marchi Date: Wed, 10 Feb 2021 23:01:10 +0000 (-0500) Subject: gdb/testsuite: use "set sysroot" in gdb.multi/multi-target.exp.tcl X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=25ad1e83c8949c83d6aa6fba7fb27134d105debe;p=binutils-gdb.git 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 --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6d10953d705..43758c959fe 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2021-02-10 Simon Marchi + + * gdb.multi/multi-target.exp.tcl (setup): Add "set sysroot" to + GDBFLAGS. + 2021-02-10 Andrew Burgess * gdb.fortran/lbound-ubound.F90: New file. diff --git a/gdb/testsuite/gdb.multi/multi-target.exp.tcl b/gdb/testsuite/gdb.multi/multi-target.exp.tcl index 53727bb6ed1..6f3051c6b27 100644 --- a/gdb/testsuite/gdb.multi/multi-target.exp.tcl +++ b/gdb/testsuite/gdb.multi/multi-target.exp.tcl @@ -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.