* mn10200-tdep.c (mn10200_analyze_prologue): Fix calculation
authorMark Alexander <marka@cygnus>
Thu, 25 Jun 1998 06:20:35 +0000 (06:20 +0000)
committerMark Alexander <marka@cygnus>
Thu, 25 Jun 1998 06:20:35 +0000 (06:20 +0000)
of jsr target address.

gdb/ChangeLog
gdb/mn10200-tdep.c

index 77df93c911e7d2cd54b3be69c63e6efb060314a2..f849ff1d92a19bfe11bc9d79469fad233b9886e7 100644 (file)
@@ -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
index e2009e44bc4c08a7fdae56eb2e34d0dec59a8e31..757f2bae37e2f682cccdd719618c806aeea943ff 100644 (file)
@@ -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);