1 /* Support for GCC on MIPS using WindISS simulator. 2 Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3 Contributed by CodeSourcery, LLC. 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 #undef TARGET_VERSION 23 #define TARGET_VERSION fprintf (stderr, " (MIPS WindISS)"); 24 25 /* Combination of mips.h and svr4.h. */ 26 #undef SWITCH_TAKES_ARG 27 #define SWITCH_TAKES_ARG(CHAR) \ 28 (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ 29 || (CHAR) == 'G' \ 30 || (CHAR) == 'h' \ 31 || (CHAR) == 'x' \ 32 || (CHAR) == 'z') 33 34 #undef SUBTARGET_CPP_SPEC 35 #define SUBTARGET_CPP_SPEC \ 36 "%{!DCPU=*: %{mips3|mips4|mips64:-DCPU=MIPS64;:-DCPU=MIPS32}} \ 37 %{EL|mel:-DMIPSEL;:-DMIPSEB} \ 38 %{msoft-float:-DSOFT_FLOAT} \ 39 %{mips1:-D_WRS_R3K_EXC_SUPPORT}" 40 41 #undef ASM_SPEC 42 #define ASM_SPEC "\ 43 %{!G:-G 0} %{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} \ 44 %{mips32} %{mips32r2} %{mips64} \ 45 %{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} \ 46 %(subtarget_asm_optimizing_spec) \ 47 %(subtarget_asm_debugging_spec) \ 48 %{mabi=*} %{!mabi*: %(asm_abi_default_spec)} \ 49 %{mgp32} %{mgp64} %{march=*} %{mxgot:-xgot} \ 50 %{mtune=*} %{v} \ 51 %(subtarget_asm_spec)" 52 53 #undef LINK_SPEC 54 /* LINK_SPEC is clobbered in svr4.h. ugh! */ 55 #define LINK_SPEC "\ 56 -m elf32mipswindiss \ 57 %{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} \ 58 %{bestGnum}" 59 60 /* Diab libs MIPS{,E,F,L,M,W,X,Y,Z}{,H,N,S} 61 62 . 63 E - Elf (small-data/const=8 64 F - Elf Far (small-data/const=0) 65 L - Little Elf 66 M - Little Elf Far 67 W - elf32 bigmips 68 X - elf32 bigmips (far?) 69 Y - elf32 littlemips 70 Z - elf32 littlemips (far?) 71 72 . - Integer routines 73 H - Hard float 74 N - No float 75 S - Soft float 76 77 Want {F,M}{,H,S} 78 79 */ 80 81 #undef LIB_SPEC 82 #define LIB_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group" 83 84 #undef STARTFILE_SPEC 85 #define STARTFILE_SPEC "crt0.o%s crtbegin.o%s" 86 87 #undef ENDFILE_SPEC 88 #define ENDFILE_SPEC "crtend.o%s" 89 90 /* We have no shared libraries. These two shouldn't be necessary. */ 91 #undef LINK_SHLIB_SPEC 92 #define LINK_SHLIB_SPEC "" 93 #undef LINK_EH_SPEC 94 #define LINK_EH_SPEC "" 95 96 #undef CRTSAVRES_DEFAULT_SPEC 97 #define CRTSAVRES_DEFAULT_SPEC "" 98 99 /* No sdata. */ 100 #undef MIPS_DEFAULT_GVALUE 101 #define MIPS_DEFAULT_GVALUE 0 102