[OE-core] [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune

Khem Raj raj.khem at gmail.com
Wed Jan 30 16:51:35 UTC 2019


On Wed, Jan 30, 2019 at 12:03 AM <changqing.li at windriver.com> wrote:
>
> From: Changqing Li <changqing.li at windriver.com>
>
>     The SDK was unable to find the C++ header pieces correctly since it's
>     using a generic compiler, not one specifically targeting the multilib
>     vendor prefix and default tune.  This adds the right mapping to ensure
>     SDKs work as expected. And fix problem in below configurations:
>
>     multilib configuration:
>     MACHINE="qemumips64"
>     MULTILIBS ?= "multilib:lib32 multilib:libn32"
>     DEFAULTTUNE_virtclass-multilib-lib32 ?= "mips"
>     DEFAULTTUNE_virtclass-multilib-libn32 ?= "mips64-n32"
>     MULTILIB_GLOBAL_VARIANTS_append = " libn32"
>     require conf/multilib.conf
>
>     ignoring nonexistent directory "<path>/sysroots/mips64-poky-linux/usr/include/c++/8.2.0/mips64-poky-linux/32
>

seems fine to me.

> Signed-off-by: Changqing Li <changqing.li at windriver.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index 50ecc81..e0f5c80 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -98,16 +98,16 @@ do_install_append_class-target () {
>
>         if [ "${TARGET_OS}" = "linux-gnun32" ]; then
>                 if [ "${MULTILIBS}" != "" ]; then
> -                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux
> -                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux/32
> +                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
> +                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/32
>                 else
>                         ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>                 fi
>         fi
>         if [ "${TARGET_OS}" = "linux-gnux32" ]; then
>                 if [ "${MULTILIBS}" != "" ]; then
> -                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux
> -                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux/x32
> +                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
> +                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/x32
>                 else
>                         ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>                 fi
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list