aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/cris-tdep.c11
2 files changed, 7 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index cea722e..6dcb3cd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * cris-tdep.c (crisv32_single_step_through_delay): Get this frame's
+ register, not the previous frame's.
+
2008-06-30 Luis Machado <luisgpm@br.ibm.com>
* source.c (select_source_symtab): Make sure we skip namespace
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index 12ef149..d2c0c2c 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -474,18 +474,11 @@ crisv32_single_step_through_delay (struct gdbarch *gdbarch,
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
ULONGEST erp;
int ret = 0;
- char buf[4];
if (cris_mode () == cris_mode_guru)
- {
- frame_unwind_register (this_frame, NRP_REGNUM, buf);
- }
+ erp = get_frame_register_unsigned (this_frame, NRP_REGNUM);
else
- {
- frame_unwind_register (this_frame, ERP_REGNUM, buf);
- }
-
- erp = extract_unsigned_integer (buf, 4);
+ erp = get_frame_register_unsigned (this_frame, ERP_REGNUM);
if (erp & 0x1)
{