summaryrefslogtreecommitdiff
path: root/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch')
-rw-r--r--packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch b/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch
new file mode 100644
index 0000000..6c0ff27
--- /dev/null
+++ b/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch
@@ -0,0 +1,68 @@
+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
+---
+ 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
+
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1063,7 +1063,7 @@
+ ;;
+ 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