From 25ad1e83c8949c83d6aa6fba7fb27134d105debe Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 10 Feb 2021 18:01:10 -0500 Subject: 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 --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.multi/multi-target.exp.tcl | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'gdb') diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6d10953..43758c9 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 53727bb..6f3051c 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. -- cgit v1.1