mirror of
https://git.yoctoproject.org/poky
synced 2026-02-11 19:23:03 +01:00
The original reproducibility fix was problematic for a couple reasons: - disabling both lto and parallel builds had an unfortunate effect of nearly doubling rust-native and rust build times (which are slow to begin with). Disabling lto hurts runtime performance too. - both of these things were done for the *entire build*, while the only problematic item is the librustdoc crate. - lto=off option in config.toml has an effect only on building rustc (the compiler itself), and doesn't help with rustdoc reproducibility. Actual fix is the codegen-units setting, which indirectly disables lto via giving llvm only one unit to work with at a time. After some digging, here's a more targeted fix for the problem. Why librustdoc is non-reproducible, but not anything else remains a mystery, hidden deep in rust-llvm's lto optimization code. (From OE-Core rev: a1977407a88a2004c3a6d2dba1d5bfe1aa1664b2) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
21 lines
1.1 KiB
PHP
21 lines
1.1 KiB
PHP
RUST_VERSION ?= "${@d.getVar('PV').split('-')[0]}"
|
|
|
|
SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;name=rust \
|
|
file://zlib-off64_t.patch;patchdir=${RUSTSRC} \
|
|
file://rv32-rustix-libc-backend.patch;patchdir=${RUSTSRC} \
|
|
file://rv32-cargo-rustix-0.38.28-fix.patch;patchdir=${RUSTSRC} \
|
|
file://rust-oe-selftest.patch;patchdir=${RUSTSRC} \
|
|
file://repro-issue-fix-with-cc-crate-hashmap.patch;patchdir=${RUSTSRC} \
|
|
file://oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch;patchdir=${RUSTSRC} \
|
|
file://0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch;patchdir=${RUSTSRC} \
|
|
"
|
|
SRC_URI[rust.sha256sum] = "36217ef7e32f40a180e3d79bd666b4dfdaed49dd381023a5fb765fd12d0092ce"
|
|
|
|
RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src"
|
|
|
|
UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html"
|
|
UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src"
|
|
|
|
CVE_STATUS[CVE-2024-24576] = "not-applicable-platform: Issue only applies on Windows"
|
|
CVE_STATUS[CVE-2024-43402] = "not-applicable-platform: Issue only applies on Windows"
|