Break the thread of control that implies that a unix child
authorJohn Gilmore <gnu@cygnus>
Tue, 22 Sep 1992 07:23:35 +0000 (07:23 +0000)
committerJohn Gilmore <gnu@cygnus>
Tue, 22 Sep 1992 07:23:35 +0000 (07:23 +0000)
process will be the default target.

* target.c (find_default_run_target, find_default_attach,
find_default_create_inferior, return_zero):  new functions.
(cleanup_target):  Make return_zero the default for to_can_run.

* exec.c (exec_ops), core.c (core_ops):  Replace child_attach and
child_create_inferior references with find_default_XXX instead.

* target.h (struct target_ops): new field, to_can_run.
(find_default_attach, find_default_create_inferior):  new prototypes.
(target_can_run): new macro.

* Also added a zero (default) to_can_run element to all static
struct target_ops initializations throughout GDB, except:
* inftarg.c (child_ops): Use new child_can_run() to enable child runs.

* infrun.c (child_create_inferior):  Clean up error handling when
no exec file is specified.
(child_attach):  Don't require exec file.

12 files changed:
gdb/ChangeLog
gdb/core.c
gdb/remote-adapt.c
gdb/remote-eb.c
gdb/remote-es1800.c
gdb/remote-hms.c
gdb/remote-mm.c
gdb/remote-nindy.c
gdb/remote-st2000.c
gdb/remote-udi.c
gdb/remote-vx.c
gdb/xcoffexec.c

index 27276ef6d26fe7c74e333350d29c7289f45eda58..84c17c264733970ab8f55170f7ae471d464f0bb0 100644 (file)
@@ -1,3 +1,27 @@
+Mon Sep 21 18:16:30 1992  K. Richard Pixley  (rich@sendai.cygnus.com)
+
+       Break the thread of control that implies that a unix child
+       process will be the default target.
+
+       * target.c (find_default_run_target, find_default_attach,
+       find_default_create_inferior, return_zero):  new functions.
+       (cleanup_target):  Make return_zero the default for to_can_run.
+
+       * exec.c (exec_ops), core.c (core_ops):  Replace child_attach and
+       child_create_inferior references with find_default_XXX instead.
+
+       * target.h (struct target_ops): new field, to_can_run.
+       (find_default_attach, find_default_create_inferior):  new prototypes.
+       (target_can_run): new macro.
+
+       * Also added a zero (default) to_can_run element to all static
+       struct target_ops initializations throughout GDB, except: 
+       * inftarg.c (child_ops): Use new child_can_run() to enable child runs.
+
+       * infrun.c (child_create_inferior):  Clean up error handling when
+       no exec file is specified.
+       (child_attach):  Don't require exec file.
+
 Mon Sep 21 19:43:13 1992  John Gilmore and K. Richard Pixley (gnu@cygnus.com)
 
        Remove kill_inferior_fast, in favor of target_kill, which goes
index dc2cf24d23e82ff760da8e05a12809d1231e94dc..21990f0587830c7456dcc8573001620cff5405b2 100644 (file)
@@ -433,14 +433,15 @@ struct target_ops core_ops = {
        "core", "Local core dump file",
        "Use a core file as a target.  Specify the filename of the core file.",
        core_open, core_close,
-       child_attach, core_detach, 0, 0, /* resume, wait */
+       find_default_attach, core_detach, 0, 0, /* resume, wait */
        get_core_registers, 
        0, 0, /* store_regs, prepare_to_store */
        xfer_memory, core_files_info,
        0, 0, /* core_insert_breakpoint, core_remove_breakpoint, */
        0, 0, 0, 0, 0, /* terminal stuff */
        0, 0, 0, /* kill, load, lookup sym */
-       child_create_inferior, 0, /* mourn_inferior */
+       find_default_create_inferior, 0, /* mourn_inferior */
+       0, /* can_run */
        core_stratum, 0, /* next */
        0, 1, 1, 1, 0,  /* all mem, mem, stack, regs, exec */
        0, 0,                   /* section pointers */
index f8a3271a41cbf8668658a2a5c7f2ce94a654900c..9241573eeced0df519d62968627a39f1ab9b037a 100644 (file)
@@ -1425,6 +1425,7 @@ struct target_ops adapt_ops = {
        0,                      /* lookup_symbol */
        adapt_create_inferior,  /* create_inferior */ 
        adapt_mourn,            /* mourn_inferior FIXME */
+       0, /* can_run */
        process_stratum, 0, /* next */
        1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0,0,            /* Section pointers */
index 575f7cccc84873a0323f5b655e60533bdfbbf042..666de4fcc768d48f20548486b1178af9db187c62 100644 (file)
@@ -987,6 +987,7 @@ executable as it exists on the remote computer.  For example,\n\
        0, /* lookup_symbol */
        eb_create_inferior,
        eb_mourn_inferior,
+       0,      /* can_run */
        process_stratum, 0, /* next */
        1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0, 0,                   /* Section pointers */
index 9a542e04250a0180ca08cfe343d0680fae9b7003..ca806b2e917d07305f19fb9830a5a5d36741285f 100644 (file)
@@ -2187,6 +2187,7 @@ Specify the serial device it is connected to (e.g. /dev/ttya).",
   NULL,                                /* to_lookup_symbol */
   es1800_create_inferior,      /* to_create_inferior */
   NULL,                                /* to_mourn_inferior */
+  0,                           /* to_can_run */
   core_stratum,                        /* to_stratum */
   0,                           /* to_next */
   0,                           /* to_has_all_memory */
@@ -2232,6 +2233,7 @@ Specify the serial device it is connected to (e.g. /dev/ttya).",
   NULL,                                /* to_lookup_symbol */
   es1800_create_inferior,      /* to_create_inferior */
   es1800_mourn_inferior,       /* to_mourn_inferior */
+  0,                           /* to_can_run */
   process_stratum,             /* to_stratum */
   0,                           /* to_next */
   1,                           /* to_has_all_memory */
index 7b0e7b0afcf3ea7e5590b2944bc7d116d64942e0..fc260f1a5743d3efd109125f7f4386c669cd1362 100644 (file)
@@ -1405,6 +1405,7 @@ by a serial line.",
        0,                      /* lookup_symbol */
        hms_create_inferior,    /* create_inferior */ 
        hms_mourn,              /* mourn_inferior FIXME */
+       0,                      /* can_run */
        process_stratum, 0, /* next */
        1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0,0,            /* Section pointers */
index d824d2584ff858066bfdd4732cc4eb1b819bc4fa..fb9060b015a450e6f886eb005b19a7b2dfdf46f1 100644 (file)
@@ -1683,6 +1683,7 @@ struct target_ops mm_ops = {
         0,                      /* lookup_symbol */
         mm_create_inferior,  /* create_inferior */
         mm_mourn,            /* mourn_inferior FIXME */
+       0,                      /* can_run */
         process_stratum, 0, /* next */
         1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0,0,            /* sections, sections_end */
index dcc552a1fa2900e3a9f3df3d3f80beb56ea6b09a..69849fcaf24efab24aea1de8e6f8c17941cc8886 100644 (file)
@@ -941,6 +941,7 @@ specified when you started GDB.",
        0, /* lookup_symbol */
        nindy_create_inferior,
        nindy_mourn_inferior,
+       0,              /* can_run */
        process_stratum, 0, /* next */
        1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0, 0,                   /* Section pointers */
index f7904fa9d5062cdd9bd7e5d4693fef8eaab39d19..d7de9307765f8f4727272c75dc0703b0b0ff17bf 100644 (file)
@@ -795,6 +795,7 @@ the speed to connect at in bits per second.",
   0,                           /* lookup_symbol */
   st2000_create_inferior,
   st2000_mourn_inferior,
+  0,                           /* can_run */
   process_stratum,
   0,                           /* next */
   1,
index bac27aa68e07d24edfcaa2408dde09ff4c841b39..c54ef669d0a86a8c635e7904c8df78edbef76e3f 100644 (file)
@@ -1342,6 +1342,7 @@ static struct target_ops udi_ops = {
         0,                      /* lookup_symbol */
         udi_create_inferior,  /* create_inferior */
         udi_mourn,            /* mourn_inferior FIXME */
+       0,                      /* can_run */
         process_stratum, 0, /* next */
         1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0, 0,                   /* Section pointers */
index de9aa65f2e056b9b2c657409d4bcd4179802947c..39644f3ba1f6d85d9a78146a5bbe77e6c5c264eb 100644 (file)
@@ -1339,6 +1339,7 @@ Specify the name of the machine to connect to.",
        vx_load_command,
        vx_lookup_symbol,
        vx_create_inferior, 0,  /* mourn_inferior */
+       0, /* can_run */
        core_stratum, 0, /* next */
        1, 1, 0, 0, 0,  /* all mem, mem, stack, regs, exec */
        0, 0,                   /* Section pointers */
@@ -1361,6 +1362,7 @@ struct target_ops vx_run_ops = {
        vx_load_command,
        vx_lookup_symbol,
        0, vx_mourn_inferior,
+       0,  /* can_run */
        process_stratum, 0, /* next */
        0, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
                        /* all_mem is off to avoid spurious msg in "i files" */
index ddc1d23c1d85f5d6d84fcd0b088e5626eb9a7b64..9c85b0cc57b2212e921ceaca51dd457a87d74cd1 100644 (file)
@@ -999,6 +999,7 @@ Specify the filename of the executable file.",
        0, /* lookup sym */
        child_create_inferior,
        0, /* mourn_inferior */
+       0, /* can_run */
        file_stratum, 0, /* next */
        0, 1, 0, 0, 0,  /* all mem, mem, stack, regs, exec */
        0, 0,                   /* section pointers */