aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.c
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>1994-05-14 23:12:29 +0000
committerStan Shebs <shebs@codesourcery.com>1994-05-14 23:12:29 +0000
commit16d2cc8084cbaa083e874e6ac11e2181c65265f2 (patch)
tree745aea8133739862df18f6ef584c2059029c5d68 /gdb/target.c
parentd8fc87731898508fa3fe2e138264a4f06836f1fc (diff)
downloadgdb-16d2cc8084cbaa083e874e6ac11e2181c65265f2.zip
gdb-16d2cc8084cbaa083e874e6ac11e2181c65265f2.tar.gz
gdb-16d2cc8084cbaa083e874e6ac11e2181c65265f2.tar.bz2
Sat May 14 15:13:52 1994 Stan Shebs (shebs@andros.cygnus.com)
* inflow.c (job_control, attach_flag, generic_mourn_inferior): Remove, needed for both native and cross. * target.c (attach_flag, generic_mourn_inferior): Put here. * utils.c (job_control): Put here. (terminal.h): Don't include anymore.
Diffstat (limited to 'gdb/target.c')
-rw-r--r--gdb/target.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/target.c b/gdb/target.c
index 456fffd..10f2213 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -117,6 +117,11 @@ struct target_ops **current_target_stack;
static struct cmd_list_element *targetlist = NULL;
+/* Nonzero if we are debugging an attached outside process
+ rather than an inferior. */
+
+int attach_flag;
+
/* The user just typed 'target' without the name of a target. */
/* ARGSUSED */
@@ -718,6 +723,8 @@ target_link (modname, t_reloc)
if (STREQ(current_target->to_shortname, "rombug"))
{
(current_target->to_lookup_symbol) (modname, t_reloc);
+ if (*t_reloc == 0)
+ error("Unable to link to %s and get relocation in rombug", modname);
}
else
*t_reloc = (CORE_ADDR)-1;
@@ -808,6 +815,29 @@ find_core_target ()
return(count == 1 ? runable : NULL);
}
+/* The inferior process has died. Long live the inferior! */
+
+void
+generic_mourn_inferior ()
+{
+ inferior_pid = 0;
+ attach_flag = 0;
+ breakpoint_init_inferior ();
+ registers_changed ();
+
+#ifdef CLEAR_DEFERRED_STORES
+ /* Delete any pending stores to the inferior... */
+ CLEAR_DEFERRED_STORES;
+#endif
+
+ reopen_exec_file ();
+ reinit_frame_cache ();
+
+ /* It is confusing to the user for ignore counts to stick around
+ from previous runs of the inferior. So clear them. */
+ breakpoint_clear_ignore_counts ();
+}
+
/* This table must match in order and size the signals in enum target_signal
in target.h. */
static struct {