diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/frv-tdep.c | 8 |
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 |