8sa1-gcc/gcc/config/i386/sco.h
James Van Artsdalen db5dc21f76 *** empty log message ***
From-SVN: r425
1992-03-09 02:45:20 +00:00

64 lines
1.9 KiB
C

/* Definitions for Intel 386 running SCO Unix System V. */
/* Mostly it's like AT&T Unix System V. */
#include "i386v.h"
/* Use crt1.o as a startup file and crtn.o as a closing file. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}} crtbegin.o%s"
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
/* Library spec, including SCO international language support. */
#undef LIB_SPEC
#define LIB_SPEC \
"%{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp} %{scointl:libintl.a%s} -lc"
/* Specify predefined symbols in preprocessor. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -Di386 -DM_UNIX -DM_I386 -DM_COFF -DM_WORDSWAP"
#undef CPP_SPEC
#define CPP_SPEC "%{scointl:-DM_INTERNAT}"
/* Use atexit for static destructors, instead of defining
our own exit function. */
#define HAVE_ATEXIT
#if 0 /* Not yet certain whether this is needed. */
/* If no 387, use the general regs to return floating values,
since this system does not emulate the 80387. */
#define VALUE_REGNO(MODE) \
((TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode))
? FIRST_FLOAT_REG : 0)
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
((REGNO) < 2 ? 1 \
: (REGNO) < 4 ? 1 \
: (REGNO) >= 8 ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT \
|| GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \
&& TARGET_80387 \
&& GET_MODE_UNIT_SIZE (MODE) <= 8) \
: (MODE) != QImode)
#endif
/* caller has to pop the extra argument passed to functions that return
structures. */
#undef RETURN_POPS_ARGS
#define RETURN_POPS_ARGS(FUNTYPE,SIZE) \
(TREE_CODE (FUNTYPE) == IDENTIFIER_NODE ? 0 \
: (TARGET_RTD \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
== void_type_node))) ? (SIZE) \
: 0)
/* On other 386 systems, the last line looks like this:
: (aggregate_value_p (FUNTYPE)) ? GET_MODE_SIZE (Pmode) : 0) */