|
|
1.1 ! root 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 [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.h" ! 38: ! 39: ! 40: /* See 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: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_200" ! 47: ! 48: #if 0 /* It is incorrect to test these symbols. ! 49: They describe the host, not the target. ! 50: It should not matter which model is specified. */ ! 51: #ifdef tower32_600 ! 52: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_600" ! 53: #endif ! 54: #ifdef tower32_700 ! 55: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_700" ! 56: #endif ! 57: #ifdef tower32_800 ! 58: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_800" ! 59: #endif ! 60: #ifdef tower32_850 ! 61: #define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_850" ! 62: #endif ! 63: #endif ! 64: ! 65: /* The startfiles and libraries depend on the -p and -m68881 options. ! 66: The Tower does not support the -pg option. */ ! 67: ! 68: #define LINK_SPEC \ ! 69: "%{p:%{m68881:-L/usr/lib/fp/libp} -L/usr/lib/libp} \ ! 70: %{m68881:-L/usr/lib/fp}" ! 71: ! 72: #define LIB_SPEC "-lc %{m68881:/usr/lib/fp/crtn.o}%{!m68881:/lib/crtn.o}" ! 73: ! 74: /* Use mem* functions, recognize #ident lines. */ ! 75: ! 76: #define TARGET_MEM_FUNCTIONS ! 77: #define IDENT_DIRECTIVE ! 78: ! 79: /* This is only used in g++, don't prepend underscore. */ ! 80: ! 81: #define NO_UNDERSCORES ! 82: ! 83: /* Every structure and union's size must be a multiple of two bytes. */ ! 84: ! 85: #define STRUCTURE_SIZE_BOUNDARY 16 ! 86: ! 87: /* All register names should have a leading % character. */ ! 88: ! 89: #undef REGISTER_NAMES ! 90: #define REGISTER_NAMES \ ! 91: {"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \ ! 92: "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \ ! 93: "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7", \ ! 94: "%fpa0", "%fpa1", "%fpa2", "%fpa3", "%fpa4", "%fpa5", "%fpa6", "%fpa7", \ ! 95: "%fpa8", "%fpa9", "%fpa10", "%fpa11", "%fpa12", "%fpa13", "%fpa14", "%fpa15",\ ! 96: "%fpa16","%fpa17", "%fpa18", "%fpa19", "%fpa20", "%fpa21", "%fpa22","%fpa23",\ ! 97: "%fpa24","%fpa25", "%fpa26", "%fpa27", "%fpa28", "%fpa29", "%fpa30","%fpa31"} ! 98: ! 99: /* We do not want leading underscores. */ ! 100: ! 101: #undef ASM_OUTPUT_LABELREF ! 102: #define ASM_OUTPUT_LABELREF(FILE,NAME) \ ! 103: fprintf (FILE, "%s", NAME)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.