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.stdinB.gdb b/gdbserver_tests/mcinfcallWSRU.stdinB.gdb
new file mode 100644
index 0000000..8429dde
--- /dev/null
+++ b/gdbserver_tests/mcinfcallWSRU.stdinB.gdb
@@ -0,0 +1,28 @@
+# connect gdb to Valgrind gdbserver:
+target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcinfcallWSRU
+monitor vg.set vgdb-error 999999
+#
+# ensure all threads are known
+break sleeper_or_burner
+continue
+continue
+continue
+continue
+#
+# Here the 4 threads have been started.
+# We will interrupt in a few seconds (be sure all tasks are in Runnable/Yielding state
+# or in WaitSys state.
+shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-mcinfcallWSRU 10
+#
+continue
+#
+thread 1
+print whoami("thread 1 inferior call pushed from gdb in mcinfcallWSRU.stdinB.gdb")
+thread 2
+print whoami("thread 2 inferior call pushed from gdb in mcinfcallWSRU.stdinB.gdb")
+thread 3
+print whoami("thread 3 inferior call pushed from gdb in mcinfcallWSRU.stdinB.gdb")
+thread 4
+print whoami("thread 4 inferior call pushed from gdb in mcinfcallWSRU.stdinB.gdb")
+monitor vg.kill
+quit