Improvements for testing and compilation breakage for the GDB server
on various platforms:
* In all gdbserver_tests using gdb:
Made a more general way to remove the initial start message.
* tests using threads burning cpu modified to have only 1 thread.
This makes them independent of the scheduler fairness.
* filter_gdb and filter_vgdb enhanced to anonymise
some debian 6.0/ppc specific things
some s390x/gdb 7.0, gdb 7.1 specific things
* vgdb.c: added an #include <linux/ptrace.h> to fix compilation
on s390x fedora and suse. (Christian Boerntrager)
* fixed a bug in valgrind-low.c debug log :
when a register size is 0, its image cannot be output (and register
should not be transferred).
* added a parameter --keep-unfiltered to vg_regtest.in
This will make it easier to update filter_gdb:
in case gdbserver_tests are failing due to "artificial"
differences to be filtered, re-run the tests using:
perl tests/vg_regtest --keep-unfiltered gdbserver_tests
Then a tar file with all the *.out in gdbserver_tests
will allow me to better/faster update the filter_gdb.
* made a better detection of a working PTRACE_GETREGS at compile time
and/or at run-time.
This is the patch on bug 214909 comment 69.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11740 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/gdbserver_tests/mcinfcallWSRU.stderrB.exp b/gdbserver_tests/mcinfcallWSRU.stderrB.exp
index 2e954db..860e07e 100644
--- a/gdbserver_tests/mcinfcallWSRU.stderrB.exp
+++ b/gdbserver_tests/mcinfcallWSRU.stderrB.exp
@@ -1,6 +1,4 @@
relaying data between gdb and process ....
-Remote debugging using | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcinfcallWSRU
-0x........ in _start () from ...start file...
vgdb-error value changed from 0 to 999999
Breakpoint 1 at 0x........: file sleepers.c, line 72.
Continuing.
@@ -41,8 +39,13 @@
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
'
-[Switching to thread 4 (Thread ....)]#0 0x........ in do_burn () at sleepers.c:39
-39 for (i = 0; i < burn; i++) loopnr++;
-$2 = void
+[Switching to thread 4 (Thread ....)]#0 0x........ in syscall ...
+Could not write register "xxx"; remote failure reply 'E.
+ERROR changing register xxx regno y
+gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
+set pc, calling from gdb a function in the debugged process, ...)
+can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
+Thread status is VgTs_WaitSys
+'
monitor command request to kill this process
Remote connection closed