We used to build baremetal (AKA Elf32) multilibbed toolchains for years now but never made that for Linux targets since there were problems with uClibc n multilib setup. Now with help of Crosstool-NG it is finally possible to create uClibc-based multilibbed toolchains and so we add relevant CPUs for multilib in case of configuration for "arc*-*-linux*".
This will be essentially useful for glibc-based multilibbbed toolchains in the future. gcc/ 2018-05-16 Alexey Brodkin <abrod...@synopsys.com> * config.gcc: Add arc/t-multilib-linux to tmake_file for arc*-*-linux*. * config/arc/t-multilib-linux: Specify MULTILIB_OPTIONS and MULTILIB_DIRNAMES --- gcc/config.gcc | 2 +- gcc/config/arc/t-multilib-linux | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gcc/config/arc/t-multilib-linux diff --git a/gcc/config.gcc b/gcc/config.gcc index a5defb0f0058..8e038a72f613 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1059,7 +1059,7 @@ arc*-*-elf*) ;; arc*-*-linux*) tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" - tmake_file="${tmake_file} arc/t-arc" + tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc" extra_gcc_objs="driver-arc.o" if test "x$with_cpu" != x; then tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu" diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux new file mode 100644 index 000000000000..f357cfc3f926 --- /dev/null +++ b/gcc/config/arc/t-multilib-linux @@ -0,0 +1,25 @@ +# Copyright (C) 2018 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/>. + +MULTILIB_OPTIONS = mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400 + +MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400 + +# Aliases: +MULTILIB_MATCHES += mcpu?arc700=mA7 +MULTILIB_MATCHES += mcpu?arc700=mARC700 -- 2.17.0