On my setup some valgrind tests failed somewhat reliably because
the target remote | vgdb command couldn't find the vgdb-pipe files
because valgrind startup hadn't finished yet.
I tried to fix this by replacing the "Memcheck, a memory error detector"
match to "TO DEBUG THIS PROCESS USING GDB: start GDB like this" which is
right before valgrind creates the vgdb-pipe files. But even that didn't
guarantee that the vgdb-pipe files were there (maybe valgrind should
print that text after it has created them?). But also not all tests
use --vgdb-error=0, so the text isn't always printed.
To make the tests reliable I added --wait=1 to the vgdb invocation.
That tells vgdb to try to find the vgdb-pipe files, and if they aren't
there yet, to wait 1 second and try again.
gdb/testsuite/ChangeLog:
* lib/valgrind.exp (vgdb_start): Add --wait=1 to vgdbcmd.
+2021-03-05 Mark Wielaard <mark@klomp.org>
+
+ * lib/valgrind.exp (vgdb_start): Add --wait=1 to vgdbcmd.
+
2021-03-06 Weimin Pan <weimin.pan@oracle.com>
* gdb.base/ctf-ptype.exp: Add function tests and fix typos.
# gdbserver and connect to it.
gdb_test "disconnect" ".*"
- set vgdbcmd "target remote | vgdb --pid=$vgdbpid"
+ set vgdbcmd "target remote | vgdb --wait=1 --pid=$vgdbpid"
if { $active_at_startup } {
gdb_test "$vgdbcmd" " in \\.?_start .*" "target remote for vgdb"
} else {