config.gcc: Add mips*-mti-linux* target Handle with_synci like other options.
2012-09-10 Steve Ellcey <sellcey@mips.com> * config.gcc: Add mips*-mti-linux* target Handle with_synci like other options. * config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New. (DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS. * config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New. * config/mips/mti-linux.h: New file. * config/mips/t-mti-linux: New file. From-SVN: r191155
This commit is contained in:
parent
320e29d7e5
commit
965c17988d
|
@ -1,3 +1,13 @@
|
|||
2012-09-10 Steve Ellcey <sellcey@mips.com>
|
||||
|
||||
* config.gcc: Add mips*-mti-linux* target
|
||||
Handle with_synci like other options.
|
||||
* config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
|
||||
(DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS.
|
||||
* config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
|
||||
* config/mips/mti-linux.h: New file.
|
||||
* config/mips/t-mti-linux: New file.
|
||||
|
||||
2012-09-10 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
* tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
|
||||
|
|
|
@ -1696,6 +1696,14 @@ mips*-*-netbsd*) # NetBSD/mips, either endian.
|
|||
tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
|
||||
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
|
||||
;;
|
||||
mips*-mti-linux*)
|
||||
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h mips/mti-linux.h"
|
||||
tmake_file="${tmake_file} mips/t-mti-linux"
|
||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
|
||||
gnu_ld=yes
|
||||
gas=yes
|
||||
test x$with_llsc != x || with_llsc=yes
|
||||
;;
|
||||
mips64*-*-linux* | mipsisa64*-*-linux*)
|
||||
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h"
|
||||
tmake_file="${tmake_file} mips/t-linux64"
|
||||
|
@ -3273,10 +3281,11 @@ case "${target}" in
|
|||
yes)
|
||||
with_synci=synci
|
||||
;;
|
||||
"" | no)
|
||||
# No is the default.
|
||||
no)
|
||||
with_synci=no-synci
|
||||
;;
|
||||
"")
|
||||
;;
|
||||
*)
|
||||
echo "Unknown synci type used in --with-synci" 1>&2
|
||||
exit 1
|
||||
|
|
|
@ -20,13 +20,17 @@ along with GCC; see the file COPYING3. If not see
|
|||
|
||||
/* Force the default endianness and ABI flags onto the command line
|
||||
in order to make the other specs easier to write. */
|
||||
#undef DRIVER_SELF_SPECS
|
||||
#define DRIVER_SELF_SPECS \
|
||||
BASE_DRIVER_SELF_SPECS, \
|
||||
|
||||
#define LINUX64_DRIVER_SELF_SPECS \
|
||||
LINUX_DRIVER_SELF_SPECS \
|
||||
" %{!EB:%{!EL:%(endian_spec)}}" \
|
||||
" %{!mabi=*: -" MULTILIB_ABI_DEFAULT "}"
|
||||
|
||||
#undef DRIVER_SELF_SPECS
|
||||
#define DRIVER_SELF_SPECS \
|
||||
BASE_DRIVER_SELF_SPECS, \
|
||||
LINUX64_DRIVER_SELF_SPECS
|
||||
|
||||
#undef GNU_USER_TARGET_LINK_SPEC
|
||||
#define GNU_USER_TARGET_LINK_SPEC "\
|
||||
%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \
|
||||
|
|
|
@ -728,6 +728,11 @@ struct mips_cpu_info {
|
|||
#define MIPS_32BIT_OPTION_SPEC \
|
||||
"mips1|mips2|mips32*|mgp32"
|
||||
|
||||
/* Infer a -msynci setting from a -mips argument, on the assumption that
|
||||
-msynci is desired where possible. */
|
||||
#define MIPS_ISA_SYNCI_SPEC \
|
||||
"%{msynci|mno-synci:;:%{mips32r2|mips64r2:-msynci;:-mno-synci}}"
|
||||
|
||||
#if MIPS_ABI_DEFAULT == ABI_O64 \
|
||||
|| MIPS_ABI_DEFAULT == ABI_N32 \
|
||||
|| MIPS_ABI_DEFAULT == ABI_64
|
||||
|
@ -762,7 +767,6 @@ struct mips_cpu_info {
|
|||
{"mips-plt", "%{!mplt:%{!mno-plt:-m%(VALUE)}}" }, \
|
||||
{"synci", "%{!msynci:%{!mno-synci:-m%(VALUE)}}" }
|
||||
|
||||
|
||||
/* A spec that infers the -mdsp setting from an -march argument. */
|
||||
#define BASE_DRIVER_SELF_SPECS \
|
||||
"%{!mno-dsp: \
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/* Target macros for mips*-mti-linux* targets.
|
||||
Copyright (C) 2012
|
||||
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 3, 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 COPYING3. If not see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This target is a multilib target, specify the sysroot paths. */
|
||||
#undef SYSROOT_SUFFIX_SPEC
|
||||
#define SYSROOT_SUFFIX_SPEC \
|
||||
"%{mips32:/mips32}%{mips64:/mips64}%{mips64r2:/mips64r2}%{msoft-float:/sof}%{mel|EL:/el}%{mabi=64:/64}%{mabi=n32:/n32}"
|
||||
|
||||
#undef DRIVER_SELF_SPECS
|
||||
#define DRIVER_SELF_SPECS \
|
||||
/* Make sure a -mips option is present. This helps us to pick \
|
||||
the right multilib, and also makes the later specs easier \
|
||||
to write. */ \
|
||||
MIPS_ISA_LEVEL_SPEC, \
|
||||
\
|
||||
/* Infer the default float setting from -march. */ \
|
||||
MIPS_ARCH_FLOAT_SPEC, \
|
||||
\
|
||||
/* Infer the -msynci setting from -march if not explicitly set. */ \
|
||||
MIPS_ISA_SYNCI_SPEC, \
|
||||
\
|
||||
/* Base SPECs. */ \
|
||||
BASE_DRIVER_SELF_SPECS \
|
||||
\
|
||||
/* Use the standard linux specs for everything else. */ \
|
||||
LINUX64_DRIVER_SELF_SPECS
|
|
@ -0,0 +1,24 @@
|
|||
# Copyright (C) 2012 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 3, 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 COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# The default build is mips32r2, hard-float big-endian. Add mips32,
|
||||
# soft-float, and little-endian variations.
|
||||
|
||||
MULTILIB_OPTIONS = mips32/mips64/mips64r2 msoft-float EL
|
||||
MULTILIB_DIRNAMES = mips32 mips64 mips64r2 sof el
|
||||
MULTILIB_MATCHES = EL=mel EB=meb
|
Loading…
Reference in New Issue