]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
gcc: Fix riscv32 multilib issues in non-multilib toolchain
authorKhem Raj <raj.khem@gmail.com>
Mon, 26 May 2025 01:12:12 +0000 (18:12 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 29 May 2025 09:51:50 +0000 (10:51 +0100)
GCC RISC-V multilib does not map to OE's mutlilib concept
extend the fix [1] done for RISCV64 to RISCV32 as well

[1] https://git.openembedded.org/openembedded-core/commit/?id=3081f62c18fcee642ab43efa717c8f71d51ae587

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/gcc-multilib-config.inc
meta/recipes-devtools/gcc/gcc-runtime.inc

index d9959364c3a9546ada75616c3cb494b1cc603083..1a4169f91aaa8e895456c62db4f80eefbc1f4453 100644 (file)
@@ -149,6 +149,7 @@ python gcc_multilib_setup() {
         'i686'      : ['gcc/config/i386/t-linux64'],
         'mips'      : ['gcc/config/mips/t-linux64'],
         'mips64'    : ['gcc/config/mips/t-linux64'],
+        'riscv32'     : ['gcc/config/riscv/t-linux-multilib'],
         'riscv64'     : ['gcc/config/riscv/t-linux-multilib'],
         'powerpc'   : ['gcc/config/rs6000/t-linux64'],
         'powerpc64' : ['gcc/config/rs6000/t-linux64'],
@@ -166,6 +167,7 @@ python gcc_multilib_setup() {
         'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
         'aarch64'   : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
         'arm'       : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
+        'riscv32'     : ['gcc/config/linux.h'],
         'riscv64'     : ['gcc/config/linux.h'],
     }
 
index fe1f43b2fd793b4709cc60bf6c5c1c7afc9a1a9c..c4e1c5b9a5fc6fa22ba6ec0467aa30f9da235bca 100644 (file)
@@ -144,7 +144,7 @@ do_install:append:class-target () {
                ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32
        fi
 
-       if [ "${TARGET_ARCH}" = "riscv64" -a "${MULTILIB_VARIANTS}" = "" ]; then
+       if [ "${TARGET_ARCH}" = "riscv32" -o "${TARGET_ARCH}" = "riscv64" ] && [ -z "${MULTILIB_VARIANTS}" ]; then
                mv ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/bits/* ${D}${includedir}/c++/${BINV}/bits
                mv ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/ext/* ${D}${includedir}/c++/${BINV}/ext
        fi