* config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
[deliverable/binutils-gdb.git] / gdb / m88k-tdep.c
index d9a55c0b1456684e444d2ad6bc6688cd1700ffa4..bc6785bd6ec813f01bb565f08da460feb77f4939 100644 (file)
@@ -45,6 +45,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "setjmp.h"
 #include "value.h"
 
+/* Size of an instruction */
+#define        BYTES_PER_88K_INSN      4
+
 void frame_find_saved_regs ();
 
 
@@ -91,7 +94,7 @@ frame_chain_valid (chain, thisframe)
      struct frame_info *thisframe;
 {
   return (chain != 0
-       && outside_startup_file (FRAME_SAVED_PC (thisframe)));
+       && !inside_entry_file (FRAME_SAVED_PC (thisframe)));
 }
 
 void
@@ -178,11 +181,8 @@ next_insn (memaddr, pword1)
 {
   unsigned long buf[1];
 
-  read_memory (memaddr, buf, sizeof (buf));
-  *pword1 = buf[0];
-  SWAP_TARGET_AND_HOST (pword1, sizeof (long));
-
-  return memaddr + 4;
+  *pword1 = read_memory_integer (memaddr, BYTES_PER_88K_INSN);
+  return memaddr + BYTES_PER_88K_INSN;
 }
 
 /* Read a register from frames called by us (or from the hardware regs).  */
@@ -603,7 +603,7 @@ pushed_size (prev_words, v)
       case TYPE_CODE_ENUM:             /* Enumeration type */
       case TYPE_CODE_INT:              /* Integer type */
       case TYPE_CODE_REF:              /* C++ Reference types */
-      case TYPE_CODE_ARRAY:            /* Array type, lower bound zero */
+      case TYPE_CODE_ARRAY:            /* Array type, lower & upper bounds */
 
        return 1;
 
@@ -626,7 +626,7 @@ pushed_size (prev_words, v)
       case TYPE_CODE_FUNC:             /* Function type */
       case TYPE_CODE_SET:              /* Pascal sets */
       case TYPE_CODE_RANGE:            /* Range (integers within bounds) */
-      case TYPE_CODE_PASCAL_ARRAY:     /* Array with explicit type of index */
+      case TYPE_CODE_STRING:           /* String type */
       case TYPE_CODE_MEMBER:           /* Member type */
       case TYPE_CODE_METHOD:           /* Method type */
        /* Don't know how to pass these yet.  */
@@ -642,7 +642,7 @@ store_parm_word (address, val)
      CORE_ADDR address;
      int val;
 {
-  write_memory (address, &val, 4);
+  write_memory (address, (char *)&val, 4);
 }
 
 static int
@@ -663,7 +663,7 @@ store_parm (prev_words, left_parm_addr, v)
       case TYPE_CODE_PTR:              /* Pointer type */
       case TYPE_CODE_ENUM:             /* Enumeration type */
       case TYPE_CODE_INT:              /* Integer type */
-      case TYPE_CODE_ARRAY:            /* Array type, lower bound zero */
+      case TYPE_CODE_ARRAY:            /* Array type, lower & upper bounds */
       case TYPE_CODE_REF:              /* C++ Reference types */
 
        store_parm_word (start, *val_addr);
This page took 0.0249 seconds and 4 git commands to generate.