Files
oldlinux-files/gnu/gcc/gccdiff-1.40/tm-minix68k.h
2024-02-19 00:24:47 -05:00

120 lines
3.2 KiB
C

/* target def file for MINIX-68k for use with GNU CC */
/* The following Macros control the compilation
*
* CROSS_MINIX defined when making cross compiler for MINIX
* NATIVE_MINIX defined when making compiler for MINIX
*/
#include "tm-m68k.h"
#ifndef CROSS_MINIX
#undef alloca
#endif
/* See tm-m68k.h. 0 means 68000 with no 68881. */
#define TARGET_DEFAULT 0
/* -m68020 requires special flags to the assembler. */
/* -m68000 (on atari) needs this flag to assembler, otherwise pc relative
code is produced where it should not be (in places where the
68000 only allows data ALTERABLE addressing modes) (++jrb 03/19/89) */
#define ASM_SPEC "%{m68020:-mc68020}%{!m68020:-m68000}"
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "-Dm68k"
/* default exec dir */
#ifndef STANDARD_EXEC_PREFIX
#ifdef CROSS_MINIX /* Cross-compiler */
#define STANDARD_EXEC_PREFIX "/usr/local/cross-minix/lib/gcc-"
#else /* Native compiler */
#define STANDARD_EXEC_PREFIX "/usr/gnu/lib/gcc-"
#endif
#endif
/* Alignment of field after `int : 0' in a structure. */
/* recent gcc's have this as 16, this is left in for the benfit of */
/* older gcc */
#undef EMPTY_FIELD_BOUNDARY
#define EMPTY_FIELD_BOUNDARY 16
/* Every structure or union's size must be a multiple of 2 bytes. */
#undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 16
/* code seems to assume this... */
#define DBX_DEBUGGING_INFO
#ifndef HAVE_VPRINTF
#define HAVE_VPRINTF 1
#endif
#ifdef abort
#undef abort
#define abort fancy_abort
#endif
/* the following stolen from tm-sun3.h, they seem to work better */
/* This is how to output an assembler line defining a `double' constant. */
#undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
fprintf (FILE, "\t.double 0r%.20e\n", (VALUE))
/* This is how to output an assembler line defining a `float' constant. */
#undef ASM_OUTPUT_FLOAT
#define ASM_OUTPUT_FLOAT(FILE,VALUE) \
fprintf (FILE, "\t.single 0r%.20e\n", (VALUE))
#undef ASM_OUTPUT_FLOAT_OPERAND
#define ASM_OUTPUT_FLOAT_OPERAND(FILE,VALUE) \
fprintf (FILE, "#0r%.9g", (VALUE))
#undef ASM_OUTPUT_DOUBLE_OPERAND
#define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \
fprintf (FILE, "#0r%.20g", (VALUE))
/* Specs for start file and link specs */
#ifdef CROSS_MINIX /* Cross compiler */
#define STARTFILE_SPEC \
"%{pg:/usr/local/cross-minix/lib/gcrt0.o%s}\
%{!pg:\
%{p:/usr/local/cross-minix/lib/mcrtso.o%s}\
%{!p:%{mshort:/usr/local/cross-minix/lib/crtso.o%s}\
%{!mshort:/usr/local/cross-minix/lib/crtso32.o%s}}}"
#else /* Native compiler */
#define STARTFILE_SPEC \
"%{pg:/usr/gnu/lib/gcrt0.o%s}\
%{!pg:\
%{p:/usr/gnu/lib/mcrtso.o%s}\
%{!p:%{mshort:/usr/gnu/lib/crtso.o%s}\
%{!mshort:/usr/gnu/lib/crtso32.o%s}}}"
#endif
#ifdef CROSS_MINIX /* Cross compiler */
#define LIB_SPEC \
"%{!p:\
%{!pg:\
%{mshort:/usr/local/cross-minix/lib/libc.a}\
%{!mshort:/usr/local/cross-minix/lib/libc32.a}}}\
%{p:-lgnu-p.olb}\
%{pg:gnu-p.olb}"
#else
#define LIB_SPEC \
"%{!p:\
%{!pg:\
%{mshort:/usr/gnu/lib/libc.a}\
%{!mshort:/usr/gnu/lib/libc32.a}}}\
%{p:-lgnu-p.olb}\
%{pg:gnu-p.olb}"
#endif