changes, what else?
[deliverable/binutils-gdb.git] / gdb / tm-mips.h
index 44390eff2355f1f676a6aebe318abd5938c7563b..b8d8016ef37ea888408c7734e48d7f24ea61f245 100644 (file)
@@ -19,10 +19,18 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+#include "coff/sym.h"          /* Needed for PDR below.  */
+#include "coff/symconst.h"
+
 #if !defined (TARGET_BYTE_ORDER)
 #define TARGET_BYTE_ORDER LITTLE_ENDIAN
 #endif
 
+/* FIXME, this triggers host-and-target (``native'') dependent code
+   which currently sits in mips-xdep.c.  Needs to be moved out to
+   mips-nat.c or some such.  */
+#define        GDB_TARGET_IS_MIPS
+
 /* Floating point is IEEE compliant */
 #define IEEE_FLOAT
 
@@ -31,14 +39,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /*#define NAMES_HAVE_UNDERSCORE*/
 
-/* Debugger information will be in mips' format */
-
-#define READ_MIPS_FORMAT
-
-/* File format is coff, but with additions */
-
-#define COFF_FORMAT
-
 /* Offset from address of function to start of its code.
    Zero on most machines.  */
 
@@ -122,7 +122,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    but do serve to get the desired values when passed to read_register.  */
 
 #define ZERO_REGNUM 0          /* read-only register, always 0 */
-#define A0_REGNUM 4            /* Lo of first arg during a subr call */
+#define A0_REGNUM 4            /* Loc of first arg during a subr call */
 #define SP_REGNUM 29           /* Contains address of top of stack */
 #define RA_REGNUM 31           /* Contains return address value */
 #define PS_REGNUM 32           /* Contains processor status */
@@ -190,7 +190,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
+#define REGISTER_VIRTUAL_TYPE(N) \
+       (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32)  \
+        ? builtin_type_float : builtin_type_int) \
+
 /* Store the address of the place in which to copy the structure the
    subroutine will return.  This is called from call_function. */
 
@@ -224,16 +227,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    (its caller).  */
 
 /* FRAME_CHAIN takes a frame's nominal address
-   and produces the frame's chain-pointer.
-
-   However, if FRAME_CHAIN_VALID returns zero,
-   it means the given frame is the outermost one and has no caller.  */
+   and produces the frame's chain-pointer. */
 
 #define FRAME_CHAIN(thisframe) (FRAME_ADDR)mips_frame_chain(thisframe)
 
-#define FRAME_CHAIN_VALID(chain, thisframe) \
-  (chain != 0 && (outside_startup_file (FRAME_SAVED_PC (thisframe))))
-
 /* Define other aspects of the stack frame.  */
 
 
@@ -326,24 +323,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    mipsread.c (ab)uses this to save memory */
 
 typedef struct mips_extra_func_info {
-       unsigned long   adr;    /* memory address of start of procedure */
-       long    isym;           /* pointer to procedure symbol */
-       long    pad2;           /* iline: start of line number entries*/
-       long    regmask;        /* save register mask */
-       long    regoffset;      /* save register offset */
        long    numargs;        /* number of args to procedure (was iopt) */
-       long    fregmask;       /* save floating point register mask */
-       long    fregoffset;     /* save floating point register offset */
-       long    framesize;      /* frameoffset: frame size */
-       short   framereg;       /* frame pointer register */
-       short   pcreg;          /* offset or reg of return pc */
-       long    lnLow;          /* lowest line in the procedure */
-       long    lnHigh;         /* highest line in the procedure */
-       long    pad3;           /* cbLineOffset: byte offset for this procedure from the fd base */
+       PDR     pdr;            /* Procedure descriptor record */
 } *mips_extra_func_info_t;
 
 #define EXTRA_FRAME_INFO \
-  char *proc_desc; /* actually, a mips_extra_func_info_t */\
+  mips_extra_func_info_t proc_desc; \
   int num_args;\
   struct frame_saved_regs *saved_regs;
 
This page took 0.024913 seconds and 4 git commands to generate.