2018-05-16 10:52:43 +00:00
|
|
|
From 0eacfbcb2bf1834294f468a2bb41fe5d5e8d3883 Mon Sep 17 00:00:00 2001
|
|
|
|
From: claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
|
|
Date: Mon, 21 May 2018 09:56:57 +0000
|
|
|
|
Subject: [PATCH] [ARC] Add multilib support for linux targets
|
|
|
|
|
|
|
|
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 <abrodkin@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
|
|
|
|
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260434 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
---
|
2018-09-23 20:58:16 +00:00
|
|
|
gcc/config.gcc | 2 +-
|
|
|
|
gcc/config/arc/t-multilib-linux | 25 +++++++++++++++++++++++++
|
2018-05-16 10:52:43 +00:00
|
|
|
2 files changed, 26 insertions(+), 1 deletion(-)
|
|
|
|
create mode 100644 gcc/config/arc/t-multilib-linux
|
|
|
|
|
|
|
|
--- a/gcc/config.gcc
|
|
|
|
+++ b/gcc/config.gcc
|
2018-09-23 20:58:16 +00:00
|
|
|
@@ -1063,7 +1063,7 @@
|
2018-05-16 10:52:43 +00:00
|
|
|
;;
|
|
|
|
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"
|
|
|
|
--- /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
|