From: Sunil Dora <[email protected]> The reproducible selftest fails for rust on the arm workers ([YOCTO #16376]). This series fixes that.
Changes in v2: - Alejandro's Signed-off-by added on the two commits based on his patches, as he asked on the v1 thread. - The cc patch's Upstream-Status is now Backport: the OUT_DIR half was merged in cc-rs after the v1 posting. - The hygiene patch note updated: rust-lang/rust PR 161450 was merged meanwhile, so the sort carries until a rust upgrade contains it. No code changes; the patch content is what the autobuilder tested. rust: drop the cc object-name reproducibility patch rust: hash cc object names relative to their source roots The patch we carried trimmed the build path by matching the string "rustc", and the shared-source rework broke that for one of the two sets of sources cc compiles. The replacement strips the roots the sources actually come from. The OUT_DIR part is merged upstream as https://github.com/rust-lang/cc-rs/commit/fe27e7b62629daddccf1bdc9e9a447a37de2cd06 The RUST_COMPILER_RT_ROOT part is specific to rust's own build system, so it is not part of the upstream change. rust: keep the build host triple out of cargo unit metadata From Alejandro Enedino Hernandez Samaniego's strict-version-hash series, carried with his sign-off: https://lists.openembedded.org/g/openembedded-core/topic/120939810 cargo mixes the "host:" line of "rustc -vV" into build script and proc-macro metadata, and target crates inherit it. Upstream report: https://github.com/rust-lang/cargo/issues/8140 rust: backport deterministic DocLinkResMap serialisation Upstream commit f9d9939 by jprochazk and mejrs. It is in rust 1.99, so this drops out at the next rust upgrade. rust: sort hygiene data before it is encoded Also from Alejandro's series. Upstream has fixed the same problem with a different approach in https://github.com/rust-lang/rust/pull/161450, merged after 1.99 branched, so the sort carries until a rust upgrade contains it. Alejandro's StableCrateId patch is not included: the value it pins is already host-independent in our builds, and it broke three rust test suite cases when the autobuilder tested it. Tested on the autobuilder: the x86 reproducible builder green with zero differing packages, the rust test suite green, and on both arm builders rust, rust-dbg, rust-rustdoc and libstd-rs-dev gone from the failing list. Sunil Dora (5): rust: drop the cc object-name reproducibility patch rust: hash cc object names relative to their source roots rust: keep the build host triple out of cargo unit metadata rust: backport deterministic DocLinkResMap serialisation rust: sort hygiene data before it is encoded ...-host-triple-from-unit-metadata-hash.patch | 62 +++++++++ ...oc-link-metadata-order-deterministic.patch | 40 ++++++ ...hygiene-encoding-order-deterministic.patch | 59 +++++++++ ...ject-names-relative-to-source-roots.patch} | 118 +++++++++--------- meta/recipes-devtools/rust/rust-source.inc | 5 +- 5 files changed, 227 insertions(+), 57 deletions(-) create mode 100644 meta/recipes-devtools/rust/files/0007-cargo-omit-host-triple-from-unit-metadata-hash.patch create mode 100644 meta/recipes-devtools/rust/files/0008-rustc-hir-make-doc-link-metadata-order-deterministic.patch create mode 100644 meta/recipes-devtools/rust/files/0009-rustc-span-make-hygiene-encoding-order-deterministic.patch rename meta/recipes-devtools/rust/files/{repro-issue-fix-with-cc-crate-hashmap.patch => cc-hash-object-names-relative-to-source-roots.patch} (68%) -- 2.43.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#245981): https://lists.openembedded.org/g/openembedded-core/message/245981 Mute This Topic: https://lists.openembedded.org/mt/121280453/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
