diff options
author | Stu Grossman <grossman@cygnus> | 1994-08-04 17:45:26 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1994-08-04 17:45:26 +0000 |
commit | a3ecbe7c52aebaf22ee74dde39964487d606bdb0 (patch) | |
tree | 2b11fba729f636b98b7ef5436113ddbeaaf2b5ca /gdb/target.c | |
parent | a1e0ba7a1a64ea102542638654a91845393b29f5 (diff) | |
download | gdb-a3ecbe7c52aebaf22ee74dde39964487d606bdb0.zip gdb-a3ecbe7c52aebaf22ee74dde39964487d606bdb0.tar.gz gdb-a3ecbe7c52aebaf22ee74dde39964487d606bdb0.tar.bz2 |
* target.c (add_target): Don't call clean_target on target
vectors anymore.
* (unpush_target): Test for to_close being set before calling.
* (target_xfer_memory, target_info): Check for to_has_memory
before playing with memory.
Diffstat (limited to 'gdb/target.c')
-rw-r--r-- | gdb/target.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gdb/target.c b/gdb/target.c index bf82452..6abbd00 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -154,7 +154,7 @@ add_target (t) target_struct_allocsize * sizeof (*target_structs)); } target_structs[target_struct_size++] = t; - cleanup_target (t); +/* cleanup_target (t);*/ if (targetlist == NULL) add_prefix_cmd ("target", class_run, target_command, @@ -445,7 +445,8 @@ unpush_target (t) { struct target_stack_item *cur, *prev; - t->to_close (0); /* Let it clean up */ + if (t->to_close) + t->to_close (0); /* Let it clean up */ /* Look for the specified target. Note that we assume that a target can only occur once in the target stack. */ @@ -668,6 +669,8 @@ target_xfer_memory (memaddr, myaddr, len, write) for (item = target_stack; item; item = item->next) { t = item->target_ops; + if (!t->to_has_memory) + continue; res = t->to_xfer_memory (memaddr, myaddr, curlen, write, t); if (res > 0) @@ -718,6 +721,9 @@ target_info (args, from_tty) { t = item->target_ops; + if (!t->to_has_memory) + continue; + if ((int)(t->to_stratum) <= (int)dummy_stratum) continue; if (has_all_mem) |