* [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.