summaryrefslogtreecommitdiff
path: root/gcc/config/mips/elfoabi.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-07-02 10:11:56 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-07-02 10:11:56 +0000
commite2c14f5d512a5a5e8a658030789dea947c42068e (patch)
tree0032f4d9416bd1cb36c8e003f578b206cb2e73b1 /gcc/config/mips/elfoabi.h
parent36618b93d0cbf25b1de5ec50998c3430e29c4585 (diff)
downloadgcc-e2c14f5d512a5a5e8a658030789dea947c42068e.tar.gz
gcc/
* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*) (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*) (mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level stanzas. Use the first part of the triplet to set MIPS_ISA_DEFAULT. Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the 64-bit targets. Add support for *-elfoabi*. * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use different settings if $(tm_defines) does not select the EABI. (MULTILIB_EXCLUSIONS): Define in those circumstances. * config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro. (MIPS_ARCH_OPTION_SPEC): Likewise. (MIPS_ISA_LEVEL_SPEC): Likewise. (OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC. * config/mips/elfoabi.h: New file. From-SVN: r126195
Diffstat (limited to 'gcc/config/mips/elfoabi.h')
-rw-r--r--gcc/config/mips/elfoabi.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/config/mips/elfoabi.h b/gcc/config/mips/elfoabi.h
new file mode 100644
index 00000000000..a6cffe101e7
--- /dev/null
+++ b/gcc/config/mips/elfoabi.h
@@ -0,0 +1,41 @@
+/* Target macros for mips*-elf targets that selected between o32 and o64
+ based on the target architecture.
+ Copyright (C) 1994, 1997, 1999, 2000, 2002, 2003, 2004
+ Free Software Foundation, Inc.
+
+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. */
+
+#define DRIVER_SELF_SPECS \
+ /* Infer a -mips option from a -march option. This makes \
+ -march pick the right multilib, and also makes the later \
+ specs easier to write. */ \
+ MIPS_ISA_LEVEL_SPEC, \
+ \
+ /* If no architecture option is specified, force the default to \
+ be listed explicitly. This too makes later specs easier to \
+ write. */ \
+ "%{" MIPS_ISA_LEVEL_OPTION_SPEC ":;: -" MULTILIB_ISA_DEFAULT "}", \
+ \
+ /* If no ABI option is specified, infer one from the ISA level \
+ or -mgp setting. */ \
+ "%{!mabi=*: %{mips1|mips2|mips32*|mgp32: -mabi=32;: -mabi=o64}}", \
+ \
+ /* Remove a redundant -mfp64 for -mabi=o64; we want the !mfp64 \
+ multilibs. There's no need to check whether the architecture \
+ is 64-bit; cc1 will complain if it isn't. */ \
+ "%{mabi=o64: %<mfp64}"