toolchain/gcc: Backport patch to fix unconditional MULTIARCH_DIRNAME
authorJeffery To <jeffery.to@gmail.com>
Mon, 18 Nov 2019 22:04:59 +0000 (06:04 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 22 Dec 2019 23:04:18 +0000 (00:04 +0100)
This backports the patch for GCC PR target/89587 (gcc's rs6000
configuration unconditionally sets MULTIARCH_DIRNAME, even when
multiarch is disabled).

This currently affects apm821xx and may cause issues when
cross-compiling packages, e.g. Python 3[1].

This includes patches for GCC 8 (with the changelog diff removed);
this change is already included in GCC 9.2 and 7.5.

[1]: https://github.com/openwrt/packages/issues/10552

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
[Removed patch for GCC 7.4.0, GCC 7.5.0 already contains this]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
toolchain/gcc/patches/8.3.0/090-rs6000-PR-89587.patch [new file with mode: 0644]

diff --git a/toolchain/gcc/patches/8.3.0/090-rs6000-PR-89587.patch b/toolchain/gcc/patches/8.3.0/090-rs6000-PR-89587.patch
new file mode 100644 (file)
index 0000000..83bfbbe
--- /dev/null
@@ -0,0 +1,30 @@
+From 045e60da05ec1d4997864883143a951f152cfc9f Mon Sep 17 00:00:00 2001
+From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 30 Apr 2019 20:37:12 +0000
+Subject: [PATCH]       Backported from mainline        2019-03-05  Jakub
+ Jelinek  <jakub@redhat.com>
+
+       PR target/89587
+       * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
+       if_multiarch.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@270720 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog             | 4 ++++
+ gcc/config/rs6000/t-linux | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
+index acfde1f48aec..aeb7440c4920 100644
+--- a/gcc/config/rs6000/t-linux
++++ b/gcc/config/rs6000/t-linux
+@@ -4,7 +4,7 @@ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
+ ifneq (,$(findstring powerpc64,$(target)))
+ MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+ else
+-MULTIARCH_DIRNAME := powerpc-linux-gnu
++MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu)
+ endif
+ ifneq (,$(findstring powerpcle,$(target)))
+ MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME))