X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftm-sun386.h;h=e4da6a601ac13892ecc78c0b6606f0c99618dfb5;hb=327f7197b0cf72996628cdca53d64914e366c585;hp=3365374c245f44a43816948de85e0c05d4599a1d;hpb=fbcb5095622e1b8ab973c2e90295506818f5a523;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tm-sun386.h b/gdb/tm-sun386.h index 3365374c24..e4da6a601a 100644 --- a/gdb/tm-sun386.h +++ b/gdb/tm-sun386.h @@ -1,5 +1,5 @@ -/* Parameters for execution on a Sun 386i, for GDB, the GNU debugger. - Copyright (C) 1986, 1987, 1991 Free Software Foundation, Inc. +/* Parameters for a Sun 386i target machine, for GDB, the GNU debugger. + Copyright 1986, 1987, 1991, 1992 Free Software Foundation, Inc. This file is part of GDB. @@ -31,7 +31,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifdef COFF_ENCAPSULATE #define NAMES_HAVE_UNDERSCORE -/* Avoid conflicts between "a.out.gnu.h" and */ +/* Avoid conflicts between our include files and + (maybe not needed anymore). */ #define _EXEC_ #endif @@ -48,6 +49,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 @@ -173,6 +177,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ else \ 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. */ @@ -182,6 +189,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ else \ 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. */ @@ -218,25 +228,13 @@ 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. - - 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. */ + and produces the frame's chain-pointer. */ #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 && (outside_startup_file (FRAME_SAVED_PC (thisframe)))) - -#define FRAME_CHAIN_COMBINE(chain, thisframe) (chain) - /* Define other aspects of the stack frame. */ /* A macro that tells us whether the function invocation represented @@ -256,6 +254,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi) +#ifdef __STDC__ /* Forward decl's for prototypes */ +struct frame_info; +struct frame_saved_regs; +#endif + +extern int +i386_frame_num_args PARAMS ((struct frame_info *)); + /* Return number of bytes at start of arglist that are not really args. */ #define FRAME_ARGS_SKIP 8 @@ -269,6 +275,10 @@ 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)); } +extern void +i386_frame_find_saved_regs PARAMS ((struct frame_info *, + struct frame_saved_regs *)); + /* Things needed for making the inferior call functions. */ @@ -276,10 +286,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); } +extern void +i386_push_dummy_frame PARAMS ((void)); + /* Discard from the stack the innermost frame, restoring all registers. */ #define POP_FRAME { i386_pop_frame (); } +extern void +i386_pop_frame PARAMS ((void)); + /* this is * call 11223344 (32 bit relative) * int3