|
|
1.1 root 1: /* Definitions of target machine for GNU compiler. HP 9000/200 68000 version.
2: Copyright (C) 1987, 1991 Free Software Foundation, Inc.
3:
4: This file is part of GNU CC.
5:
6: GNU CC is free software; you can redistribute it and/or modify
7: it under the terms of the GNU General Public License as published by
8: the Free Software Foundation; either version 2, or (at your option)
9: any later version.
10:
11: GNU CC is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with GNU CC; see the file COPYING. If not, write to
18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19:
20: #include "m68k/m68k.h"
21:
22: /* See m68k.h. 0 means 68000 with no 68881. */
23:
24: #define TARGET_DEFAULT 0
25:
26: /* Don't try using XFmode. */
27: #undef LONG_DOUBLE_TYPE_SIZE
28: #define LONG_DOUBLE_TYPE_SIZE 64
29:
30: /* Define __HAVE_68881 in preprocessor only if -m68881 is specified.
31: This will control the use of inline 68881 insns in certain macros.
32: Also inform the program which CPU this is for. */
33:
34: #define CPP_SPEC "%{m68881:-D__HAVE_68881__} \
35: %{!ansi:%{m68020:-Dmc68020}%{mc68020:-Dmc68020}%{!mc68020:%{!m68020:-Dmc68010}}}"
36:
37: /* -m68020 requires special flags to the assembler. */
38:
39: #define ASM_SPEC \
40: "%{m68020:-mc68020}%{mc68020:-mc68020}%{!mc68020:%{!m68020:-mc68010}}"
41:
42: /* Names to predefine in the preprocessor for this target machine. */
43:
44: #define CPP_PREDEFINES "-Dmc68000 -Dmc68010 -Dhp200 -Dunix -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)"
45:
46: /* Link with libg.a when debugging, for dbx's sake. */
47:
48: #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} "
49:
50: /* Alignment of field after `int : 0' in a structure. */
51:
52: #undef EMPTY_FIELD_BOUNDARY
53: #define EMPTY_FIELD_BOUNDARY 16
54:
55: /* Every structure or union's size must be a multiple of 2 bytes. */
56:
57: #define STRUCTURE_SIZE_BOUNDARY 16
58:
59: /* This is BSD, so it wants DBX format. */
60:
61: #define DBX_DEBUGGING_INFO
62:
63: /* Define subroutines to call to handle multiply, divide, and remainder.
64: These routines are built into the c-library on the hp200.
65: XXX What other routines from the c-library could we use?
66: The `*' prevents an underscore from being prepended by the compiler. */
67:
68: #define DIVSI3_LIBCALL "*ldiv"
69: #define UDIVSI3_LIBCALL "*uldiv"
70: #define MODSI3_LIBCALL "*lrem"
71: #define UMODSI3_LIBCALL "*ulrem"
72: #define MULSI3_LIBCALL "*lmul"
73: #define UMULSI3_LIBCALL "*ulmul"
74:
75: /* Don't default to pcc-struct-return, because gcc is the only compiler, and
76: we want to retain compatibility with older gcc versions. */
77: #define DEFAULT_PCC_STRUCT_RETURN 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.