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