xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/mips/netbsd64.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1 /* Definitions of target machine for GNU compiler, for MIPS NetBSD systems.
2    Copyright (C) 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004
3    Free Software Foundation, Inc.
4 
5 This file is part of GCC.
6 
7 GCC 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 GCC 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 GCC; see the file COPYING.  If not, write to
19 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.  */
21 
22 /* Force the default endianness and ABI flags onto the command line
23    in order to make the other specs easier to write.  */
24 
25 #if MIPS_ABI_DEFAULT == ABI_N32
26 # define MIPS64_ABI "%{!mabi=*: -mabi=n32}"
27 # elif MIPS_ABI_DEFAULT == ABI_64
28 # define MIPS64_ABI "%{!mabi=*: -mabi=64}"
29 #else
30 # error "Missing MIPS_ABI_DEFAULT " # MIPS_ABI_DEFAULT
31 #endif
32 
33 #undef DRIVER_SELF_SPECS
34 #define DRIVER_SELF_SPECS \
35   BASE_DRIVER_SELF_SPECS \
36   "%{!EB:%{!EL:%(endian_spec)}}", \
37   MIPS64_ABI
38 
39 /* Define default target values.  */
40 
41 /* Provide a LINK_SPEC appropriate for a NetBSD/mips target.
42    This is a copy of LINK_SPEC from <netbsd-elf.h> tweaked for
43    the MIPS target.  */
44 
45 #undef LINK_SPEC
46 #define LINK_SPEC \
47   "%{mabi=64:-m elf64%{EB:b}%{EL:l}tsmip} \
48    %{mabi=32:-m elf32%{EB:b}%{EL:l}tsmip} \
49    %{mabi=o64:-m elf64%{EB:b}%{EL:l}tsmip} \
50    %{mabi=n32:-m elf32%{EB:b}%{EL:l}tsmipn32} \
51    %(endian_spec) \
52    %{G*} %{mips1} %{mips2} %{mips3} %{mips4} \
53    %{mips32} %{mips32r2} %{mips64} %{mips64r2} \
54    %{bestGnum} %{call_shared} %{no_archive} %{exact_version} \
55    %(netbsd_link_spec)"
56 
57 #define	MIPS_USE_GCC_DEFAULT_OUTPUT_SOURCE_FILENAME
58