Start development on 386BSD 0.0
[unix-history] / .ref-BSD-4_3_Net_2 / usr / src / usr.bin / gcc / cc1 / config / tm-tower.h
CommitLineData
ac3dde56
C
1/* Definitions of target machine for GNU compiler.
2 Copyright (C) 1990 Free Software Foundation, Inc.
3
4 Written by Robert Andersson, International Systems, Oslo, Norway.
5 Please send bug reports, questions and improvements to ra@intsys.no.
6
7 For NCR Tower 32/4x0 and 32/6x0 running System V Release 3.
8 I don't have access to 200/700/800/850 machines, so I don't know if it
9 works on those as well. It shouldn't be far from it however.
10 The hardware floating point support is completely untested, as I do
11 not have access to a machine with a 6888x FPU in it.
12 It does not work on the System V Release 2 based OS releases. Making it
13 work will not be easy, due to the silly way in which stack expansion is
14 implemented in the OS.
15
16 This file is included in both tm-tower-as.h and tm-tower-gc.h, and contains
17 definitions common to both of them. Do *NOT* include this file directly.
18
19
20This file is part of GNU CC.
21
22GNU CC is free software; you can redistribute it and/or modify
23it under the terms of the GNU General Public License as published by
24the Free Software Foundation; either version 1, or (at your option)
25any later version.
26
27GNU CC is distributed in the hope that it will be useful,
28but WITHOUT ANY WARRANTY; without even the implied warranty of
29MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30GNU General Public License for more details.
31
32You should have received a copy of the GNU General Public License
33along with GNU CC; see the file COPYING. If not, write to
34the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
35
36
37#include "tm-m68k.h"
38
39
40/* See tm-m68k.h. 5 means 68020 with no 68881. */
41
42#define TARGET_DEFAULT 5
43
44/* Names to predefine in the preprocessor for this target machine. */
45
46#ifdef tower32_200
47#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_200"
48#endif
49#ifdef tower32_600
50#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_600"
51#endif
52#ifdef tower32_700
53#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_700"
54#endif
55#ifdef tower32_800
56#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_800"
57#endif
58#ifdef tower32_850
59#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_850"
60#endif
61
62/* The startfiles and libraries depend on the -p and -m68881 options.
63 The Tower does not support the -pg option. */
64
65#define LINK_SPEC \
66"%{p:%{m68881:-L/usr/lib/fp/libp} -L/usr/lib/libp} \
67 %{m68881:-L/usr/lib/fp}"
68
69#define LIB_SPEC "-lc %{m68881:/usr/lib/fp/crtn.o}%{!m68881:/lib/crtn.o}"
70
71/* Use mem* functions, recognize #ident lines. */
72
73#define TARGET_MEM_FUNCTIONS
74#define IDENT_DIRECTIVE
75
76/* This is only used in g++, don't prepend underscore. */
77
78#define NO_UNDERSCORES
79
80/* Every structure and union's size must be a multiple of two bytes. */
81
82#define STRUCTURE_SIZE_BOUNDARY 16
83
84/* All register names should have a leading % character. */
85
86#undef REGISTER_NAMES
87#define REGISTER_NAMES \
88{"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \
89 "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \
90 "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7", \
91 "%fpa0", "%fpa1", "%fpa2", "%fpa3", "%fpa4", "%fpa5", "%fpa6", "%fpa7", \
92 "%fpa8", "%fpa9", "%fpa10", "%fpa11", "%fpa12", "%fpa13", "%fpa14", "%fpa15",\
93 "%fpa16","%fpa17", "%fpa18", "%fpa19", "%fpa20", "%fpa21", "%fpa22","%fpa23",\
94 "%fpa24","%fpa25", "%fpa26", "%fpa27", "%fpa28", "%fpa29", "%fpa30","%fpa31"}
95
96/* We do not want leading underscores. */
97
98#undef ASM_OUTPUT_LABELREF
99#define ASM_OUTPUT_LABELREF(FILE,NAME) \
100 fprintf (FILE, "%s", NAME)