aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mn10200-tdep.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 77df93c..f849ff1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jun 24 23:17:12 1998 Mark Alexander <marka@cygnus.com>
+
+ * mn10200-tdep.c (mn10200_analyze_prologue): Fix calculation
+ of jsr target address.
+
Tue Jun 23 19:37:46 1998 Mark Alexander <marka@cygnus.com>
* config/mn10200/tm-mn10200.h (SAVED_PC_AFTER_CALL): Don't
diff --git a/gdb/mn10200-tdep.c b/gdb/mn10200-tdep.c
index e2009e4..757f2ba 100644
--- a/gdb/mn10200-tdep.c
+++ b/gdb/mn10200-tdep.c
@@ -328,7 +328,7 @@ mn10200_analyze_prologue (fi, pc)
}
/* Get the PC this instruction will branch to. */
- temp = (extract_signed_integer (buf, 2) + addr) & 0xffffff;
+ temp = (extract_signed_integer (buf, 2) + addr + 3) & 0xffffff;
/* Get the name of the function at the target address. */
status = find_pc_partial_function (temp, &name, NULL, NULL);
@@ -369,7 +369,7 @@ mn10200_analyze_prologue (fi, pc)
}
/* Get the PC this instruction will branch to. */
- temp = (extract_signed_integer (buf, 3) + addr) & 0xffffff;
+ temp = (extract_signed_integer (buf, 3) + addr + 5) & 0xffffff;
/* Get the name of the function at the target address. */
status = find_pc_partial_function (temp, &name, NULL, NULL);