| Message ID | 20251023161522.994070-1-Deepesh.Varatharajan@windriver.com |
|---|---|
| State | New |
| Headers | show |
| Series | rust-target-config: Set elfv2 ABI for powerpc64 when using ppc64p9le tune | expand |
On Thu Oct 23, 2025 at 6:15 PM CEST, Deepesh via lists.openembedded.org Varatharajan wrote: > From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> > > For the powerpc64 machine with ppc64p9le tune, the supported ABI is elfv2 > but the default elfv1 ABI is used and this causes link-time errors such as: > > ABI version 1 is not compatible with ABI version 2 output > > To resolve this, the powerpc64 machine with ppc64p9le tune is updated > with elfv2 ABI otherwise, default to elfv1 ABI. This change ensures > consistent ABI behavior across LLVM and Rust builds. > > Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> > --- Hi Deepesh, It looks like this is making the sstatetests.SStateHashSameSigs2.test_sstate_nativesdk_samesigs_multilib test fail: 2025-10-26 08:51:57,797 - oe-selftest - INFO - sstatetests.SStateHashSameSigs2.test_sstate_nativesdk_samesigs_multilib (subunit.RemotedTestCase) 2025-10-26 08:51:57,797 - oe-selftest - INFO - ... FAIL ... AssertionError: {'nat[45104 chars]o/do_fetch': 'bdd296fda030801a2ec723f040ed3f24[267479 chars]6d3'} != {'nat[45104 chars]o/do_install': 'ef30ed01cb16a4f54ae283891c27ba[267479 chars]6d3'} - {'adwaita-icon-theme/do_collect_spdx_deps': 'e9c8aa9cb0da1323bf4df9c657378e80fea1073a8965b8a3a93d343cb1682b32', - 'adwaita-icon-theme/do_compile': 'c77f720ad728595247f0191ce3f416d1bbb29452cb6ddd29abcf4ef5b7d5675c', - 'adwaita-icon-theme/do_configure': 'c42cce9d1f3dfc4af7d4ee6896de1148dea92979785fc33826d877747b2d07e5', - 'adwaita-icon-theme/do_create_package_spdx': '701aeb10f9e4da9c6d1ab2c1d97d2b43c621b5cbd5b90c89cfc4f49123ed28fb', - 'adwaita-icon-theme/do_create_spdx': 'c7b48fa5ee7aa7e2183567d8eecf53bd1ef32266d89c55b05a75f1e2e91a0f54', + {'adwaita-icon-theme/do_collect_spdx_deps': '26bf70dce8eafe543e4577a0a25ce6c70f70a8c43413115a7e428c2fd00e2242', + 'adwaita-icon-theme/do_compile': 'b83691bddde426f52318e31a2fab6e17807abeceb5ccc7441f1008f6c77e5291', + 'adwaita-icon-theme/do_configure': '6e38f74c8d0a14e3229cdf96058639c1f9269bf34e035c83874a0713256b6dd9', + 'adwaita-icon-theme/do_create_package_spdx': '57a8b2eee13c7e4df83c7c88cfb2f0acd479f072c11a082a14acc5345fcf8228', + 'adwaita-icon-theme/do_create_spdx': '72ee25314fee38c71794368ce1030dc9ce103a5e10ca09c3412066effad6e684', ... https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2744 https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2596 https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2506 Can you have look at these errors? Thanks, Mathieu
On 26-10-2025 18:53, Mathieu Dubois-Briand wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Thu Oct 23, 2025 at 6:15 PM CEST, Deepesh via lists.openembedded.org Varatharajan wrote: >> From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> >> >> For the powerpc64 machine with ppc64p9le tune, the supported ABI is elfv2 >> but the default elfv1 ABI is used and this causes link-time errors such as: >> >> ABI version 1 is not compatible with ABI version 2 output >> >> To resolve this, the powerpc64 machine with ppc64p9le tune is updated >> with elfv2 ABI otherwise, default to elfv1 ABI. This change ensures >> consistent ABI behavior across LLVM and Rust builds. >> >> Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> >> --- > Hi Deepesh, > > It looks like this is making the > sstatetests.SStateHashSameSigs2.test_sstate_nativesdk_samesigs_multilib > test fail: > > 2025-10-26 08:51:57,797 - oe-selftest - INFO - sstatetests.SStateHashSameSigs2.test_sstate_nativesdk_samesigs_multilib (subunit.RemotedTestCase) > 2025-10-26 08:51:57,797 - oe-selftest - INFO - ... FAIL > ... > AssertionError: {'nat[45104 chars]o/do_fetch': 'bdd296fda030801a2ec723f040ed3f24[267479 chars]6d3'} != {'nat[45104 chars]o/do_install': 'ef30ed01cb16a4f54ae283891c27ba[267479 chars]6d3'} > - {'adwaita-icon-theme/do_collect_spdx_deps': 'e9c8aa9cb0da1323bf4df9c657378e80fea1073a8965b8a3a93d343cb1682b32', > - 'adwaita-icon-theme/do_compile': 'c77f720ad728595247f0191ce3f416d1bbb29452cb6ddd29abcf4ef5b7d5675c', > - 'adwaita-icon-theme/do_configure': 'c42cce9d1f3dfc4af7d4ee6896de1148dea92979785fc33826d877747b2d07e5', > - 'adwaita-icon-theme/do_create_package_spdx': '701aeb10f9e4da9c6d1ab2c1d97d2b43c621b5cbd5b90c89cfc4f49123ed28fb', > - 'adwaita-icon-theme/do_create_spdx': 'c7b48fa5ee7aa7e2183567d8eecf53bd1ef32266d89c55b05a75f1e2e91a0f54', > + {'adwaita-icon-theme/do_collect_spdx_deps': '26bf70dce8eafe543e4577a0a25ce6c70f70a8c43413115a7e428c2fd00e2242', > + 'adwaita-icon-theme/do_compile': 'b83691bddde426f52318e31a2fab6e17807abeceb5ccc7441f1008f6c77e5291', > + 'adwaita-icon-theme/do_configure': '6e38f74c8d0a14e3229cdf96058639c1f9269bf34e035c83874a0713256b6dd9', > + 'adwaita-icon-theme/do_create_package_spdx': '57a8b2eee13c7e4df83c7c88cfb2f0acd479f072c11a082a14acc5345fcf8228', > + 'adwaita-icon-theme/do_create_spdx': '72ee25314fee38c71794368ce1030dc9ce103a5e10ca09c3412066effad6e684', > > ... > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2744 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2596 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2506 > > Can you have look at these errors? > > Thanks, > Mathieu The issue was addresed in V2. Regards, Deepesh > -- > Mathieu Dubois-Briand, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass index 0c7e3c0090..c462478dae 100644 --- a/meta/classes-recipe/rust-target-config.bbclass +++ b/meta/classes-recipe/rust-target-config.bbclass @@ -406,7 +406,11 @@ def rust_gen_target(d, thing, wd, arch): if "powerpc64le" in tspec['llvm-target']: tspec['llvm-abiname'] = "elfv2" if "powerpc64" in tspec['llvm-target']: - tspec['llvm-abiname'] = "elfv1" + defaulttune = d.getVar('DEFAULTTUNE') or '' + if 'ppc64p9le' in defaulttune: + tspec['llvm-abiname'] = "elfv2" + else: + tspec['llvm-abiname'] = "elfv1" tspec['vendor'] = "unknown" tspec['target-family'] = "unix" tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)