120 lines
3.2 KiB
C
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
|
|
|