Fix 326462 Refactor vgdb to isolate invoker stuff into separate module

vgdb.c contained (conditionally compiled) "invoker" code to have ptrace syscalls
used to allow gdb/vgdb to connect to a valgrind process blocked in a syscall.
This "invoker" code is ptrace based.
Not all platforms are using ptrace.
=> refactor vgdb so as allow invoker code to be added more cleanly
for non ptrace based platforms (e.g. Darwin, Solaris).

* add file vgdb.h for:
   - definition of the vgdb-invoker interface
   - common declarations between vgdb.c and vgdb-invoker implementations
* move ptrace related code from vgdb.c to new file vgdb-invoker-ptrace.c
* new file vgdb-invoker-none.c containing an empty invoker implementation
  used on platforms that do not (yet) have a invoker implementation
  (e.g. android and darwin).
* modified Makefile.am to use one of the vgdb-invoker-*.c file depending
  on the platform.
* small changes related to changing ptraceinvoker to invoker in various files:
  gdbserver_tests/make_local_links, gdbserver_tests/nlcontrolc.vgtest,
  gdbserver_tests/mcinvokeRU.vgtest, gdbserver_tests/nlsigvgdb.vgtest  
  gdbserver_tests/mcinvokeWS.vgtest, coregrind/m_gdbserver/README_DEVELOPERS

Patch from Ivo Raisr, slightly modified



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13743 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vgdb-invoker-none.c b/coregrind/vgdb-invoker-none.c
new file mode 100644
index 0000000..9b6b90c
--- /dev/null
+++ b/coregrind/vgdb-invoker-none.c
@@ -0,0 +1,56 @@
+/*--------------------------------------------------------------------*/
+/*--- Empty implementation of vgdb invoker subsystem.              ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2011-2013 Philippe Waroquiers
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#include "vgdb.h"
+
+#include <stdio.h>
+#include <sys/time.h>
+
+void invoker_restrictions_msg(void)
+{
+   fprintf(stderr, 
+           "Note: vgdb invoker not implemented on this platform.\n"
+           "For more info: read user manual section"
+           " 'Limitations of the Valgrind gdbserver'.\n");
+}
+
+void invoker_cleanup_restore_and_detach(void *v_pid)
+{
+   DEBUG(1, "invoker_cleanup_restore_and_detach");
+}
+
+Bool invoker_invoke_gdbserver(pid_t pid)
+{
+   DEBUG(2, "invoker_invoke_gdbserver not implemented\n");
+   /* Returning True signals to not retry (too soon) to invoke. */
+   return True;
+}
+
+void invoker_valgrind_dying(void)
+{
+}