|
|
1.1 root 1: /* Definitions of target machine for GNU compiler. MIPS RISC-OS 5.0 System V 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
1.1.1.4 ! root 18: the Free Software Foundation, 59 Temple Place - Suite 330,
! 19: Boston, MA 02111-1307, USA. */
1.1 root 20:
21: #define MIPS_SYSV
22:
1.1.1.2 root 23: #define CPP_PREDEFINES "\
24: -Dmips -Dunix -Dhost_mips -DMIPSEB -DR3000 -DSYSTYPE_SYSV \
25: -D_mips -D_unix -D_host_mips -D_MIPSEB -D_R3000 -D_SYSTYPE_SYSV \
26: -Asystem(unix) -Asystem(svr3) -Acpu(mips) -Amachine(mips)"
1.1 root 27:
28: #define STANDARD_INCLUDE_DIR "/sysv/usr/include"
29:
30: #define LINK_SPEC "\
1.1.1.3 root 31: %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
32: %{bestGnum} %{shared} %{non_shared} \
33: %{call_shared} %{no_archive} %{exact_version} \
34: %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
35: -systype /sysv/ "
1.1 root 36:
37: #define LIB_SPEC "%{p:-lprof1} %{pg:-lprof1} -lc crtn.o%s"
38:
39: #define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt1.o%s}}"
40:
41: #define MACHINE_TYPE "RISC-OS System V Mips"
42:
43: /* Override defaults for finding the MIPS tools. */
44: #define MD_STARTFILE_PREFIX "/sysv/usr/lib/cmplrs/cc/"
45: #define MD_EXEC_PREFIX "/sysv/usr/lib/cmplrs/cc/"
46:
47: /* Mips System V doesn't have a getpagesize() function needed by the
48: trampoline code, so use the POSIX sysconf function to get it.
49: This is only done when compiling the trampoline code. */
50:
51: #ifdef L_trampoline
52: #include <sys/param.h>
53: #include <unistd.h>
54:
1.1.1.2 root 55: /* In at least 5.0 and 5.01, there is no _SC_PAGE_SIZE macro, only a
56: _SC_PAGESIZE macro. */
57: #ifdef _SC_PAGESIZE
58: #define _SC_PAGE_SIZE _SC_PAGESIZE
59: #endif
60:
1.1 root 61: #ifdef _SC_PAGE_SIZE
62: #define getpagesize() sysconf(_SC_PAGE_SIZE)
63:
64: #else /* older rev of OS */
65: #define getpagesize() (NBPC)
66: #endif /* !_SC_PAGE_SIZE */
67: #endif /* L_trampoline */
68:
69: /* Generate calls to memcpy, etc., not bcopy, etc. */
70: #define TARGET_MEM_FUNCTIONS
71:
72: #include "mips/mips.h"
1.1.1.3 root 73:
74: /* Some assemblers have a bug that causes backslash escaped chars in .ascii
75: to be misassembled, so we just completely avoid it. */
76: #undef ASM_OUTPUT_ASCII
77: #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
78: do { \
79: unsigned char *s; \
80: int i; \
81: for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \
82: { \
83: if ((i % 8) == 0) \
84: fputs ("\n\t.byte\t", (FILE)); \
85: fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
86: } \
87: fputs ("\n", (FILE)); \
88: } while (0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.