From: Richard Purdie Date: Sat, 21 May 2022 09:00:50 +0000 (+0100) Subject: rust-common: Fix sstate signatures between arm hf and non-hf X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~4052 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38b61aeaf877f6a34c3c0060c175119975ebd782;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git rust-common: Fix sstate signatures between arm hf and non-hf Building with MACHINE=qemuarm and MACHINE=qemux86-64 causes rust-native to rebuild. The reason is all the ingredients into the RUST_*_SYS variables are being tracked but that doesn't really make sense in this case: $ bitbake-diffsigs tmp/stamps/x86_64-linux/rust-native/1.60.0-r0.do_rust_gen_targets.sigdata.63* tmp/stamps/x86_64-linux/rust-native/1.60.0-r0.do_rust_gen_targets.sigdata.34* NOTE: Starting bitbake server... basehash changed from 860b8f11b10182dc5b2737f62cdb697477f714adb63eeb4d4b932d67cac8eec2 to 9379e8b9df9696e8056fec7d1534661f34dda073f6d816e241b09a2dff76ae2d Variable rust_base_triple value changed: @@ -36,4 +36,4 @@ # In some cases uname and the toolchain differ on their idea of the arch name -TUNE_FEATURES{callconvention-hard} = Set +TUNE_FEATURES{callconvention-hard} = Unset Switch to using the final variable value for sstate signature purposes which avoids this issue. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass index 02a538258af..cb811ac5da7 100644 --- a/meta/classes/rust-common.bbclass +++ b/meta/classes/rust-common.bbclass @@ -117,8 +117,11 @@ RUST_BUILD_ARCH = "${@oe.rust.arch_to_rust_arch(d.getVar('BUILD_ARCH'))}" # its likely best to not use the triple suffix due to potential confusion. RUST_BUILD_SYS = "${@rust_base_triple(d, 'BUILD')}" +RUST_BUILD_SYS[vardepvalue] = "${RUST_BUILD_SYS}" RUST_HOST_SYS = "${@rust_base_triple(d, 'HOST')}" +RUST_HOST_SYS[vardepvalue] = "${RUST_HOST_SYS}" RUST_TARGET_SYS = "${@rust_base_triple(d, 'TARGET')}" +RUST_TARGET_SYS[vardepvalue] = "${RUST_TARGET_SYS}" # wrappers to get around the fact that Rust needs a single # binary but Yocto's compiler and linker commands have