Testsuite: set sysroot when using gdbserver

When testing using native-gdbserver and native-extended-gdbserver, the sysroot
is not set.  This results in a warning from GDB and files are sent via the
remote protocol, which can be slow.

On Ubuntu 18.04 (unlike most distros) the debug versions of the standard
libraries are included by default in /usr/lib/debug/.

These file reads are causing a complete native-gdbserver run on the AArch64
buildbot slave to timeout after 2.5 hours.  This is also causing the builds
to back up on the slave.

The solution is to ensure the sysroot is set to / for all local boards.

This drastically reduces the time of a test. For example, gdb.base/sigall.exp
drops from 23 seconds to 4 seconds.
A full native-gdbserver run on the AArch64 slave now takes 8 minutes.

gdb/testsuite/ChangeLog:

	* boards/local-board.exp: set sysroot to /.
This commit is contained in:
Alan Hayward 2019-03-28 12:33:29 +00:00
parent cd5b607419
commit c92df149c2
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-03-28 Alan Hayward <alan.hayward@arm.com>
Pedro Alves <palves@redhat.com>
* boards/local-board.exp: set sysroot to /.
2019-03-27 Alan Hayward <alan.hayward@arm.com>
* gdb.base/interrupt-daemon-attach.c (main): Add alarm and sleep

View File

@ -22,3 +22,6 @@ global board_info
# Remove any target variant specifications from the name.
set baseboard [lindex [split $board "/"] 0]
set board_info($baseboard,isremote) 0
# Set sysroot to avoid sending files via the remote protocol.
set GDBFLAGS "${GDBFLAGS} -ex \"set sysroot /\""