* inftarg.c (child_open), remote-vx{,.68}.c (vx_proc_open):
authorJim Kingdon <jkingdon@engr.sgi.com>
Fri, 19 Apr 1991 01:34:30 +0000 (01:34 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Fri, 19 Apr 1991 01:34:30 +0000 (01:34 +0000)
New function to give correct error message.

gdb/inftarg.c
gdb/remote-vx.68.c
gdb/remote-vx.c

index ce64437..5b52fda 100644 (file)
@@ -153,9 +153,18 @@ child_files_info ()
          attach_flag? "attached": "child", inferior_pid);
 }
 
+static void
+child_open (arg, from_tty)
+     char *arg;
+     int from_tty;
+{
+  error ("Use the \"run\" command to start a Unix child process.");
+}
+
 struct target_ops child_ops = {
        "child", "Unix child process",
-       0, 0,  /* open, close */
+       "Unix child process (started by the \"run\" command).",
+       child_open, 0,  /* open, close */
        child_attach, child_detach, 
        child_resume,
        child_wait,
index 2c17b9e..2138edb 100644 (file)
@@ -1295,6 +1295,8 @@ vx_open (args, from_tty)
   if (!args)
     error_no_arg ("target machine name");
 
+  target_preopen ();
+  
   printf ("Attaching remote machine across net...\n");
   fflush (stdout);
 
@@ -1475,11 +1477,23 @@ net_clnt_call (procNum, inProc, in, outProc, out)
   return status;
 }
 
+/* A vxprocess target should be started via "run" not "target".  */
+/*ARGSUSED*/
+static void
+vx_proc_open (name, from_tty)
+     char *name;
+     int from_tty;
+{
+  error ("Use the \"run\" command to start a VxWorks process.");
+}
+
 
 /* Target ops structure for accessing memory and such over the net */
 
 struct target_ops vx_ops = {
        "vxworks", "VxWorks target memory via RPC over TCP/IP",
+       "Use VxWorks target memory.  \n\
+Specify the name of the machine to connect to.",
        vx_open, 0, /* vx_detach, */
        0, 0, /* resume, wait */
        0, 0, /* read_reg, write_reg */
@@ -1501,7 +1515,8 @@ struct target_ops vx_ops = {
 
 struct target_ops vx_run_ops = {
        "vxprocess", "VxWorks process",
-       vx_open, 0, /* vx_detach, */
+       "VxWorks process, started by the \"run\" command.",
+       vx_proc_open, 0, /* vx_detach, */
        vx_resume, vx_wait,
        vx_read_register, vx_write_register,
        vx_prepare_to_store, vx_convert_to_virtual, vx_convert_from_virtual,
index 63028e2..974c6a3 100644 (file)
@@ -1379,6 +1379,8 @@ vx_open (args, from_tty)
   if (!args)
     error_no_arg ("target machine name");
 
+  target_preopen (from_tty);
+  
   unpush_target (&vx_ops);
   printf ("Attaching remote machine across net...\n");
   fflush (stdout);
@@ -1722,11 +1724,22 @@ vx_close (quitting)
   vx_host = 0;
 }
 
+/* A vxprocess target should be started via "run" not "target".  */
+/*ARGSUSED*/
+static void
+vx_proc_open (name, from_tty)
+     char *name;
+     int from_tty;
+{
+  error ("Use the \"run\" command to start a VxWorks process.");
+}
 
 /* Target ops structure for accessing memory and such over the net */
 
 struct target_ops vx_ops = {
        "vxworks", "VxWorks target memory via RPC over TCP/IP",
+       "Use VxWorks target memory.  \n\
+Specify the name of the machine to connect to.",
        vx_open, vx_close, vx_attach, 0, /* vx_detach, */
        0, 0, /* resume, wait */
        0, 0, /* read_reg, write_reg */
@@ -1748,7 +1761,8 @@ struct target_ops vx_ops = {
 
 struct target_ops vx_run_ops = {
        "vxprocess", "VxWorks process",
-       vx_open, vx_proc_close, 0, vx_detach, /* vx_attach */
+       "VxWorks process, started by the \"run\" command.",
+       vx_proc_open, vx_proc_close, 0, vx_detach, /* vx_attach */
        vx_resume, vx_wait,
        vx_read_register, vx_write_register,
        vx_prepare_to_store, vx_convert_to_virtual, vx_convert_from_virtual,