Fix 308341 vgdb should report process exit (or fatal signal)
patch from Mark Wielaard.
(with small modifications).
Also clarified some comments related to the resume reply.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13052 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/gdbserver_tests/gone.c b/gdbserver_tests/gone.c
new file mode 100644
index 0000000..53274e9
--- /dev/null
+++ b/gdbserver_tests/gone.c
@@ -0,0 +1,33 @@
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int
+main (int argc, char **argv)
+{
+  fprintf(stderr, "starting ...\n");
+
+  // Three ways of going away...
+  if (argc > 1)
+    {
+      // Explicit exit() with exit code.
+      if (strcmp (argv[1], "exit") == 0)
+	{
+	  fprintf(stderr, "exiting ...\n");
+	  exit (1);
+	}
+
+      // Get killed by a signal.
+      if (strcmp (argv[1], "abort") == 0)
+	{
+	  fprintf(stderr, "aborting ...\n");
+	  kill(getpid(), SIGABRT);
+	}
+    }
+
+  // And finally, just return from main with success.
+  fprintf(stderr, "returning ...\n");
+  return 0;
+}