Commit | Line | Data |
---|---|---|
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 | ||
20 | This file is part of GNU CC. | |
21 | ||
22 | GNU CC is free software; you can redistribute it and/or modify | |
23 | it under the terms of the GNU General Public License as published by | |
24 | the Free Software Foundation; either version 1, or (at your option) | |
25 | any later version. | |
26 | ||
27 | GNU CC is distributed in the hope that it will be useful, | |
28 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
29 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
30 | GNU General Public License for more details. | |
31 | ||
32 | You should have received a copy of the GNU General Public License | |
33 | along with GNU CC; see the file COPYING. If not, write to | |
34 | the 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) |