[OE-core] [PATCH] gcc: Fix riscv multilibs for OE way

Khem Raj raj.khem at gmail.com
Fri Dec 28 20:03:49 UTC 2018


In OE we do not build mutlib like gcc does it by default, this ensures
that mutlilib is virtually disabled for OE, since we hardly use same gcc
to build for multiple ABIs

This fixes cases in SDK where g++ is not able to find standard c++
include headers

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 meta/recipes-devtools/gcc/gcc-8.2.inc         |  1 +
 .../0043-riscv-Disable-multilib-for-OE.patch  | 27 +++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-8.2/0043-riscv-Disable-multilib-for-OE.patch

diff --git a/meta/recipes-devtools/gcc/gcc-8.2.inc b/meta/recipes-devtools/gcc/gcc-8.2.inc
index b6568a046e..b21c605e81 100644
--- a/meta/recipes-devtools/gcc/gcc-8.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-8.2.inc
@@ -71,6 +71,7 @@ SRC_URI = "\
            file://0040-Re-introduce-spe-commandline-options.patch \
            file://0041-ARC-fix-spec-gen.patch \
            file://0042-powerpc-powerpc64-Add-support-for-musl-ldso.patch \
+           file://0043-riscv-Disable-multilib-for-OE.patch \
            ${BACKPORTS} \
 "
 BACKPORTS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-8.2/0043-riscv-Disable-multilib-for-OE.patch b/meta/recipes-devtools/gcc/gcc-8.2/0043-riscv-Disable-multilib-for-OE.patch
new file mode 100644
index 0000000000..dc28d1bfd8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-8.2/0043-riscv-Disable-multilib-for-OE.patch
@@ -0,0 +1,27 @@
+From ca0a6e035eef0cdbd0ef3a222c75d4b9f873c512 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Fri, 28 Dec 2018 09:59:53 -0800
+Subject: [PATCH 39/39] riscv: Disable multilib for OE
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+ gcc/config/riscv/t-linux | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
+index 216d2776a18..e4d817621fc 100644
+--- a/gcc/config/riscv/t-linux
++++ b/gcc/config/riscv/t-linux
+@@ -1,3 +1,5 @@
+ # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
+-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
++MULTILIB_DIRNAMES := . .
++#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+-- 
+2.20.1
+
-- 
2.20.1



More information about the Openembedded-core mailing list