|
|
1.1 ! root 1: /* Definitions of target machine Motorola Delta 68k using GAS ! 2: for GNU Compiler. ! 3: Copyright (C) 1994 Free Software Foundation, Inc. ! 4: ! 5: This file is part of GNU CC. ! 6: ! 7: GNU CC is free software; you can redistribute it and/or modify ! 8: it under the terms of the GNU General Public License as published by ! 9: the Free Software Foundation; either version 2, or (at your option) ! 10: any later version. ! 11: ! 12: GNU CC is distributed in the hope that it will be useful, ! 13: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 15: GNU General Public License for more details. ! 16: ! 17: You should have received a copy of the GNU General Public License ! 18: along with GNU CC; see the file COPYING. If not, write to ! 19: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 20: ! 21: ! 22: /* Just in case someone asks */ ! 23: #define USE_GAS ! 24: ! 25: #include "m68k/m68k.h" ! 26: ! 27: /* See m68k.h. 7 means 68020 with 68881, ! 28: 7 & 01400 means optimize for 68040 but allow execution on 68020. */ ! 29: #undef TARGET_DEFAULT ! 30: #define TARGET_DEFAULT (7 & 01400) ! 31: ! 32: /* NYI: FP= is equivalent to -msoft-float ! 33: We use /lib/libp/lib* when profiling. ! 34: ! 35: NYI: if FP=M68881U library is -lc881u ! 36: NYI: if FP= library is -lc. ! 37: Default for us: FP=M68881 library is -lc881 */ ! 38: #undef LIB_SPEC ! 39: #define LIB_SPEC "%{!shlib:%{p:-L/usr/lib/libp} %{pg:-L/usr/lib/libp} -lc881}" ! 40: ! 41: #undef CPP_SPEC ! 42: #define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__}" ! 43: ! 44: /* Shared libraries need to use crt0s.o */ ! 45: #undef STARTFILE_SPEC ! 46: #define STARTFILE_SPEC \ ! 47: "%{!shlib:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\ ! 48: %{shlib:crt0s.o%s shlib.ifile%s} " ! 49: ! 50: /* -m68000 requires special flags to the assembler. */ ! 51: #define ASM_SPEC \ ! 52: "%{m68000:-mc68000}%{mc68000:-mc68000}%{!mc68000:%{!m68000:-mc68020}}" ! 53: ! 54: /* Generate calls to memcpy, memcmp and memset. */ ! 55: #define TARGET_MEM_FUNCTIONS ! 56: ! 57: /* size_t is unsigned int. */ ! 58: #define SIZE_TYPE "unsigned int" ! 59: ! 60: /* Every structure or union's size must be a multiple of 2 bytes. */ ! 61: #define STRUCTURE_SIZE_BOUNDARY 16 ! 62: ! 63: /* man cpp on the Delta says pcc predefines "m68k", "unix", and "sysV68", ! 64: and experimentation validates this. -jla */ ! 65: #define CPP_PREDEFINES "-Dm68k -Dunix -DsysV68" ! 66: ! 67: /* cpp has to support a #sccs directive for the /usr/include files */ ! 68: #define SCCS_DIRECTIVE ! 69: ! 70: /* Make sure to use MIT syntax, not Motorola */ ! 71: #undef MOTOROLA ! 72: ! 73: /* Use SDB style because gdb on the delta doesn't understand stabs. */ ! 74: #define SDB_DEBUGGING_INFO ! 75: ! 76: /* Use a register prefix to avoid clashes with external symbols (classic ! 77: example: `extern char PC;' in termcap). */ ! 78: #undef REGISTER_PREFIX ! 79: #define REGISTER_PREFIX "%" ! 80: ! 81: /* In the machine description we can't use %R, because it will not be seen ! 82: by ASM_FPRINTF. (Isn't that a design bug?). */ ! 83: #undef REGISTER_PREFIX_MD ! 84: #define REGISTER_PREFIX_MD "%%" ! 85: ! 86: /* The file command should always begin the output. */ ! 87: #undef ASM_FILE_START ! 88: #define ASM_FILE_START(FILE) \ ! 89: { \ ! 90: fprintf (FILE, "%s", ASM_APP_OFF); \ ! 91: output_file_directive ((FILE), main_input_filename); \ ! 92: } ! 93: ! 94: /* Undefining these will allow `output_file_directive' (in toplev.c) ! 95: to default to the right thing. */ ! 96: #undef ASM_OUTPUT_SOURCE_FILENAME ! 97: #undef ASM_OUTPUT_MAIN_SOURCE_FILENAME ! 98: ! 99: #undef REGISTER_NAMES ! 100: #define REGISTER_NAMES \ ! 101: {"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \ ! 102: "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \ ! 103: "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7" } ! 104: ! 105: /* Define how to jump to variable address from dispatch table of ! 106: relative addresses, for m68k.md insn. Note the use of 2 '%' ! 107: chars to output one. */ ! 108: #define ASM_RETURN_CASE_JUMP return "jmp %%pc@(2,%0:w)"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.