diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/mn10200-tdep.c | 4 |
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); |