aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/frv-tdep.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3edbf90..4561d2f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2004-03-15 Kevin Buettner <kevinb@redhat.com>
+ * frv-tdep.c (frv_analyze_prologue): Terminate prologue scan,
+ but not via a call to error(), when unable to read memory.
+
+2004-03-15 Kevin Buettner <kevinb@redhat.com>
+
* frv-tdep.c (frv_call_dummy_words): Delete.
(frv_frame_unwind_cache): Delete unused variable, ``prev_sp''.
diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c
index 5cb038f..ffd911e 100644
--- a/gdb/frv-tdep.c
+++ b/gdb/frv-tdep.c
@@ -511,7 +511,13 @@ frv_analyze_prologue (CORE_ADDR pc, struct frame_info *next_frame,
/* Scan the prologue. */
while (pc < lim_pc)
{
- LONGEST op = read_memory_integer (pc, 4);
+ char buf[frv_instr_size];
+ LONGEST op;
+
+ if (target_read_memory (pc, buf, sizeof buf) != 0)
+ break;
+ op = extract_signed_integer (buf, sizeof buf);
+
next_pc = pc + 4;
/* The tests in this chain of ifs should be in order of