aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1994-08-04 17:45:26 +0000
committerStu Grossman <grossman@cygnus>1994-08-04 17:45:26 +0000
commita3ecbe7c52aebaf22ee74dde39964487d606bdb0 (patch)
tree2b11fba729f636b98b7ef5436113ddbeaaf2b5ca /gdb
parenta1e0ba7a1a64ea102542638654a91845393b29f5 (diff)
downloadgdb-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')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/target.c10
2 files changed, 14 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b07803f..8f4ef91 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
Thu Aug 4 10:26:36 1994 Stu Grossman (grossman@rtl.cygnus.com)
+ * 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.
+
* remote.c (remote_open): Set inferior_pid to make kill command
happy.
* inflow.c (kill_command): Revert change of Aug 2. Use
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)