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 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 2, or (at your option) 10any later version. 11 12GCC is distributed in the hope that it will be useful, 13but WITHOUT ANY WARRANTY; without even the implied warranty of 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING. If not, write to 19the Free Software Foundation, 51 Franklin Street, Fifth Floor, 20Boston, 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