1999-02-02 Martin Hunt <hunt@cygnus.com>
[deliverable/binutils-gdb.git] / gdb / mn10200-tdep.c
index e2009e44bc4c08a7fdae56eb2e34d0dec59a8e31..cb7ead093137aa6ded68f6d7d8b0f7db23b42ad5 100644 (file)
@@ -28,6 +28,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "gdbcore.h"
 #include "symfile.h"
 
+       
+/* Should call_function allocate stack space for a struct return?  */
+int
+mn10200_use_struct_convention (gcc_p, type)
+     int gcc_p;
+     struct type *type;
+{
+  return (TYPE_NFIELDS (type) > 1 || TYPE_LENGTH (type) > 8);
+}
+
+
+
 /* The main purpose of this file is dealing with prologues to extract
    information about stack frames and saved registers.
 
@@ -328,7 +340,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 +381,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);
This page took 0.024 seconds and 4 git commands to generate.