|
|
1.1 root 1: /* Definitions of target machine for GNU compiler. 1.1.1.3 ! root 2: Copyright (C) 1990, 1994 Free Software Foundation, Inc. 1.1 root 3: 4: Written by Robert Andersson, International Systems, Oslo, Norway. 5: Please send bug reports, questions and improvements to [email protected]. 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 tower-as.h. 17: 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 2, 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 "m68k/m68k.h" 38: 39: 40: /* See m68k.h. 5 means 68020 with no 68881. */ 41: 42: #define TARGET_DEFAULT 5 43: 44: /* Don't try using XFmode. */ 45: #undef LONG_DOUBLE_TYPE_SIZE 46: #define LONG_DOUBLE_TYPE_SIZE 64 47: 48: /* Names to predefine in the preprocessor for this target machine. */ 49: 1.1.1.2 root 50: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_200 -Asystem(unix) -Asystem(svr3) -Acpu(m68k) -Amachine(m68k)" 1.1 root 51: 52: #if 0 /* It is incorrect to test these symbols. 53: They describe the host, not the target. 54: It should not matter which model is specified. */ 55: #ifdef tower32_600 1.1.1.2 root 56: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_600 -Asystem(unix) -Asystem(svr3) -Acpu(m68k) -Amachine(m68k)" 1.1 root 57: #endif 58: #ifdef tower32_700 1.1.1.2 root 59: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_700 -Asystem(unix) -Asystem(svr3) -Acpu(m68k) -Amachine(m68k)" 1.1 root 60: #endif 61: #ifdef tower32_800 1.1.1.2 root 62: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_800 -Asystem(unix) -Asystem(svr3) -Acpu(m68k) -Amachine(m68k)" 1.1 root 63: #endif 64: #ifdef tower32_850 1.1.1.2 root 65: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_850 -Asystem(unix) -Asystem(svr3) -Acpu(m68k) -Amachine(m68k)" 1.1 root 66: #endif 67: #endif 68: 69: /* The startfiles and libraries depend on the -p and -m68881 options. 70: The Tower does not support the -pg option. */ 71: 72: #define LINK_SPEC \ 73: "%{p:%{m68881:-L/usr/lib/fp/libp} -L/usr/lib/libp} \ 74: %{m68881:-L/usr/lib/fp}" 75: 76: #define LIB_SPEC \ 77: "%{shlib:-lc_s} -lc crtend.o%s crtn.o%s" 78: 79: #define STARTFILE_SPEC \ 80: "%{p:mcrt1.o%s} %{!p:crt1.o%s} crtbegin.o%s" 81: 82: /* Use mem* functions, recognize #ident lines. */ 83: 84: #define TARGET_MEM_FUNCTIONS 85: #define IDENT_DIRECTIVE 86: 87: /* Every structure and union's size must be a multiple of two bytes. */ 88: 89: #define STRUCTURE_SIZE_BOUNDARY 16 90: 91: /* All register names should have a leading % character. */ 92: 93: #undef REGISTER_NAMES 94: #define REGISTER_NAMES \ 95: {"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \ 96: "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \ 97: "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7"}; 98: 1.1.1.3 ! root 99: #undef REGISTER_PREFIX ! 100: #define REGISTER_PREFIX "%" ! 101: ! 102: #undef IMMEDIATE_PREFIX ! 103: #define IMMEDIATE_PREFIX ! 104: 1.1 root 105: /* We do not want leading underscores. */ 106: 107: #undef ASM_OUTPUT_LABELREF 108: #define ASM_OUTPUT_LABELREF(FILE,NAME) \ 109: fprintf (FILE, "%s", NAME)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.