From 4fc9a7700921f38babcf4e5032677020722e2a10 Mon Sep 17 00:00:00 2001 From: ian Date: Fri, 11 Oct 1996 16:24:02 +0000 Subject: [PATCH] Rework specs to subtarget specs and EXTRA_SPECS git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12950 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/mips/dec-bsd.h | 34 +--------- gcc/config/mips/dec-osf1.h | 19 ++---- gcc/config/mips/elf64.h | 28 ++------ gcc/config/mips/gnu.h | 20 +----- gcc/config/mips/iris3.h | 21 +----- gcc/config/mips/iris4loser.h | 48 ++------------ gcc/config/mips/iris5.h | 23 ++----- gcc/config/mips/iris6.h | 61 +++-------------- gcc/config/mips/mips.h | 151 ++++++++++++++++++++++++++++++++----------- gcc/config/mips/netbsd.h | 26 +------- gcc/config/mips/osfrose.h | 58 ++--------------- gcc/config/mips/sni-svr4.h | 9 +-- 12 files changed, 161 insertions(+), 337 deletions(-) rewrite gcc/config/mips/iris4loser.h (89%) diff --git a/gcc/config/mips/dec-bsd.h b/gcc/config/mips/dec-bsd.h index 82cb5e74dca..126353b25dd 100644 --- a/gcc/config/mips/dec-bsd.h +++ b/gcc/config/mips/dec-bsd.h @@ -1,5 +1,5 @@ /* Definitions for DECstation running BSD as target machine for GNU compiler. - Copyright (C) 1993, 1995 Free Software Foundation, Inc. + Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -27,38 +27,6 @@ Boston, MA 02111-1307, USA. */ -Asystem(unix) -Asystem(bsd) -Amachine(mips)" #endif -/* Always uses gas. */ -#ifndef ASM_SPEC -#define ASM_SPEC "\ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" -#endif - -#ifndef CPP_SPEC -#define CPP_SPEC "\ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \ -%{.S: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{!.S:%{!.s: -D__LANGUAGE_C -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \ -%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ -%{mips3:-U__mips -D__mips=3 -D__mips64} \ -%{mgp32:-U__mips64} %{mgp64:-D__mips64} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" -#endif - /* Always uses GNU ld. */ #ifndef LINK_SPEC #define LINK_SPEC "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3}" diff --git a/gcc/config/mips/dec-osf1.h b/gcc/config/mips/dec-osf1.h index 061b0c6469d..cc0e7e15a0a 100644 --- a/gcc/config/mips/dec-osf1.h +++ b/gcc/config/mips/dec-osf1.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. DECstation (OSF/1) version. - Copyright (C) 1992 Free Software Foundation, Inc. + Copyright (C) 1992, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -42,21 +42,10 @@ Boston, MA 02111-1307, USA. */ #define WCHAR_TYPE "short unsigned int" #define WCHAR_TYPE_SIZE SHORT_TYPE_SIZE -#undef CPP_SPEC -#define CPP_SPEC "\ -%{.S: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \ -%{!.S:%{!.s: -D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \ +#undef SUBTARGET_CPP_SIZE_SPEC +#define SUBTARGET_CPP_SIZE_SPEC "\ %{mlong64:-D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__PTRDIFF_TYPE__=int} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" +%{!mlong64:-D__PTRDIFF_TYPE__=int}" /* turn off collect2 COFF support, since ldfcn now has elf declaration */ #undef OBJECT_FORMAT_COFF diff --git a/gcc/config/mips/elf64.h b/gcc/config/mips/elf64.h index 6931c183e8a..358316c1c64 100644 --- a/gcc/config/mips/elf64.h +++ b/gcc/config/mips/elf64.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. MIPS R4000 version with GOFAST floating point library. - Copyright (C) 1994, 1995 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -42,27 +42,11 @@ Boston, MA 02111-1307, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES "-Dmips -DMIPSEB -DR4000 -D_mips -D_MIPSEB -D_R4000" -/* This is the same as the one in mips64.h except that it defines __mips=3 - at the end. I would rather put this in CPP_PREDEFINES, but the gcc - driver doesn't handle -U options in CPP_PREDEFINES. */ -#undef CPP_SPEC -#define CPP_SPEC "\ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS -D_LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS -D_LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS -D_LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C -D_LANGUAGE_OBJECTIVE_C} \ -%{.S: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{!.S:%{!.s: -D__LANGUAGE_C -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \ -%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ -%{!mips1:%{!mips2:-U__mips -D__mips=3 -D__mips64}} \ -%{mgp32:-U__mips64} %{mgp64:-D__mips64} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -" +/* I would rather put this in CPP_PREDEFINES, but the gcc driver + doesn't handle -U options in CPP_PREDEFINES. */ +#undef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC "\ +%{!mips1:%{!mips2:-U__mips -D__mips=3 -D__mips64}}" /* Use memcpy, et. al., rather than bcopy. */ #define TARGET_MEM_FUNCTIONS diff --git a/gcc/config/mips/gnu.h b/gcc/config/mips/gnu.h index 51797e19e6a..039e05cd820 100644 --- a/gcc/config/mips/gnu.h +++ b/gcc/config/mips/gnu.h @@ -18,6 +18,8 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#define TARGET_DEFAULT MASK_GAS + #include #undef SWITCH_TAKES_ARG @@ -96,24 +98,6 @@ Boston, MA 02111-1307, USA. */ "-DMIPSEB -DR3000 -D_MIPSEB -D_R3000 \ -D_MIPS_SZINT=32 -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32" -#undef ASM_SPEC -#define ASM_SPEC "\ -%{mmips-as: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{!mmips-as: \ - %{mcpu=*}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \ -%{membedded-pic}" - #undef LINK_SPEC #define LINK_SPEC "\ %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \ diff --git a/gcc/config/mips/iris3.h b/gcc/config/mips/iris3.h index b7e3e9bdd72..8843d69dc81 100644 --- a/gcc/config/mips/iris3.h +++ b/gcc/config/mips/iris3.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Iris version. - Copyright (C) 1991, 1993, 1995 Free Software Foundation, Inc. + Copyright (C) 1991, 1993, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -28,23 +28,8 @@ Boston, MA 02111-1307, USA. */ #define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}" -#define CPP_SPEC "\ -%{!ansi:-D__EXTENSIONS__} -D_MIPSEB -D_SYSTYPE_SYSV \ -%{.S: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.cc: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D_LANGUAGE_OBJECTIVE_C} \ -%{!.S: %{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}} \ -%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ -%{mips3:-U__mips -D__mips=3 -D__mips64} \ -%{mgp32:-U__mips64} %{mgp64:-D__mips64} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" +#define SUBTARGET_CPP_SPEC "\ +%{!ansi:-D__EXTENSIONS__} -D_MIPSEB -D_SYSTYPE_SYSV" #define LIB_SPEC \ "%{!p:%{!pg:%{!static:%{!g*:-lc_s}} -lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s" diff --git a/gcc/config/mips/iris4loser.h b/gcc/config/mips/iris4loser.h dissimilarity index 89% index 9503d7a2c6a..971bb53be20 100644 --- a/gcc/config/mips/iris4loser.h +++ b/gcc/config/mips/iris4loser.h @@ -1,41 +1,7 @@ -/* Like iris4.h, but always inhibits assembler optimization for MIPS as. - Use this via mips-sgi-iris4loser if you need it. */ - -#include "mips/iris4.h" - -#undef ASM_SPEC -#if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GAS) != 0 -/* GAS */ -#define ASM_SPEC "\ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{mmips-as: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - -O0 \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" - -#else -/* not GAS */ -#define ASM_SPEC "\ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{!mgas: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - -O0 \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" - -#endif +/* Like iris4.h, but always inhibits assembler optimization for MIPS as. + Use this via mips-sgi-iris4loser if you need it. */ + +#define SUBTARGET_MIPS_AS_ASM_SPEC "-O0 %{v}" +#define SUBTARGET_ASM_OPTIMIZING_SPEC "" + +#include "mips/iris4.h" diff --git a/gcc/config/mips/iris5.h b/gcc/config/mips/iris5.h index 79d6c51bd59..f75f39d68eb 100644 --- a/gcc/config/mips/iris5.h +++ b/gcc/config/mips/iris5.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Iris version 5. - Copyright (C) 1993, 1995 Free Software Foundation, Inc. + Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -64,31 +64,16 @@ Boston, MA 02111-1307, USA. */ -D_MIPS_SIM=_MIPS_SIM_ABI32 -D_MIPS_SZPTR=32 \ -Asystem(unix) -Asystem(svr4) -Acpu(mips) -Amachine(sgi)" -#undef CPP_SPEC -#define CPP_SPEC "\ +#undef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC "\ %{!ansi:-D__EXTENSIONS__ -D_SGI_SOURCE -D_LONGLONG} \ -%{.cc: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D_LANGUAGE_OBJECTIVE_C -D_LANGUAGE_C} \ -%{.S: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{!.S:%{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}}\ %{!mfp64: -D_MIPS_FPSET=16}%{mfp64: -D_MIPS_FPSET=32} \ %{mips1: -D_MIPS_ISA=_MIPS_ISA_MIPS1} \ %{mips2: -D_MIPS_ISA=_MIPS_ISA_MIPS2} \ %{mips3: -D_MIPS_ISA=_MIPS_ISA_MIPS3} \ %{!mips1: %{!mips2: %{!mips3: -D_MIPS_ISA=_MIPS_ISA_MIPS1}}} \ %{!mint64: -D_MIPS_SZINT=32}%{mint64: -D_MIPS_SZINT=64} \ -%{!mlong64: -D_MIPS_SZLONG=32}%{mlong64: -D_MIPS_SZLONG=64} \ -%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ -%{mips3:-U__mips -D__mips=3 -D__mips64} \ -%{mgp32:-U__mips64} %{mgp64:-D__mips64} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" +%{!mlong64: -D_MIPS_SZLONG=32}%{mlong64: -D_MIPS_SZLONG=64}" #undef LINK_SPEC #define LINK_SPEC "\ diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h index 5959d946cd5..965a4e229b5 100644 --- a/gcc/config/mips/iris6.h +++ b/gcc/config/mips/iris6.h @@ -48,16 +48,9 @@ Boston, MA 02111-1307, USA. */ /* ??? Same for _MIPS_SZINT. */ /* ??? Same for _MIPS_SZPTR. */ /* ??? Same for __SIZE_TYPE and __PTRDIFF_TYPE. */ -#undef CPP_SPEC -#define CPP_SPEC "\ +#undef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC "\ %{!ansi:-D__EXTENSIONS__ -D_SGI_SOURCE -D_LONGLONG} \ -%{.cc: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D_LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D_LANGUAGE_OBJECTIVE_C -D_LANGUAGE_C} \ -%{.S: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{!.S:%{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}}\ %{mfp32: -D_MIPS_FPSET=16}%{!mfp32: -D_MIPS_FPSET=32} \ %{mips1: -D_MIPS_ISA=_MIPS_ISA_MIPS1} \ %{mips2: -D_MIPS_ISA=_MIPS_ISA_MIPS2} \ @@ -82,18 +75,11 @@ Boston, MA 02111-1307, USA. */ %{mabi=n32: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ %{mabi=64: -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ %{!mabi=32:%{!mabi=n32: %{!mabi=64: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}}} \ -%{mips3: -U__mips -D__mips=3} \ -%{mips4: -U__mips -D__mips=4} \ %{!mips1:%{!mips2:%{!mips3:%{!mips4: -U__mips -D__mips=3}}}} \ -%{mgp32: -U__mips64}%{mgp64: -D__mips64} \ %{mabi=32: -U__mips64} \ %{mabi=n32: -D__mips64} \ %{mabi=64: -D__mips64} \ -%{!mabi=32: %{!mabi=n32: %{!mabi=64: -D__mips64}}} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" +%{!mabi=32: %{!mabi=n32: %{!mabi=64: -D__mips64}}}" /* Irix 6 uses DWARF. */ #define DWARF_DEBUGGING_INFO @@ -177,28 +163,9 @@ Boston, MA 02111-1307, USA. */ /* ??? If no mabi=X option give, but a mipsX option is, then should depend on the mipsX option. */ -#undef ASM_SPEC -#if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GAS) != 0 -/* GAS */ -#define ASM_SPEC "\ -%{mmips-as: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} %{v} \ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \ -%{membedded-pic} \ -%{mabi=32:-32}%{mabi=o32:-32}%{mabi=n32:-n32}%{mabi=64:-64}%{mabi=n64:-64} \ -%{!mabi*:-n32}" - -#else -/* not GAS */ +#undef SUBTARGET_ASM_SPEC +#define SUBTARGET_ASM_SPEC "%{!mabi*:-n32}" + /* Must pass -g0 to the assembler, otherwise it may overwrite our debug info with its own debug info. */ /* Must pass -show instead of -v. */ @@ -207,19 +174,11 @@ Boston, MA 02111-1307, USA. */ /* ??? We pass -w to disable all assembler warnings. The `label should be inside .ent/.end block' warning that we get for DWARF II debug info labels is particularly annoying. */ -#define ASM_SPEC "\ -%{!mgas: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{G*} %{EB} %{EL} %{v:-show} \ -%{mips1} %{mips2} %{mips3} %{mips4} \ -%{noasmopt:-O0} %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ --g0 -G 0 -w %{membedded-pic} \ -%{mabi=32:-32}%{mabi=o32:-32}%{mabi=n32:-n32}%{mabi=64:-64}%{mabi=n64:-64} \ -%{!mabi*:-n32}" +#undef SUBTARGET_MIPS_AS_ASM_SPEC +#define SUBTARGET_MIPS_AS_ASM_SPEC "%{v:-show} -G 0 -w" -#endif +#undef SUBTARGET_ASM_DEBUGGING_SPEC +#define SUBTARGET_ASM_DEBUGGING_SPEC "-g0" /* Stuff for constructors. Start here. */ diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index fc065619576..dd31435b1ec 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -623,49 +623,83 @@ while (0) -Asystem(unix) -Asystem(bsd) -Acpu(mips) -Amachine(mips)" #endif -/* Extra switches sometimes passed to the assembler. */ +/* Assembler specs. */ + +/* MIPS_AS_ASM_SPEC is passed when using the MIPS assembler rather + than gas. */ + +#define MIPS_AS_ASM_SPEC "\ +%{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ +%{pipe: %e-pipe is not supported.} \ +%{K} %(subtarget_mips_as_asm_spec)" + +/* SUBTARGET_MIPS_AS_ASM_SPEC is passed when using the MIPS assembler + rather than gas. It may be overridden by subtargets. */ + +#ifndef SUBTARGET_MIPS_AS_ASM_SPEC +#define SUBTARGET_MIPS_AS_ASM_SPEC "%{v}" +#endif + +/* GAS_ASM_SPEC is passed when using gas, rather than the MIPS + assembler. */ + +#define GAS_ASM_SPEC "%{mcpu=*} %{m4650} %{mmad:-m4650} %{v}" + +/* TARGET_ASM_SPEC is used to select either MIPS_AS_ASM_SPEC or + GAS_ASM_SPEC as the default, depending upon the value of + TARGET_DEFAULT. */ -#ifndef ASM_SPEC #if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GAS) != 0 /* GAS */ -#define ASM_SPEC "\ -%{mmips-as: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{!mmips-as: \ - %{mcpu=*} %{m4650} %{mmad:-m4650}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} %{v} \ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \ -%{membedded-pic}" -#else -/* not GAS */ -#define ASM_SPEC "\ -%{!mgas: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{mgas: \ - %{mcpu=*} %{m4650} %{mmad:-m4650}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} %{v} \ +#define TARGET_ASM_SPEC "\ +%{mmips-as: %(mips_as_asm_spec)} \ +%{!mmips-as: %(gas_asm_spec)}" + +#else /* not GAS */ + +#define TARGET_ASM_SPEC "\ +%{!mgas: %(mips_as_asm_spec)} \ +%{mgas: %(gas_asm_spec)}" + +#endif /* not GAS */ + +/* SUBTARGET_ASM_OPTIMIZING_SPEC handles passing optimization options + to the assembler. It may be overridden by subtargets. */ +#ifndef SUBTARGET_ASM_OPTIMIZING_SPEC +#define SUBTARGET_ASM_OPTIMIZING_SPEC "\ %{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ +%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}}" +#endif + +/* SUBTARGET_ASM_DEBUGGING_SPEC handles passing debugging options to + the assembler. It may be overridden by subtargets. */ +#ifndef SUBTARGET_ASM_DEBUGGING_SPEC +#define SUBTARGET_ASM_DEBUGGING_SPEC "\ %{g} %{g0} %{g1} %{g2} %{g3} \ %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \ -%{membedded-pic}" +%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" +#endif +/* SUBTARGET_ASM_SPEC is always passed to the assembler. It may be + overridden by subtargets. */ + +#ifndef SUBTARGET_ASM_SPEC +#define SUBTARGET_ASM_SPEC "" #endif -#endif /* ASM_SPEC */ + +/* ASM_SPEC is the set of arguments to pass to the assembler. */ + +#define ASM_SPEC "\ +%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \ +%(subtarget_asm_optimizing_spec) \ +%(subtarget_asm_debugging_spec) \ +%{membedded-pic} \ +%{mabi=32:-32}%{mabi=o32:-32}%{mabi=n32:-n32}%{mabi=64:-64}%{mabi=n64:-64} \ +%(target_asm_spec) \ +%(subtarget_asm_spec)" /* Specify to run a post-processor, mips-tfile after the assembler has run to stuff the mips debug information into the object file. @@ -735,7 +769,24 @@ while (0) %{save-temps: }" #endif -/* Preprocessor specs */ +/* Preprocessor specs. */ + +/* SUBTARGET_CPP_SIZE_SPEC defines SIZE_TYPE and PTRDIFF_TYPE. It may + be overridden by subtargets. */ + +#ifndef SUBTARGET_CPP_SIZE_SPEC +#define SUBTARGET_CPP_SIZE_SPEC "\ +%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ +%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}" +#endif + +/* SUBTARGET_CPP_SPEC is passed to the preprocessor. It may be + overridden by subtargets. */ +#ifndef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC "" +#endif + +/* CPP_SPEC is the set of arguments to pass to the preprocessor. */ #ifndef CPP_SPEC #define CPP_SPEC "\ @@ -745,16 +796,42 @@ while (0) %{.m: -D__LANGUAGE_OBJECTIVE_C -D_LANGUAGE_OBJECTIVE_C} \ %{.S: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ %{.s: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{!.S:%{!.s: -D__LANGUAGE_C -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \ -%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ +%{!.S: %{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D__LANGUAGE_C -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}} \ +%(subtarget_cpp_size_spec) \ %{mips3:-U__mips -D__mips=3 -D__mips64} \ %{mips4:-U__mips -D__mips=4 -D__mips64} \ %{mgp32:-U__mips64} %{mgp64:-D__mips64} \ %{msingle-float:%{!msoft-float:-D__mips_single_float}} \ %{m4650:%{!msoft-float:-D__mips_single_float}} \ %{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" +%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}} \ +%(subtarget_cpp_spec) " +#endif + +/* This macro defines names of additional specifications to put in the specs + that can be used in various specifications like CC1_SPEC. Its definition + is an initializer with a subgrouping for each command option. + + Each subgrouping contains a string constant, that defines the + specification name, and a string constant that used by the GNU CC driver + program. + + Do not define this macro if it does not need to do anything. */ + +#define EXTRA_SPECS \ + { "subtarget_cpp_spec", SUBTARGET_CPP_SPEC }, \ + { "subtarget_cpp_size_spec", SUBTARGET_CPP_SIZE_SPEC }, \ + { "mips_as_asm_spec", MIPS_AS_ASM_SPEC }, \ + { "gas_asm_spec", GAS_ASM_SPEC }, \ + { "target_asm_spec", TARGET_ASM_SPEC }, \ + { "subtarget_mips_as_asm_spec", SUBTARGET_MIPS_AS_ASM_SPEC }, \ + { "subtarget_asm_optimizing_spec", SUBTARGET_ASM_OPTIMIZING_SPEC }, \ + { "subtarget_asm_debugging_spec", SUBTARGET_ASM_DEBUGGING_SPEC }, \ + { "subtarget_asm_spec", SUBTARGET_ASM_SPEC }, \ + SUBTARGET_EXTRA_SPECS + +#ifndef SUBTARGET_EXTRA_SPECS +#define SUBTARGET_EXTRA_SPECS #endif /* If defined, this macro is an additional prefix to try after diff --git a/gcc/config/mips/netbsd.h b/gcc/config/mips/netbsd.h index 146aec1fee5..1973cc352cf 100644 --- a/gcc/config/mips/netbsd.h +++ b/gcc/config/mips/netbsd.h @@ -1,5 +1,5 @@ /* Definitions for DECstation running BSD as target machine for GNU compiler. - Copyright (C) 1993, 1995 Free Software Foundation, Inc. + Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -69,28 +69,8 @@ Boston, MA 02111-1307, USA. */ -Asystem(unix) -Asystem(NetBSD) -Amachine(mips)" #endif -/* Always uses gas. */ -#ifndef ASM_SPEC -#define ASM_SPEC "\ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" -#endif - -#ifndef CPP_SPEC -#define CPP_SPEC "\ -%{posix:-D_POSIX_SOURCE} \ -%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ -%{mips3:-U__mips -D__mips=3 -D__mips64} \ -%{mgp32:-U__mips64} %{mgp64:-D__mips64} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}}" +#ifndef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE}" #endif #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" diff --git a/gcc/config/mips/osfrose.h b/gcc/config/mips/osfrose.h index dadd614b4e5..f6901e85bcb 100644 --- a/gcc/config/mips/osfrose.h +++ b/gcc/config/mips/osfrose.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. DECstation (OSF/1 reference port with OSF/rose) version. - Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -34,59 +34,13 @@ Boston, MA 02111-1307, USA. */ -DOSF -DOSF1 -Dbsd4_2 -DMIPSEL -Dhost_mips -Dmips -Dunix -DR3000 -DSYSTYPE_BSD \ -Asystem(unix) -Asystem(xpg4) -Acpu(mips) -Amachine(mips)" -#define ASM_SPEC "\ -%{mmips-as: \ - %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \ - %{pipe: %e-pipe is not supported.} \ - %{K}} \ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \ -%{noasmopt:-O0} \ -%{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \ -%{g} %{g0} %{g1} %{g2} %{g3} \ -%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" - -#ifndef CROSS_COMPILE -#define ASM_FINAL_SPEC "\ -%{mmips-as: %{!mno-mips-tfile: \ - \n mips-tfile %{v*: -v} %{d*} \ - %{K: -I %b.o~} \ - %{!K: %{save-temps: -I %b.o~}} \ - %{c:%W{o*}%{!o*:-o %b.o}}%{!c:-o %U.o} \ - %{.s:%i} %{!.s:%g.s}}}" - -#else /* CROSS_COMPILE */ -#define ASM_FINAL_SPEC "\ -%{mmips-as: %{mmips-tfile: \ - \n mips-tfile %{v*: -v} %{d*} \ - %{K: -I %b.o~} \ - %{!K: %{save-temps: -I %b.o~}} \ - %{c:%W{o*}%{!o*:-o %b.o}}%{!c:-o %U.o} \ - %{.s:%i} %{!.s:%g.s}}}" -#endif +#define SUBTARGET_CPP_SIZE_SPEC "\ +%{mlong64:-D__PTRDIFF_TYPE__=long\\ int} \ +%{!mlong64:-D__PTRDIFF_TYPE__=int}" -#define CPP_SPEC "\ +#define SUBTARGET_CPP_SPEC "\ %{.S: %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \ -%{.S: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY} \ - -ULANGUAGE_C -U__LANGUAGE_C__} \ -%{.s: %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \ -%{.s: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY} \ - -ULANGUAGE_C -U__LANGUAGE_C__} \ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \ -%{!.S:%{!.s: -D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \ -%{mlong64:-D__PTRDIFF_TYPE__=long\\ int} \ -%{!mlong64:-D__PTRDIFF_TYPE__=int} \ -%{mips3:-U__mips -D__mips=3 -D__mips64} \ -%{mgp32:-U__mips64} %{mgp64:-D__mips64} \ -%{msingle-float:%{!msoft-float:-D__mips_single_float}} \ -%{m4650:%{!msoft-float:-D__mips_single_float}} \ -%{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \ -%{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}" +%{.s: %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}}" /* ??? This assumes that GNU as is always used with GNU ld, and MIPS as is always used with MIPS ld. */ diff --git a/gcc/config/mips/sni-svr4.h b/gcc/config/mips/sni-svr4.h index 67b18c02c37..f85e28ff922 100644 --- a/gcc/config/mips/sni-svr4.h +++ b/gcc/config/mips/sni-svr4.h @@ -25,14 +25,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -D_mips -D_unix -D_host_mips -D_MIPSEB -D_R3000 -D_SYSTYPE_SVR4 \ -Asystem(unix) -Asystem(svr4) -Acpu(mips) -Amachine(mips)" -#define CPP_SPEC "\ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS -D_LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS -D_LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS -D_LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C -D_LANGUAGE_OBJECTIVE_C} \ -%{.S: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.s: -D__LANGUAGE_ASSEMBLY -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{!.S:%{!.s: -D__LANGUAGE_C -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \ +#define SUBTARGET_CPP_SIZE_SPEC "\ -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int" #define LINK_SPEC "\ -- 2.11.4.GIT