xref: /openbsd-src/gnu/usr.bin/gcc/gcc/config/mips/sni-svr4.h (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 /* Definitions of target machine for GNU compiler.  SNI SINIX version.
2    Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
3    Contributed by Marco Walther (Marco.Walther@mch.sni.de).
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, 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA.  */
21 
22 #define MIPS_SVR4
23 
24 #define TARGET_OS_CPP_BUILTINS()			\
25     do {						\
26 	builtin_define_std ("host_mips");		\
27 	builtin_define_std ("SYSTYPE_SVR4");		\
28 	builtin_define_std ("unix");			\
29 	builtin_define_std ("mips");			\
30 	builtin_define_std ("sinix");			\
31 	builtin_define_std ("SNI");			\
32 	builtin_assert ("system=unix");			\
33 	builtin_assert ("system=svr4");			\
34 	builtin_assert ("machine=mips");		\
35 } while (0)
36 
37 #define LINK_SPEC "\
38 %{G*} \
39 %{!mgas: \
40 	%{dy} %{dn}}"
41 
42 #define LIB_SPEC "\
43 	%{p:-lprof1} \
44 	%{!p:%{pg:-lprof1} \
45 	     %{!pg:-L/usr/ccs/lib/ -lc /usr/ccs/lib/crtn.o%s}}"
46 
47 #define STARTFILE_SPEC "\
48 	%{pg:gcrt0.o%s} \
49 	%{!pg:%{p:mcrt0.o%s} \
50 	       %{!p:/usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o%s}}"
51 
52 /* Mips System V.4 doesn't have a getpagesize() function needed by the
53    trampoline code, so use the POSIX sysconf function to get it.
54    This is only done when compiling the trampoline code.  */
55 
56 #ifdef  L_trampoline
57 #include <unistd.h>
58 
59 #define getpagesize()	sysconf(_SC_PAGE_SIZE)
60 #endif /*  L_trampoline */
61 
62 #define OBJECT_FORMAT_ELF
63 
64 #define	TARGET_DEFAULT	MASK_ABICALLS
65 #define ABICALLS_ASM_OP "\t.option pic2"
66 
67 #define MACHINE_TYPE "SNI running SINIX 5.42"
68 
69 #define MIPS_DEFAULT_GVALUE	0
70 
71 #define NM_FLAGS	"-p"
72 
73 #define ASM_GLOBAL	".rdata\n\t\t.globl\t"
74 
75 #include "mips/mips.h"
76 
77 /* We do not want to run mips-tfile!  */
78 #undef ASM_FINAL_SPEC
79 
80 #undef OBJECT_FORMAT_COFF
81 
82 /* We don't support debugging info for now.  */
83 #undef DBX_DEBUGGING_INFO
84 #undef SDB_DEBUGGING_INFO
85 #undef MIPS_DEBUGGING_INFO
86 #undef PREFERRED_DEBUGGING_TYPE
87 
88 #define DWARF2_UNWIND_INFO 0
89