All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune
@ 2019-01-30  8:02 changqing.li
  2019-01-30  8:28 ` Changqing Li
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: changqing.li @ 2019-01-30  8:02 UTC (permalink / raw)
  To: openembedded-core

From: Changqing Li <changqing.li@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

Signed-off-by: Changqing Li <changqing.li@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



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-01-30  8:02 [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune changqing.li
@ 2019-01-30  8:28 ` Changqing Li
  2019-01-30 16:51 ` Khem Raj
  2019-01-30 21:56 ` Richard Purdie
  2 siblings, 0 replies; 16+ messages in thread
From: Changqing Li @ 2019-01-30  8:28 UTC (permalink / raw)
  To: openembedded-core

Please ignore this patch. I accidentally sent it 3 times.

On 1/30/19 4:02 PM, changqing.li@windriver.com wrote:
> From: Changqing Li <changqing.li@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
>
> Signed-off-by: Changqing Li <changqing.li@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

-- 
BRs

Sandy(Li Changqing)



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-01-30  8:02 [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune changqing.li
  2019-01-30  8:28 ` Changqing Li
@ 2019-01-30 16:51 ` Khem Raj
  2019-01-30 21:56 ` Richard Purdie
  2 siblings, 0 replies; 16+ messages in thread
From: Khem Raj @ 2019-01-30 16:51 UTC (permalink / raw)
  To: Changqing Li; +Cc: Patches and discussions about the oe-core layer

On Wed, Jan 30, 2019 at 12:03 AM <changqing.li@windriver.com> wrote:
>
> From: Changqing Li <changqing.li@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@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@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-01-30  8:02 [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune changqing.li
  2019-01-30  8:28 ` Changqing Li
  2019-01-30 16:51 ` Khem Raj
@ 2019-01-30 21:56 ` Richard Purdie
  2019-02-12  5:10   ` [PATCH V2] " changqing.li
  2 siblings, 1 reply; 16+ messages in thread
From: Richard Purdie @ 2019-01-30 21:56 UTC (permalink / raw)
  To: changqing.li, openembedded-core

On Wed, 2019-01-30 at 16:02 +0800, changqing.li@windriver.com wrote:
> From: Changqing Li <changqing.li@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
> 
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Breaks in testing sadly:

https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/236

Cheers,

Richard



^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V2] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-01-30 21:56 ` Richard Purdie
@ 2019-02-12  5:10   ` changqing.li
  2019-02-14 11:19     ` Richard Purdie
  0 siblings, 1 reply; 16+ messages in thread
From: changqing.li @ 2019-02-12  5:10 UTC (permalink / raw)
  To: openembedded-core

From: Changqing Li <changqing.li@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 1:
    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

    multilib configuration 2:
    MACHINE="qemumips64"
    MULTILIBS = 'multilib:lib64 multilib:lib32'
    DEFAULTTUNE = 'mips64-n32'
    DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
    DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
    require conf/multilib.conf

    For this configuration:
    for target gcc-runtime, need to create symlink like mips64-poly-linux --> mips64-poky-linux-gnu32
    for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --> mips64-pokymllib64-linux
    in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
    this is ugly, but seems no better way to cover all kinds of configuration.

    single lib configuration:
    MACHINE="qemumips64"
    DEFAULTTUNE = "mips64-n32"

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 50ecc81..f92becc 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -85,10 +85,6 @@ do_install () {
 	if [ -d ${D}${infodir} ]; then
 		rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
 	fi
-	if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
-		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
-	fi
-
 }
 
 do_install_append_class-target () {
@@ -97,20 +93,29 @@ do_install_append_class-target () {
 	fi
 
 	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
+		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+			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
+		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
+			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
+	elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
+		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+			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
+		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
+			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
 		else
 			ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
 		fi
+	elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+		mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
+		ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
+		ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
 	fi
 
 	if [ "${TCLIBC}" != "glibc" ]; then
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH V2] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-02-12  5:10   ` [PATCH V2] " changqing.li
@ 2019-02-14 11:19     ` Richard Purdie
  2019-02-19  7:05       ` Changqing Li
  2019-06-18  7:46       ` [PATCH V3] " changqing.li
  0 siblings, 2 replies; 16+ messages in thread
From: Richard Purdie @ 2019-02-14 11:19 UTC (permalink / raw)
  To: changqing.li, openembedded-core

On Tue, 2019-02-12 at 13:10 +0800, changqing.li@windriver.com wrote:
> From: Changqing Li <changqing.li@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 1:
>     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
> 
>     multilib configuration 2:
>     MACHINE="qemumips64"
>     MULTILIBS = 'multilib:lib64 multilib:lib32'
>     DEFAULTTUNE = 'mips64-n32'
>     DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>     DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>     require conf/multilib.conf
> 
>     For this configuration:
>     for target gcc-runtime, need to create symlink like mips64-poly-
> linux --> mips64-poky-linux-gnu32
>     for target lib64-gcc-runtime, need to create symlink like mips64-
> poly-linux/32 --> mips64-pokymllib64-linux
>     in order to avoid conflict during populate_sdk, create symlink
> for subfoler bits/ext for target gcc-runtime,
>     this is ugly, but seems no better way to cover all kinds of
> configuration.
> 
>     single lib configuration:
>     MACHINE="qemumips64"
>     DEFAULTTUNE = "mips64-n32"
> 
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++--
> ----------
>  1 file changed, 17 insertions(+), 12 deletions(-)

I haven't looked into why and it took a bit of narrowing down to find
the commit responsible but this is still causing a failure on the
autobuilder:

https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/285

Cheers,

Richard



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V2] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-02-14 11:19     ` Richard Purdie
@ 2019-02-19  7:05       ` Changqing Li
  2019-04-28  8:34         ` Changqing Li
  2019-06-18  7:46       ` [PATCH V3] " changqing.li
  1 sibling, 1 reply; 16+ messages in thread
From: Changqing Li @ 2019-02-19  7:05 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 3409 bytes --]


On 2/14/19 7:19 PM, Richard Purdie wrote:
> On Tue, 2019-02-12 at 13:10 +0800, changqing.li@windriver.com wrote:
>> From: Changqing Li <changqing.li@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 1:
>>      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
>>
>>      multilib configuration 2:
>>      MACHINE="qemumips64"
>>      MULTILIBS = 'multilib:lib64 multilib:lib32'
>>      DEFAULTTUNE = 'mips64-n32'
>>      DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>>      DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>>      require conf/multilib.conf
>>
>>      For this configuration:
>>      for target gcc-runtime, need to create symlink like mips64-poly-
>> linux --> mips64-poky-linux-gnu32
>>      for target lib64-gcc-runtime, need to create symlink like mips64-
>> poly-linux/32 --> mips64-pokymllib64-linux
>>      in order to avoid conflict during populate_sdk, create symlink
>> for subfoler bits/ext for target gcc-runtime,
>>      this is ugly, but seems no better way to cover all kinds of
>> configuration.
>>
>>      single lib configuration:
>>      MACHINE="qemumips64"
>>      DEFAULTTUNE = "mips64-n32"
>>
>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ---
>>   meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++--
>> ----------
>>   1 file changed, 17 insertions(+), 12 deletions(-)
> I haven't looked into why and it took a bit of narrowing down to find
> the commit responsible but this is still causing a failure on the
> autobuilder:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/285

Hi, Richard

I checked this problem,  this autobuilder fail seems not related to this 
patch.

it is failed as:

Error:
Problem: conflicting requests
- nothing provides lib64-lttng-modules needed by 
lib64-packagegroup-core-tools-profile-1.0-r3.0.qemux86'

but one place weird is I cannot reproduce this error locally with same 
configuration.

This is my lib64-packagegroup-core-tools-profile.spec:

Requires: lib64-powertop
Requires: lib64-systemtap
Requires: lib64-valgrind
Requires: lttng-modules
Recommends: lib64-blktrace


Requires should be lttng-modules  and not lib64-lttng-modules. 
lib64-lttng-modules should have been replace to lttng-modules.

during do_package_rpm->mapping_rename_hook->get_package_mapping.


I checked history of this part of code,  it should not have change 
recently,  so my local code should same as autobuildler, so I don't

quite understand why autobuilder failed.


If possible, could you help to check on the build server of the 
autobuilder ? Thanks.

>
> Cheers,
>
> Richard
>
>
-- 
BRs

Sandy(Li Changqing)


[-- Attachment #2: Type: text/html, Size: 7059 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V2] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-02-19  7:05       ` Changqing Li
@ 2019-04-28  8:34         ` Changqing Li
  0 siblings, 0 replies; 16+ messages in thread
From: Changqing Li @ 2019-04-28  8:34 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 3875 bytes --]

On 2/19/19 3:05 PM, Changqing Li wrote:
>
>
> On 2/14/19 7:19 PM, Richard Purdie wrote:
>> On Tue, 2019-02-12 at 13:10 +0800,changqing.li@windriver.com  wrote:
>>> From: Changqing Li<changqing.li@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 1:
>>>      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
>>>
>>>      multilib configuration 2:
>>>      MACHINE="qemumips64"
>>>      MULTILIBS = 'multilib:lib64 multilib:lib32'
>>>      DEFAULTTUNE = 'mips64-n32'
>>>      DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>>>      DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>>>      require conf/multilib.conf
>>>
>>>      For this configuration:
>>>      for target gcc-runtime, need to create symlink like mips64-poly-
>>> linux --> mips64-poky-linux-gnu32
>>>      for target lib64-gcc-runtime, need to create symlink like mips64-
>>> poly-linux/32 --> mips64-pokymllib64-linux
>>>      in order to avoid conflict during populate_sdk, create symlink
>>> for subfoler bits/ext for target gcc-runtime,
>>>      this is ugly, but seems no better way to cover all kinds of
>>> configuration.
>>>
>>>      single lib configuration:
>>>      MACHINE="qemumips64"
>>>      DEFAULTTUNE = "mips64-n32"
>>>
>>> Signed-off-by: Changqing Li<changqing.li@windriver.com>
>>> ---
>>>   meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++--
>>> ----------
>>>   1 file changed, 17 insertions(+), 12 deletions(-)
>> I haven't looked into why and it took a bit of narrowing down to find
>> the commit responsible but this is still causing a failure on the
>> autobuilder:
>>
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/285
>
> Hi, Richard
>
> I checked this problem,  this autobuilder fail seems not related to 
> this patch.
>
> it is failed as:
>
> Error:
> Problem: conflicting requests
> - nothing provides lib64-lttng-modules needed by 
> lib64-packagegroup-core-tools-profile-1.0-r3.0.qemux86'
>
> but one place weird is I cannot reproduce this error locally with same 
> configuration.
>
> This is my lib64-packagegroup-core-tools-profile.spec:
>
> Requires: lib64-powertop
> Requires: lib64-systemtap
> Requires: lib64-valgrind
> Requires: lttng-modules
> Recommends: lib64-blktrace
>
>
> Requires should be lttng-modules  and not lib64-lttng-modules. 
> lib64-lttng-modules should have been replace to lttng-modules.
>
> during do_package_rpm->mapping_rename_hook->get_package_mapping.
>
>
> I checked history of this part of code,  it should not have change 
> recently,  so my local code should same as autobuildler, so I don't
>
> quite understand why autobuilder failed.
>
>
> If possible, could you help to check on the build server of the 
> autobuilder ? Thanks.
>
Hi, Richard

I  tested the scenario of the failed build with this patch and the 
latest poky distro.  It can build success.  Also,  the fauilure seems not

related to this patch.


Could you try again build this patch on autobuilder?  Thanks

>> Cheers,
>>
>> Richard
>>
>>
> -- 
> BRs
>
> Sandy(Li Changqing)
>
-- 
BRs

Sandy(Li Changqing)


[-- Attachment #2: Type: text/html, Size: 8085 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-02-14 11:19     ` Richard Purdie
  2019-02-19  7:05       ` Changqing Li
@ 2019-06-18  7:46       ` changqing.li
  2019-06-18 15:59         ` Khem Raj
  2019-06-21  8:32         ` Martin Jansa
  1 sibling, 2 replies; 16+ messages in thread
From: changqing.li @ 2019-06-18  7:46 UTC (permalink / raw)
  To: openembedded-core

From: Changqing Li <changqing.li@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 1:
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

multilib configuration 2:
MACHINE="qemumips64"
MULTILIBS = 'multilib:lib64 multilib:lib32'
DEFAULTTUNE = 'mips64-n32'
DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
require conf/multilib.conf

For this configuration:
for target gcc-runtime, need to create symlink like mips64-poly-linux --> mips64-poky-linux-gnu32
for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --> mips64-pokymllib64-linux
in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
this is ugly, but seems no better way to cover all kinds of configuration.

single lib configuration:
MACHINE="qemumips64"
DEFAULTTUNE = "mips64-n32"

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 3d03d8e..ba767e1 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -86,10 +86,6 @@ do_install () {
 	if [ -d ${D}${infodir} ]; then
 		rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
 	fi
-	if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
-		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
-	fi
-
 }
 
 do_install_append_class-target () {
@@ -98,20 +94,29 @@ do_install_append_class-target () {
 	fi
 
 	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
+		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+			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
+		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
+			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
+	elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
+		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+			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
+		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
+			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
 		else
 			ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
 		fi
+	elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+		mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
+		ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
+		ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
 	fi
 
 	if [ "${TCLIBC}" != "glibc" ]; then
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-06-18  7:46       ` [PATCH V3] " changqing.li
@ 2019-06-18 15:59         ` Khem Raj
  2019-06-19  2:05           ` Changqing Li
  2019-06-21  8:32         ` Martin Jansa
  1 sibling, 1 reply; 16+ messages in thread
From: Khem Raj @ 2019-06-18 15:59 UTC (permalink / raw)
  To: Changqing Li; +Cc: Patches and discussions about the oe-core layer

On Tue, Jun 18, 2019 at 12:47 AM <changqing.li@windriver.com> wrote:
>
> From: Changqing Li <changqing.li@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 1:
> 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
>
> multilib configuration 2:
> MACHINE="qemumips64"
> MULTILIBS = 'multilib:lib64 multilib:lib32'

machine is already 64bit so default lib config will be 64bit, what is
multilib:lib64 for here ?

> DEFAULTTUNE = 'mips64-n32'
> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
> require conf/multilib.conf
>
> For this configuration:
> for target gcc-runtime, need to create symlink like mips64-poly-linux --> mips64-poky-linux-gnu32
> for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --> mips64-pokymllib64-linux
> in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
> this is ugly, but seems no better way to cover all kinds of configuration.
>
> single lib configuration:
> MACHINE="qemumips64"
> DEFAULTTUNE = "mips64-n32"
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++------------
>  1 file changed, 17 insertions(+), 12 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index 3d03d8e..ba767e1 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -86,10 +86,6 @@ do_install () {
>         if [ -d ${D}${infodir} ]; then
>                 rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
>         fi
> -       if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> -               ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
> -       fi
> -
>  }
>
>  do_install_append_class-target () {
> @@ -98,20 +94,29 @@ do_install_append_class-target () {
>         fi
>
>         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
> +               if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> +                       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
> +               elif [ "${MULTILIB_VARIANTS}" != "" ]; then
> +                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> +                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
> +       elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
> +               if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> +                       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
> +               elif [ "${MULTILIB_VARIANTS}" != "" ]; then
> +                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> +                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
>                 else
>                         ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>                 fi
> +       elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> +               mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
> +               ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
> +               ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
>         fi
>
>         if [ "${TCLIBC}" != "glibc" ]; then
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-06-18 15:59         ` Khem Raj
@ 2019-06-19  2:05           ` Changqing Li
  0 siblings, 0 replies; 16+ messages in thread
From: Changqing Li @ 2019-06-19  2:05 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer


On 6/18/19 11:59 PM, Khem Raj wrote:
> On Tue, Jun 18, 2019 at 12:47 AM <changqing.li@windriver.com> wrote:
>> From: Changqing Li <changqing.li@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 1:
>> 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
>>
>> multilib configuration 2:
>> MACHINE="qemumips64"
>> MULTILIBS = 'multilib:lib64 multilib:lib32'
> machine is already 64bit so default lib config will be 64bit, what is
> multilib:lib64 for here ?

This config is get from autobuilder.

machine is set to qemumips64, but DEFAULTTUNE is set to mips64-n32,

so this should be why use multilib:lib64.

>
>> DEFAULTTUNE = 'mips64-n32'
>> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>> require conf/multilib.conf
>>
>> For this configuration:
>> for target gcc-runtime, need to create symlink like mips64-poly-linux --> mips64-poky-linux-gnu32
>> for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --> mips64-pokymllib64-linux
>> in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
>> this is ugly, but seems no better way to cover all kinds of configuration.
>>
>> single lib configuration:
>> MACHINE="qemumips64"
>> DEFAULTTUNE = "mips64-n32"
>>
>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ---
>>   meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++------------
>>   1 file changed, 17 insertions(+), 12 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
>> index 3d03d8e..ba767e1 100644
>> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
>> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
>> @@ -86,10 +86,6 @@ do_install () {
>>          if [ -d ${D}${infodir} ]; then
>>                  rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
>>          fi
>> -       if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> -               ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
>> -       fi
>> -
>>   }
>>
>>   do_install_append_class-target () {
>> @@ -98,20 +94,29 @@ do_install_append_class-target () {
>>          fi
>>
>>          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
>> +               if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> +                       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
>> +               elif [ "${MULTILIB_VARIANTS}" != "" ]; then
>> +                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>> +                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
>> +       elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
>> +               if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> +                       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
>> +               elif [ "${MULTILIB_VARIANTS}" != "" ]; then
>> +                       mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>> +                       ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
>>                  else
>>                          ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>>                  fi
>> +       elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> +               mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
>> +               ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
>> +               ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
>>          fi
>>
>>          if [ "${TCLIBC}" != "glibc" ]; then
>> --
>> 2.7.4
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
BRs

Sandy(Li Changqing)



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-06-18  7:46       ` [PATCH V3] " changqing.li
  2019-06-18 15:59         ` Khem Raj
@ 2019-06-21  8:32         ` Martin Jansa
  2019-06-21  9:02           ` [PATCH] gcc-runtime.inc: create the correct directory before creating the symlinks in it Martin Jansa
  2019-06-21  9:08           ` [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune Changqing Li
  1 sibling, 2 replies; 16+ messages in thread
From: Martin Jansa @ 2019-06-21  8:32 UTC (permalink / raw)
  To: changqing.li; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 6057 bytes --]

On Tue, Jun 18, 2019 at 03:46:56PM +0800, changqing.li@windriver.com wrote:
> From: Changqing Li <changqing.li@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 1:
> 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
> 
> multilib configuration 2:
> MACHINE="qemumips64"
> MULTILIBS = 'multilib:lib64 multilib:lib32'
> DEFAULTTUNE = 'mips64-n32'
> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
> require conf/multilib.conf
> 
> For this configuration:
> for target gcc-runtime, need to create symlink like mips64-poly-linux --> mips64-poky-linux-gnu32
> for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --> mips64-pokymllib64-linux
> in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
> this is ugly, but seems no better way to cover all kinds of configuration.
> 
> single lib configuration:
> MACHINE="qemumips64"
> DEFAULTTUNE = "mips64-n32"

This seems to be causing:

ln: failed to create symbolic link 'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits': No such file or directory
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_install (log file is located at work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)

There is only empty directory without the -gnueabi suffix:
work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/

and

work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
bits  ext

> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++------------
>  1 file changed, 17 insertions(+), 12 deletions(-)
> 
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index 3d03d8e..ba767e1 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -86,10 +86,6 @@ do_install () {
>  	if [ -d ${D}${infodir} ]; then
>  		rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
>  	fi
> -	if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> -		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
> -	fi
> -
>  }
>  
>  do_install_append_class-target () {
> @@ -98,20 +94,29 @@ do_install_append_class-target () {
>  	fi
>  
>  	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
> +		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> +			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
> +		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
> +			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> +			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
> +	elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
> +		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> +			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
> +		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
> +			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> +			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
>  		else
>  			ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>  		fi
> +	elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> +		mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
> +		ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
> +		ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
>  	fi
>  
>  	if [ "${TCLIBC}" != "glibc" ]; then
> -- 
> 2.7.4
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH] gcc-runtime.inc: create the correct directory before creating the symlinks in it
  2019-06-21  8:32         ` Martin Jansa
@ 2019-06-21  9:02           ` Martin Jansa
  2019-06-21  9:08           ` [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune Changqing Li
  1 sibling, 0 replies; 16+ messages in thread
From: Martin Jansa @ 2019-06-21  9:02 UTC (permalink / raw)
  To: openembedded-core

* since
  commit b071a1a209556158bcfcc20e3c8bd4b15373767c
  Author: Changqing Li <changqing.li@windriver.com>
  Date:   Tue Jun 18 15:46:56 2019 +0800

    gcc-runtime: fix C++ header mapping for n32/x32 tune

  gcc-runtime.do_install is failing with:

  ln: failed to create symbolic link 'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits': No such file or directory
  WARNING: exit code 1 from a shell command.
  ERROR: Function failed: do_install (log file is located at work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)

  There is only empty directory without the -gnueabi suffix:
  work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/

  and

  work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
  bits  ext

* make sure to create correct directory (with -${TARGET_OS suffix instead of -linux suffix)
  before creating the symlinks in it

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-runtime.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index ba767e1a38..a5c2600d7f 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -114,7 +114,7 @@ do_install_append_class-target () {
 			ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
 		fi
 	elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
-		mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
+		mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
 		ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
 		ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
 	fi
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-06-21  8:32         ` Martin Jansa
  2019-06-21  9:02           ` [PATCH] gcc-runtime.inc: create the correct directory before creating the symlinks in it Martin Jansa
@ 2019-06-21  9:08           ` Changqing Li
  2019-06-21 10:21             ` Martin Jansa
  1 sibling, 1 reply; 16+ messages in thread
From: Changqing Li @ 2019-06-21  9:08 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core


On 6/21/19 4:32 PM, Martin Jansa wrote:
> On Tue, Jun 18, 2019 at 03:46:56PM +0800, changqing.li@windriver.com wrote:
>> From: Changqing Li <changqing.li@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 1:
>> 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
>>
>> multilib configuration 2:
>> MACHINE="qemumips64"
>> MULTILIBS = 'multilib:lib64 multilib:lib32'
>> DEFAULTTUNE = 'mips64-n32'
>> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>> require conf/multilib.conf
>>
>> For this configuration:
>> for target gcc-runtime, need to create symlink like mips64-poly-linux --> mips64-poky-linux-gnu32
>> for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --> mips64-pokymllib64-linux
>> in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
>> this is ugly, but seems no better way to cover all kinds of configuration.
>>
>> single lib configuration:
>> MACHINE="qemumips64"
>> DEFAULTTUNE = "mips64-n32"
> This seems to be causing:
>
> ln: failed to create symbolic link 'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits': No such file or directory
> WARNING: exit code 1 from a shell command.
> ERROR: Function failed: do_install (log file is located at work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)
>
> There is only empty directory without the -gnueabi suffix:
> work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/
>
> and
>
> work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
> bits  ext

Could you send your configuration like this? Thanks.

MACHINE="qemumips64"
MULTILIBS = 'multilib:lib64 multilib:lib32'
DEFAULTTUNE = 'mips64-n32'
DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
require conf/multilib.conf

>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ---
>>   meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +++++++++++++++++------------
>>   1 file changed, 17 insertions(+), 12 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
>> index 3d03d8e..ba767e1 100644
>> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
>> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
>> @@ -86,10 +86,6 @@ do_install () {
>>   	if [ -d ${D}${infodir} ]; then
>>   		rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
>>   	fi
>> -	if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> -		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
>> -	fi
>> -
>>   }
>>   
>>   do_install_append_class-target () {
>> @@ -98,20 +94,29 @@ do_install_append_class-target () {
>>   	fi
>>   
>>   	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
>> +		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> +			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
>> +		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
>> +			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>> +			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
>> +	elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
>> +		if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> +			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
>> +		elif [ "${MULTILIB_VARIANTS}" != "" ]; then
>> +			mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>> +			ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
>>   		else
>>   			ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>>   		fi
>> +	elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>> +		mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
>> +		ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
>> +		ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
>>   	fi
>>   
>>   	if [ "${TCLIBC}" != "glibc" ]; then
>> -- 
>> 2.7.4
>>
>> -- 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
BRs

Sandy(Li Changqing)



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-06-21  9:08           ` [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune Changqing Li
@ 2019-06-21 10:21             ` Martin Jansa
  2019-06-24  1:01               ` Changqing Li
  0 siblings, 1 reply; 16+ messages in thread
From: Martin Jansa @ 2019-06-21 10:21 UTC (permalink / raw)
  To: Changqing Li; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 7624 bytes --]

Hi,

see the fix here:
http://lists.openembedded.org/pipermail/openembedded-core/2019-June/283928.html

I think it doesn't need additional explanation.

Any aarch64/arm multilib configuration should trigger this (or anything
where TARGET_OS isn't just "linux").

Regards,

On Fri, Jun 21, 2019 at 11:08 AM Changqing Li <changqing.li@windriver.com>
wrote:

>
> On 6/21/19 4:32 PM, Martin Jansa wrote:
> > On Tue, Jun 18, 2019 at 03:46:56PM +0800, changqing.li@windriver.com
> wrote:
> >> From: Changqing Li <changqing.li@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 1:
> >> 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
> >>
> >> multilib configuration 2:
> >> MACHINE="qemumips64"
> >> MULTILIBS = 'multilib:lib64 multilib:lib32'
> >> DEFAULTTUNE = 'mips64-n32'
> >> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
> >> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
> >> require conf/multilib.conf
> >>
> >> For this configuration:
> >> for target gcc-runtime, need to create symlink like mips64-poly-linux
> --> mips64-poky-linux-gnu32
> >> for target lib64-gcc-runtime, need to create symlink like
> mips64-poly-linux/32 --> mips64-pokymllib64-linux
> >> in order to avoid conflict during populate_sdk, create symlink for
> subfoler bits/ext for target gcc-runtime,
> >> this is ugly, but seems no better way to cover all kinds of
> configuration.
> >>
> >> single lib configuration:
> >> MACHINE="qemumips64"
> >> DEFAULTTUNE = "mips64-n32"
> > This seems to be causing:
> >
> > ln: failed to create symbolic link
> 'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits':
> No such file or directory
> > WARNING: exit code 1 from a shell command.
> > ERROR: Function failed: do_install (log file is located at
> work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)
> >
> > There is only empty directory without the -gnueabi suffix:
> >
> work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/
> >
> > and
> >
> >
> work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
> > bits  ext
>
> Could you send your configuration like this? Thanks.
>
> MACHINE="qemumips64"
> MULTILIBS = 'multilib:lib64 multilib:lib32'
> DEFAULTTUNE = 'mips64-n32'
> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
> require conf/multilib.conf
>
> >> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> >> ---
> >>   meta/recipes-devtools/gcc/gcc-runtime.inc | 29
> +++++++++++++++++------------
> >>   1 file changed, 17 insertions(+), 12 deletions(-)
> >>
> >> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc
> b/meta/recipes-devtools/gcc/gcc-runtime.inc
> >> index 3d03d8e..ba767e1 100644
> >> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> >> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> >> @@ -86,10 +86,6 @@ do_install () {
> >>      if [ -d ${D}${infodir} ]; then
> >>              rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
> >>      fi
> >> -    if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
> "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> >> -            ln -s ${TARGET_SYS}
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
> >> -    fi
> >> -
> >>   }
> >>
> >>   do_install_append_class-target () {
> >> @@ -98,20 +94,29 @@ do_install_append_class-target () {
> >>      fi
> >>
> >>      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
> >> +            if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
> "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> >> +                    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
> >> +            elif [ "${MULTILIB_VARIANTS}" != "" ]; then
> >> +                    mkdir
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> >> +                    ln -s ../${TARGET_SYS}
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
> >> +    elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
> >> +            if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
> "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> >> +                    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
> >> +            elif [ "${MULTILIB_VARIANTS}" != "" ]; then
> >> +                    mkdir
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> >> +                    ln -s ../${TARGET_SYS}
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
> >>              else
> >>                      ln -s ${TARGET_SYS}
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
> >>              fi
> >> +    elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
> "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
> >> +            mkdir
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
> >> +            ln -s ../${TARGET_SYS}/bits
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
> >> +            ln -s ../${TARGET_SYS}/ext
> ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
> >>      fi
> >>
> >>      if [ "${TCLIBC}" != "glibc" ]; then
> >> --
> >> 2.7.4
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
> --
> BRs
>
> Sandy(Li Changqing)
>
>

[-- Attachment #2: Type: text/html, Size: 10114 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune
  2019-06-21 10:21             ` Martin Jansa
@ 2019-06-24  1:01               ` Changqing Li
  0 siblings, 0 replies; 16+ messages in thread
From: Changqing Li @ 2019-06-24  1:01 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 8888 bytes --]


On 6/21/19 6:21 PM, Martin Jansa wrote:
> Hi,
>
> see the fix here:
> http://lists.openembedded.org/pipermail/openembedded-core/2019-June/283928.html
>
> I think it doesn't need additional explanation.
>
> Any aarch64/arm multilib configuration should trigger this (or 
> anything where TARGET_OS isn't just "linux").
Thanks.
>
> Regards,
>
> On Fri, Jun 21, 2019 at 11:08 AM Changqing Li 
> <changqing.li@windriver.com <mailto:changqing.li@windriver.com>> wrote:
>
>
>     On 6/21/19 4:32 PM, Martin Jansa wrote:
>     > On Tue, Jun 18, 2019 at 03:46:56PM +0800,
>     changqing.li@windriver.com <mailto:changqing.li@windriver.com> wrote:
>     >> From: Changqing Li <changqing.li@windriver.com
>     <mailto:changqing.li@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 1:
>     >> 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
>     >>
>     >> multilib configuration 2:
>     >> MACHINE="qemumips64"
>     >> MULTILIBS = 'multilib:lib64 multilib:lib32'
>     >> DEFAULTTUNE = 'mips64-n32'
>     >> DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>     >> DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>     >> require conf/multilib.conf
>     >>
>     >> For this configuration:
>     >> for target gcc-runtime, need to create symlink like
>     mips64-poly-linux --> mips64-poky-linux-gnu32
>     >> for target lib64-gcc-runtime, need to create symlink like
>     mips64-poly-linux/32 --> mips64-pokymllib64-linux
>     >> in order to avoid conflict during populate_sdk, create symlink
>     for subfoler bits/ext for target gcc-runtime,
>     >> this is ugly, but seems no better way to cover all kinds of
>     configuration.
>     >>
>     >> single lib configuration:
>     >> MACHINE="qemumips64"
>     >> DEFAULTTUNE = "mips64-n32"
>     > This seems to be causing:
>     >
>     > ln: failed to create symbolic link
>     'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits':
>     No such file or directory
>     > WARNING: exit code 1 from a shell command.
>     > ERROR: Function failed: do_install (log file is located at
>     work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)
>     >
>     > There is only empty directory without the -gnueabi suffix:
>     >
>     work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/
>     >
>     > and
>     >
>     >
>     work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
>     > bits  ext
>
>     Could you send your configuration like this? Thanks.
>
>     MACHINE="qemumips64"
>     MULTILIBS = 'multilib:lib64 multilib:lib32'
>     DEFAULTTUNE = 'mips64-n32'
>     DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
>     DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
>     require conf/multilib.conf
>
>     >> Signed-off-by: Changqing Li <changqing.li@windriver.com
>     <mailto:changqing.li@windriver.com>>
>     >> ---
>     >>   meta/recipes-devtools/gcc/gcc-runtime.inc | 29
>     +++++++++++++++++------------
>     >>   1 file changed, 17 insertions(+), 12 deletions(-)
>     >>
>     >> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc
>     b/meta/recipes-devtools/gcc/gcc-runtime.inc
>     >> index 3d03d8e..ba767e1 100644
>     >> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
>     >> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
>     >> @@ -86,10 +86,6 @@ do_install () {
>     >>      if [ -d ${D}${infodir} ]; then
>     >>              rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
>     >>      fi
>     >> -    if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
>     "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>     >> -            ln -s ${TARGET_SYS}
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
>     >> -    fi
>     >> -
>     >>   }
>     >>
>     >>   do_install_append_class-target () {
>     >> @@ -98,20 +94,29 @@ do_install_append_class-target () {
>     >>      fi
>     >>
>     >>      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
>     >> +            if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
>     "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>     >> +                    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
>     >> +            elif [ "${MULTILIB_VARIANTS}" != "" ]; then
>     >> +                    mkdir
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>     >> +                    ln -s ../${TARGET_SYS}
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-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
>     >> +    elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
>     >> +            if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
>     "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>     >> +                    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
>     >> +            elif [ "${MULTILIB_VARIANTS}" != "" ]; then
>     >> +                    mkdir
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>     >> +                    ln -s ../${TARGET_SYS}
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
>     >>              else
>     >>                      ln -s ${TARGET_SYS}
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
>     >>              fi
>     >> +    elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a
>     "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
>     >> +            mkdir
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
>     >> +            ln -s ../${TARGET_SYS}/bits
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
>     >> +            ln -s ../${TARGET_SYS}/ext
>     ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
>     >>      fi
>     >>
>     >>      if [ "${TCLIBC}" != "glibc" ]; then
>     >> --
>     >> 2.7.4
>     >>
>     >> --
>     >> _______________________________________________
>     >> Openembedded-core mailing list
>     >> Openembedded-core@lists.openembedded.org
>     <mailto:Openembedded-core@lists.openembedded.org>
>     >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>     -- 
>     BRs
>
>     Sandy(Li Changqing)
>
-- 
BRs

Sandy(Li Changqing)


[-- Attachment #2: Type: text/html, Size: 12680 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-06-24  1:02 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-30  8:02 [PATCH] gcc-runtime: fix C++ header mapping for n32/x32 tune changqing.li
2019-01-30  8:28 ` Changqing Li
2019-01-30 16:51 ` Khem Raj
2019-01-30 21:56 ` Richard Purdie
2019-02-12  5:10   ` [PATCH V2] " changqing.li
2019-02-14 11:19     ` Richard Purdie
2019-02-19  7:05       ` Changqing Li
2019-04-28  8:34         ` Changqing Li
2019-06-18  7:46       ` [PATCH V3] " changqing.li
2019-06-18 15:59         ` Khem Raj
2019-06-19  2:05           ` Changqing Li
2019-06-21  8:32         ` Martin Jansa
2019-06-21  9:02           ` [PATCH] gcc-runtime.inc: create the correct directory before creating the symlinks in it Martin Jansa
2019-06-21  9:08           ` [PATCH V3] gcc-runtime: fix C++ header mapping for n32/x32 tune Changqing Li
2019-06-21 10:21             ` Martin Jansa
2019-06-24  1:01               ` Changqing Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.