From 5ad3a4ca203f5ec10d4c5eb801077f494e2a095e Mon Sep 17 00:00:00 2001
From: Daniel Jacobowitz <drow@false.org>
Date: Sun, 1 Jul 2007 22:35:55 +0000
Subject: [PATCH] 	PR symtab/2161 	* target.c (memory_xfer_partial): Do
 not continue past targets with 	all memory.

---
 gdb/ChangeLog | 6 ++++++
 gdb/target.c  | 5 +++++
 2 files changed, 11 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 94f98e5b55c..3cc6fb712bc 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-01  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	PR symtab/2161
+	* target.c (memory_xfer_partial): Do not continue past targets with
+	all memory.
+
 2007-06-30  Andreas Schwab  <schwab@suse.de>
 
 	* m68k-tdep.c (m68k_ps_type): New.
diff --git a/gdb/target.c b/gdb/target.c
index 496cd920e64..2bb50e6f6b8 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -1084,6 +1084,11 @@ memory_xfer_partial (struct target_ops *ops, void *readbuf, const void *writebuf
       if (res > 0)
 	return res;
 
+      /* We want to continue past core files to executables, but not
+	 past a running target's memory.  */
+      if (ops->to_has_all_memory)
+	return res;
+
       ops = ops->beneath;
     }
   while (ops != NULL);
-- 
GitLab