Implement a GDB server in Valgrind.  See #214909.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11727 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/gdbserver_tests/mcinfcallWSRU.stderrB.exp b/gdbserver_tests/mcinfcallWSRU.stderrB.exp
new file mode 100644
index 0000000..2e954db
--- /dev/null
+++ b/gdbserver_tests/mcinfcallWSRU.stderrB.exp
@@ -0,0 +1,48 @@
+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.
+[New Thread ....]
+Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
+72	   int i = 0;
+Continuing.
+[New Thread ....]
+Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
+72	   int i = 0;
+Continuing.
+[New Thread ....]
+Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
+72	   int i = 0;
+Continuing.
+Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
+72	   int i = 0;
+Continuing.
+Program received signal SIGTRAP, Trace/breakpoint trap.
+0x........ in do_burn () at sleepers.c:39
+39	   for (i = 0; i < burn; i++) loopnr++;
+[Switching to thread 1 (Thread ....)]#0  0x........ in do_burn () at sleepers.c:39
+39	   for (i = 0; i < burn; i++) loopnr++;
+$1 = void
+[Switching to thread 2 (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
+'
+[Switching to thread 3 (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
+'
+[Switching to thread 4 (Thread ....)]#0  0x........ in do_burn () at sleepers.c:39
+39	   for (i = 0; i < burn; i++) loopnr++;
+$2 = void
+monitor command request to kill this process
+Remote connection closed