commit 21788250c945713fa25c16f2683e1f9cd0bb6ccf Author: philippe Date: Sun Jun 25 12:40:53 2017 +0000 Fix some tests failure with GDB 8.0 At the beginning of a Valgrind gdbserver test, 2 messages are produced when launching the command target remote | vgdb A message output by vgdb: relaying data between gdb and process (this message is read by GDB from the vgdb pipe, and re-output on stderr) and a message produced by GDB: Remote debugging using | ./vgdb GDB 8.0 changes the order in which the above messages are output. This causes 2 tests to fail, as the 'relaying' line appears then in a part of the output deleted by a filter script. To avoid this, change the filter scripts to always remove this 'relaying line', which is not particularly interesting to check. All the .exp files containining such a 'relaying' line are updated accordingly. This has been tested with various gdb versions (7.5, 7.7, 7.12, 8.0) on amd64 and/or ppc64. Thanks to Mark Wielaard, which helped to investigate this problem by bisecting the GDB patches in GDB 8.0 causing this change of behaviour. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16453 a5019735-40e9-0310-863c-91ae7b9d1cf9 diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb index 7177720..ed78cfe 100755 --- a/gdbserver_tests/filter_gdb +++ b/gdbserver_tests/filter_gdb @@ -72,7 +72,7 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d' -e '/^Missing separate debuginfo/d' \ -e '/\/_exit.c: No such file or directory/d' \ -e '/^Try: zypper install -C/d' \ - -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \ + -e '/relaying data between gdb and process/d' \ -e 's/pid [0-9][0-9]*/pid ..../g' \ -e 's/Thread [0-9][0-9]*/Thread ..../g' \ -e '/\[Switching to Thread ....\]/d' \ diff --git a/gdbserver_tests/filter_vgdb b/gdbserver_tests/filter_vgdb index 2442ec5..f8028a3 100755 --- a/gdbserver_tests/filter_vgdb +++ b/gdbserver_tests/filter_vgdb @@ -11,7 +11,7 @@ $dir/../tests/filter_addresses | # pid # gdb 7.2 sometimes tries to access address 0x0 (same as with standard gdbserver) # filter a debian 6.0/ppc32 line -sed -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \ +sed -e '/relaying data between gdb and process/d' \ -e 's/\(sending command .* to pid \)[0-9][0-9]*/\1..../' \ -e '/Cannot access memory at address 0x......../d' \ -e '/^[1-9][0-9]* \.\.\/sysdeps\/powerpc\/powerpc32\/dl-start\.S: No such file or directory\./d' | diff --git a/gdbserver_tests/hginfo.stderrB.exp b/gdbserver_tests/hginfo.stderrB.exp index df47f11..669ff92 100644 --- a/gdbserver_tests/hginfo.stderrB.exp +++ b/gdbserver_tests/hginfo.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 Lock ga 0x........ { Address 0x........ is 0 bytes inside data symbol "mx" diff --git a/gdbserver_tests/mcblocklistsearch.stderrB.exp b/gdbserver_tests/mcblocklistsearch.stderrB.exp index 312d776..1313321 100644 --- a/gdbserver_tests/mcblocklistsearch.stderrB.exp +++ b/gdbserver_tests/mcblocklistsearch.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 Breakpoint 1 at 0x........: file leak-tree.c, line 42. Breakpoint 2 at 0x........: file leak-tree.c, line 67. diff --git a/gdbserver_tests/mcbreak.stderrB.exp b/gdbserver_tests/mcbreak.stderrB.exp index 65281d2..0f051d1 100644 --- a/gdbserver_tests/mcbreak.stderrB.exp +++ b/gdbserver_tests/mcbreak.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 vgdb-error value changed from 999999 to 0 n_errs_found 1 n_errs_shown 1 (vgdb-error 0) diff --git a/gdbserver_tests/mcclean_after_fork.stderrB.exp b/gdbserver_tests/mcclean_after_fork.stderrB.exp index 995b42f..e812b8e 100644 --- a/gdbserver_tests/mcclean_after_fork.stderrB.exp +++ b/gdbserver_tests/mcclean_after_fork.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 monitor command request to kill this process Remote connection closed diff --git a/gdbserver_tests/mcinfcallWSRU.stderrB.exp b/gdbserver_tests/mcinfcallWSRU.stderrB.exp index 7789123..a2f2b87 100644 --- a/gdbserver_tests/mcinfcallWSRU.stderrB.exp +++ b/gdbserver_tests/mcinfcallWSRU.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 Breakpoint 1 at 0x........: file sleepers.c, line 74. Continuing. diff --git a/gdbserver_tests/mcleak.stderrB.exp b/gdbserver_tests/mcleak.stderrB.exp index 7782119..7ed3920 100644 --- a/gdbserver_tests/mcleak.stderrB.exp +++ b/gdbserver_tests/mcleak.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 10 bytes in 1 blocks are still reachable in loss record ... of ... at 0x........: malloc (vg_replace_malloc.c:...) diff --git a/gdbserver_tests/mcmain_pic.stderrB.exp b/gdbserver_tests/mcmain_pic.stderrB.exp index c90e1fa..53ec0ce 100644 --- a/gdbserver_tests/mcmain_pic.stderrB.exp +++ b/gdbserver_tests/mcmain_pic.stderrB.exp @@ -1,2 +1 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 diff --git a/gdbserver_tests/mcvabits.stderrB.exp b/gdbserver_tests/mcvabits.stderrB.exp index bdabb1e..f9ced7a 100644 --- a/gdbserver_tests/mcvabits.stderrB.exp +++ b/gdbserver_tests/mcvabits.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 Address 0x........ len 10 addressable Address 0x........ is 0 bytes inside data symbol "undefined" diff --git a/gdbserver_tests/mssnapshot.stderrB.exp b/gdbserver_tests/mssnapshot.stderrB.exp index 8bee8fc..e419ce6 100644 --- a/gdbserver_tests/mssnapshot.stderrB.exp +++ b/gdbserver_tests/mssnapshot.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands diff --git a/gdbserver_tests/nlgone_abrt.stderrB.exp b/gdbserver_tests/nlgone_abrt.stderrB.exp index c8b2024..e69de29 100644 --- a/gdbserver_tests/nlgone_abrt.stderrB.exp +++ b/gdbserver_tests/nlgone_abrt.stderrB.exp @@ -1 +0,0 @@ -relaying data between gdb and process .... diff --git a/gdbserver_tests/nlgone_exit.stderrB.exp b/gdbserver_tests/nlgone_exit.stderrB.exp index c8b2024..e69de29 100644 --- a/gdbserver_tests/nlgone_exit.stderrB.exp +++ b/gdbserver_tests/nlgone_exit.stderrB.exp @@ -1 +0,0 @@ -relaying data between gdb and process .... diff --git a/gdbserver_tests/nlgone_return.stderrB.exp b/gdbserver_tests/nlgone_return.stderrB.exp index c8b2024..e69de29 100644 --- a/gdbserver_tests/nlgone_return.stderrB.exp +++ b/gdbserver_tests/nlgone_return.stderrB.exp @@ -1 +0,0 @@ -relaying data between gdb and process .... diff --git a/gdbserver_tests/nlpasssigalrm.stderrB.exp b/gdbserver_tests/nlpasssigalrm.stderrB.exp index c90e1fa..53ec0ce 100644 --- a/gdbserver_tests/nlpasssigalrm.stderrB.exp +++ b/gdbserver_tests/nlpasssigalrm.stderrB.exp @@ -1,2 +1 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 diff --git a/gdbserver_tests/nlself_invalidate.stderrB.exp b/gdbserver_tests/nlself_invalidate.stderrB.exp index c8b2024..e69de29 100644 --- a/gdbserver_tests/nlself_invalidate.stderrB.exp +++ b/gdbserver_tests/nlself_invalidate.stderrB.exp @@ -1 +0,0 @@ -relaying data between gdb and process .... diff --git a/gdbserver_tests/nlsigvgdb.stderrB.exp b/gdbserver_tests/nlsigvgdb.stderrB.exp index 672fea5..ed5bb61 100644 --- a/gdbserver_tests/nlsigvgdb.stderrB.exp +++ b/gdbserver_tests/nlsigvgdb.stderrB.exp @@ -1,4 +1,3 @@ -relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 gdbserver: continuing in 5000 ms ... gdbserver: continuing after wait ...