Blob Blame History Raw
commit 21788250c945713fa25c16f2683e1f9cd0bb6ccf
Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9>
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 <pid>
    (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 ...