|
|
1.1 ! root 1: /* Definitions of target machine for GNU compiler. Iris version. ! 2: Copyright (C) 1991 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GNU CC. ! 5: ! 6: GNU CC is free software; you can redistribute it and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 2, or (at your option) ! 9: any later version. ! 10: ! 11: GNU CC is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GNU CC; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: #define SGI_TARGET 1 /* inform other mips files this is SGI */ ! 21: ! 22: /* Names to predefine in the preprocessor for this target machine. */ ! 23: ! 24: #define CPP_PREDEFINES "\ ! 25: -Dunix -Dmips -Dsgi -DSVR3 -Dhost_mips -DMIPSEB -DSYSTYPE_SYSV \ ! 26: -Asystem(unix) -Asystem(svr3) -Acpu(mips) -Amachine(mips)" ! 27: ! 28: #define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}" ! 29: ! 30: #define CPP_SPEC "\ ! 31: %{!ansi:-D__EXTENSIONS__} -D_MIPSEB -D_SYSTYPE_SYSV \ ! 32: %{.S: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ ! 33: %{.s: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ ! 34: %{.cc: -D_LANGUAGE_C_PLUS_PLUS} \ ! 35: %{.cxx: -D_LANGUAGE_C_PLUS_PLUS} \ ! 36: %{.C: -D_LANGUAGE_C_PLUS_PLUS} \ ! 37: %{.m: -D_LANGUAGE_OBJECTIVE_C} \ ! 38: %{!.S: %{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}}" ! 39: ! 40: #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s" ! 41: ! 42: #define MACHINE_TYPE "Silicon Graphics Mips" ! 43: ! 44: /* SGI Iris doesn't support -EB/-EL like other MIPS processors. */ ! 45: ! 46: #define ASM_SPEC "\ ! 47: %{!mgas: \ ! 48: %{!mrnames: %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}}} \ ! 49: %{pipe: %e-pipe is not supported.} \ ! 50: %{mips1} %{mips2} %{mips3} \ ! 51: %{noasmopt:-O0} \ ! 52: %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ ! 53: %{g} %{g0} %{g1} %{g2} %{g3} %{v} %{K} \ ! 54: %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ ! 55: %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ ! 56: %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ ! 57: %{gcoff:-g} %{gstabs0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}} \ ! 58: %{G*}" ! 59: ! 60: #define LINK_SPEC "\ ! 61: %{G*} \ ! 62: %{!mgas: %{mips1} %{mips2} %{mips3} \ ! 63: %{bestGnum} %{shared} %{non_shared}}" ! 64: ! 65: /* Always use 1 for .file number. I [[email protected]] wonder why ! 66: IRIS needs this. */ ! 67: ! 68: #define SET_FILE_NUMBER() num_source_filenames = 1 ! 69: ! 70: /* Put out a label after a .loc. I [[email protected]] wonder why ! 71: IRIS needs this. */ ! 72: ! 73: #define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno) ! 74: ! 75: #define STACK_ARGS_ADJUST(SIZE) \ ! 76: { \ ! 77: SIZE.constant += 4; \ ! 78: if (SIZE.constant < 32) \ ! 79: SIZE.constant = 32; \ ! 80: } ! 81: ! 82: /* Define this macro to control use of the character `$' in ! 83: identifier names. The value should be 0, 1, or 2. 0 means `$' ! 84: is not allowed by default; 1 means it is allowed by default if ! 85: `-traditional' is used; 2 means it is allowed by default provided ! 86: `-ansi' is not used. 1 is the default; there is no need to ! 87: define this macro in that case. */ ! 88: ! 89: #define DOLLARS_IN_IDENTIFIERS 0 ! 90: ! 91: /* Tell G++ not to create constructors or destructors with $'s in them. */ ! 92: ! 93: #define NO_DOLLAR_IN_LABEL 1 ! 94: ! 95: /* Specify size_t, ptrdiff_t, and wchar_t types. */ ! 96: #define SIZE_TYPE "unsigned int" ! 97: #define PTRDIFF_TYPE "int" ! 98: #define WCHAR_TYPE "unsigned char" ! 99: #define WCHAR_TYPE_SIZE BITS_PER_UNIT ! 100: ! 101: /* Generate calls to memcpy, etc., not bcopy, etc. */ ! 102: #define TARGET_MEM_FUNCTIONS ! 103: ! 104: /* Plain char is unsigned in the SGI compiler. */ ! 105: #define DEFAULT_SIGNED_CHAR 0 ! 106: ! 107: #include "mips/mips.h"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.