Minor bug fixes from last big checkin.
[deliverable/binutils-gdb.git] / gdb / tm-symmetry.h
index 508920105839691d66cc493f22b21058e4fa4fba..389d4eb32a768de30e7a042a15735e0ba18a0fea 100644 (file)
@@ -1,6 +1,7 @@
-/* Definitions to make GDB run on a Sequent Symmetry under dynix 3.0,
+/* Target machine definitions for GDB on a Sequent Symmetry under dynix 3.0,
    with Weitek 1167 and i387 support.
-   Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+   Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
+   Symmetry version by Jay Vosburgh (uunet!sequent!fubar).
 
 This file is part of GDB.
 
@@ -18,8 +19,6 @@ 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.  */
 
-/* Symmetry version by Jay Vosburgh (uunet!sequent!fubar) */
-
 /* I don't know if this will work for cross-debugging, even if you do get
    a copy of the right include file.  */
 #include <machine/reg.h>
@@ -41,6 +40,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
+extern int
+i386_skip_prologue PARAMS ((int));
+
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
@@ -187,6 +189,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 (REGNUM < 14) ? i387_to_double((FROM), (TO)) : \
     bcopy ((FROM), (TO), 4))
 
+extern void
+i387_to_double PARAMS ((char *, char *));
+
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
@@ -197,6 +202,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 (REGNUM < 14) ? double_to_i387((FROM), (TO)) : \
     bcopy ((FROM), (TO), 4))
 
+extern void
+double_to_i387 PARAMS ((char *, char *));
+
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
@@ -242,27 +250,20 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* FRAME_CHAIN takes a frame's nominal address
    and produces the frame's chain-pointer.
 
-   FRAME_CHAIN_COMBINE takes the chain pointer and the frame's nominal address
-   and produces the nominal address of the caller frame.
-
    However, if FRAME_CHAIN_VALID returns zero,
-   it means the given frame is the outermost one and has no caller.
-   In that case, FRAME_CHAIN_COMBINE is not used.  */
+   it means the given frame is the outermost one and has no caller.  */
 
 /* On Symmetry, %ebp points to caller's %ebp, and the return address
-   is right on top of that.
-*/
+   is right on top of that.  */
 
 #define FRAME_CHAIN(thisframe)  \
-  (outside_startup_file ((thisframe)->pc) ? \
+  (!inside_entry_file ((thisframe)->pc) ? \
    read_memory_integer((thisframe)->frame, 4) :\
    0)
 
 #define FRAME_CHAIN_VALID(chain, thisframe) \
   (chain != 0)
 
-#define FRAME_CHAIN_COMBINE(chain, thisframe) (chain)
-
 /* Define other aspects of the stack frame.  */
 
 /* A macro that tells us whether the function invocation represented
@@ -321,6 +322,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
+#ifdef __STDC__                /* Forward decl's for prototypes */
+struct frame_info;
+struct frame_saved_regs;
+#endif
+
+extern void
+i386_frame_find_saved_regs PARAMS ((struct frame_info *,
+                                   struct frame_saved_regs *));
+
 \f
 /* Things needed for making the inferior call functions.  */
 
@@ -384,3 +394,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
        delta = to - from; \
        *(int *)((char *)(dummyname) + 1) = delta; \
 }
+
+extern void
+print_387_control_word PARAMS ((unsigned int));
+
+extern void
+print_387_status_word PARAMS ((unsigned int));
This page took 0.023596 seconds and 4 git commands to generate.