mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-16 10:20:30 +00:00
102 lines
2.9 KiB
C
102 lines
2.9 KiB
C
/* Support for GCC on MIPS using WindISS simulator.
|
|
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
|
|
Contributed by CodeSourcery, LLC.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
GCC is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GCC; see the file COPYING. If not, write to
|
|
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA. */
|
|
|
|
#undef TARGET_VERSION
|
|
#define TARGET_VERSION fprintf (stderr, " (MIPS WindISS)");
|
|
|
|
/* Combination of mips.h and svr4.h. */
|
|
#undef SWITCH_TAKES_ARG
|
|
#define SWITCH_TAKES_ARG(CHAR) \
|
|
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|
|
|| (CHAR) == 'G' \
|
|
|| (CHAR) == 'h' \
|
|
|| (CHAR) == 'x' \
|
|
|| (CHAR) == 'z')
|
|
|
|
#undef SUBTARGET_CPP_SPEC
|
|
#define SUBTARGET_CPP_SPEC \
|
|
"%{!DCPU=*: %{mips3|mips4|mips64:-DCPU=MIPS64;:-DCPU=MIPS32}} \
|
|
%{EL|mel:-DMIPSEL;:-DMIPSEB} \
|
|
%{msoft-float:-DSOFT_FLOAT} \
|
|
%{mips1:-D_WRS_R3K_EXC_SUPPORT}"
|
|
|
|
#undef ASM_SPEC
|
|
#define ASM_SPEC "\
|
|
%{!G:-G 0} %{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} \
|
|
%{mips32} %{mips32r2} %{mips64} \
|
|
%{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} \
|
|
%(subtarget_asm_optimizing_spec) \
|
|
%(subtarget_asm_debugging_spec) \
|
|
%{mabi=*} %{!mabi*: %(asm_abi_default_spec)} \
|
|
%{mgp32} %{mgp64} %{march=*} %{mxgot:-xgot} \
|
|
%{mtune=*} %{v} \
|
|
%(subtarget_asm_spec)"
|
|
|
|
#undef LINK_SPEC
|
|
/* LINK_SPEC is clobbered in svr4.h. ugh! */
|
|
#define LINK_SPEC "\
|
|
-m elf32mipswindiss \
|
|
%{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} \
|
|
%{bestGnum}"
|
|
|
|
/* Diab libs MIPS{,E,F,L,M,W,X,Y,Z}{,H,N,S}
|
|
|
|
.
|
|
E - Elf (small-data/const=8
|
|
F - Elf Far (small-data/const=0)
|
|
L - Little Elf
|
|
M - Little Elf Far
|
|
W - elf32 bigmips
|
|
X - elf32 bigmips (far?)
|
|
Y - elf32 littlemips
|
|
Z - elf32 littlemips (far?)
|
|
|
|
. - Integer routines
|
|
H - Hard float
|
|
N - No float
|
|
S - Soft float
|
|
|
|
Want {F,M}{,H,S}
|
|
|
|
*/
|
|
|
|
#undef LIB_SPEC
|
|
#define LIB_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group"
|
|
|
|
#undef STARTFILE_SPEC
|
|
#define STARTFILE_SPEC "crt0.o%s crtbegin.o%s"
|
|
|
|
#undef ENDFILE_SPEC
|
|
#define ENDFILE_SPEC "crtend.o%s"
|
|
|
|
/* We have no shared libraries. These two shouldn't be necessary. */
|
|
#undef LINK_SHLIB_SPEC
|
|
#define LINK_SHLIB_SPEC ""
|
|
#undef LINK_EH_SPEC
|
|
#define LINK_EH_SPEC ""
|
|
|
|
#undef CRTSAVRES_DEFAULT_SPEC
|
|
#define CRTSAVRES_DEFAULT_SPEC ""
|
|
|
|
/* No sdata. */
|
|
#undef MIPS_DEFAULT_GVALUE
|
|
#define MIPS_DEFAULT_GVALUE 0
|