windiss.h revision 302408
1238730Sdelphij/* Support for GCC on MIPS using WindISS simulator.
2330571Sdelphij   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
3238730Sdelphij   Contributed by CodeSourcery, LLC.
4238730Sdelphij
5238730SdelphijThis file is part of GCC.
6238730Sdelphij
7238730SdelphijGCC is free software; you can redistribute it and/or modify
8238730Sdelphijit under the terms of the GNU General Public License as published by
960786Spsthe Free Software Foundation; either version 2, or (at your option)
1060786Spsany later version.
1160786Sps
1260786SpsGCC is distributed in the hope that it will be useful,
1360786Spsbut WITHOUT ANY WARRANTY; without even the implied warranty of
1460786SpsMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1560786SpsGNU General Public License for more details.
1660786Sps
1760786SpsYou should have received a copy of the GNU General Public License
1860786Spsalong with GCC; see the file COPYING.  If not, write to
1960786Spsthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
2060786SpsBoston, MA 02110-1301, USA.  */
2160786Sps
2260786Sps#undef TARGET_VERSION
23173682Sdelphij#define TARGET_VERSION fprintf (stderr, " (MIPS WindISS)");
24173682Sdelphij
25173682Sdelphij/* Combination of mips.h and svr4.h.  */
26173682Sdelphij#undef  SWITCH_TAKES_ARG
27173682Sdelphij#define SWITCH_TAKES_ARG(CHAR)          \
28173682Sdelphij  (DEFAULT_SWITCH_TAKES_ARG (CHAR)      \
2989019Sps   || (CHAR) == 'G'                     \
3089019Sps   || (CHAR) == 'h'                     \
3160786Sps   || (CHAR) == 'x'                     \
3260786Sps   || (CHAR) == 'z')
3360786Sps
3460786Sps#undef SUBTARGET_CPP_SPEC
3560786Sps#define SUBTARGET_CPP_SPEC \
3660786Sps"%{!DCPU=*: %{mips3|mips4|mips64:-DCPU=MIPS64;:-DCPU=MIPS32}} \
3760786Sps  %{EL|mel:-DMIPSEL;:-DMIPSEB} \
3860786Sps  %{msoft-float:-DSOFT_FLOAT} \
39191930Sdelphij  %{mips1:-D_WRS_R3K_EXC_SUPPORT}"
40191930Sdelphij
41191930Sdelphij#undef  ASM_SPEC
42191930Sdelphij#define ASM_SPEC "\
43191930Sdelphij%{!G:-G 0} %{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} \
4489019Sps%{mips32} %{mips32r2} %{mips64} \
4560786Sps%{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} \
46191930Sdelphij%(subtarget_asm_optimizing_spec) \
4789019Sps%(subtarget_asm_debugging_spec) \
4860786Sps%{mabi=*} %{!mabi*: %(asm_abi_default_spec)} \
4960786Sps%{mgp32} %{mgp64} %{march=*} %{mxgot:-xgot} \
5060786Sps%{mtune=*} %{v} \
51191930Sdelphij%(subtarget_asm_spec)"
5260786Sps
5360786Sps#undef LINK_SPEC
5460786Sps/* LINK_SPEC is clobbered in svr4.h. ugh!  */
5560786Sps#define LINK_SPEC "\
5660786Sps-m elf32mipswindiss \
57294286Sdelphij%{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} \
5860786Sps%{bestGnum}"
59191930Sdelphij
60191930Sdelphij/* Diab libs MIPS{,E,F,L,M,W,X,Y,Z}{,H,N,S}
6160786Sps
6260786Sps   .
6360786Sps   E - Elf (small-data/const=8
6460786Sps   F - Elf Far (small-data/const=0)
6589019Sps   L - Little Elf
6660786Sps   M - Little Elf Far
6760786Sps   W - elf32 bigmips
6860786Sps   X - elf32 bigmips (far?)
6960786Sps   Y - elf32 littlemips
70191930Sdelphij   Z - elf32 littlemips (far?)
71191930Sdelphij
7260786Sps   . - Integer routines
7360786Sps   H - Hard float
7460786Sps   N - No float
7560786Sps   S - Soft float
7660786Sps
7760786Sps   Want {F,M}{,H,S}
7860786Sps
7960786Sps*/
80191930Sdelphij
81191930Sdelphij#undef LIB_SPEC
8289019Sps#define LIB_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group"
8389019Sps
84191930Sdelphij#undef STARTFILE_SPEC
85191930Sdelphij#define STARTFILE_SPEC "crt0.o%s crtbegin.o%s"
86191930Sdelphij
87191930Sdelphij#undef ENDFILE_SPEC
88191930Sdelphij#define ENDFILE_SPEC "crtend.o%s"
8989019Sps
90191930Sdelphij/* We have no shared libraries.  These two shouldn't be necessary.  */
91191930Sdelphij#undef LINK_SHLIB_SPEC
92191930Sdelphij#define LINK_SHLIB_SPEC ""
9389019Sps#undef LINK_EH_SPEC
94191930Sdelphij#define LINK_EH_SPEC ""
95191930Sdelphij
96191930Sdelphij#undef CRTSAVRES_DEFAULT_SPEC
97191930Sdelphij#define CRTSAVRES_DEFAULT_SPEC ""
98191930Sdelphij
9989019Sps/* No sdata.  */
100191930Sdelphij#undef MIPS_DEFAULT_GVALUE
101191930Sdelphij#define MIPS_DEFAULT_GVALUE 0
102191930Sdelphij