|
|
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 "-Dunix -Dmips -Dsgi -DSVR3 -Dhost_mips -DMIPSEB -DSYSTYPE_SYSV"
25:
26: #define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
27:
28: #define CPP_SPEC "\
29: %{!ansi:-D__EXTENSIONS__} -D_MIPSEB -D_SYSTYPE_SYSV \
30: %{.S: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
31: %{.cc: -D_LANGUAGE_C_PLUS_PLUS} \
32: %{.cxx: -D_LANGUAGE_C_PLUS_PLUS} \
33: %{.C: -D_LANGUAGE_C_PLUS_PLUS} \
34: %{.m: -D_LANGUAGE_OBJECTIVE_C} \
35: %{!.S: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}"
36:
37: #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s"
38:
39: #define MACHINE_TYPE "Silicon Graphics Mips"
40:
41: /* SGI Iris doesn't support -EB/-EL like other MIPS processors. */
42:
43: #define ASM_SPEC "\
44: %{!mgas: \
1.1.1.2 root 45: %{!mrnames: %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}}} \
1.1 root 46: %{pipe: %e-pipe is not supported.} \
1.1.1.2 root 47: %{mips1} %{mips2} %{mips3} \
1.1 root 48: %{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3} \
49: %{g} %{g0} %{g1} %{g2} %{g3} %{v} %{K}} \
50: %{G*}"
51:
52: #define LINK_SPEC "\
53: %{G*} \
1.1.1.2 root 54: %{!mgas: %{mips1} %{mips2} %{mips3} \
55: %{bestGnum}}"
1.1 root 56:
57: /* Always use 1 for .file number. I [[email protected]] wonder why
58: IRIS needs this. */
59:
60: #define SET_FILE_NUMBER() num_source_filenames = 1
61:
62: /* Put out a label after a .loc. I [[email protected]] wonder why
63: IRIS needs this. */
64:
65: #define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno)
66:
67: #define STACK_ARGS_ADJUST(SIZE) \
68: { \
69: SIZE.constant += 4; \
70: if (SIZE.constant < 32) \
71: SIZE.constant = 32; \
72: }
73:
1.1.1.2 root 74: /* Define this macro to control use of the character `$' in
75: identifier names. The value should be 0, 1, or 2. 0 means `$'
76: is not allowed by default; 1 means it is allowed by default if
77: `-traditional' is used; 2 means it is allowed by default provided
78: `-ansi' is not used. 1 is the default; there is no need to
79: define this macro in that case. */
80:
81: #define DOLLARS_IN_IDENTIFIERS 0
82:
83: /* Tell G++ not to create constructors or destructors with $'s in them. */
84:
85: #define NO_DOLLAR_IN_LABEL 1
86:
1.1.1.3 ! root 87: /* Specify size_t, ptrdiff_t, and wchar_t types. */
! 88: #define SIZE_TYPE "unsigned int"
! 89: #define PTRDIFF_TYPE "int"
! 90: #define WCHAR_TYPE "unsigned char"
! 91: #define WCHAR_TYPE_SIZE BITS_PER_UNIT
! 92:
! 93: /* Generate calls to memcpy, etc., not bcopy, etc. */
! 94: #define TARGET_MEM_FUNCTIONS
! 95:
! 96: /* Plain char is unsigned in the SGI compiler. */
! 97: #define DEFAULT_SIGNED_CHAR 0
! 98:
1.1 root 99: #include "mips.h"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.