mirror of
https://git.yoctoproject.org/poky
synced 2026-04-29 00:32:14 +02:00
rust: rustdoc reproducibility issue fix
The 'codegen-units' option split the crate into multiple compilation units for parallel compilation. Currently, this split is causing the rustdoc to generate differnt binary between the builds. To fix this the codegen-units & the lto options are disabled. More info about options: https://doc.rust-lang.org/cargo/reference/profiles.html#codegen-units https://doc.rust-lang.org/rustc/codegen-options/index.html#lto (From OE-Core rev: 0c00875de10b171f4ff2990af351a8124ec7e972) Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7c1de3118f
commit
e2e7017350
@@ -16,8 +16,6 @@ import os
|
||||
import datetime
|
||||
|
||||
exclude_packages = [
|
||||
'rust-rustdoc',
|
||||
'rust-dbg'
|
||||
]
|
||||
|
||||
def is_excluded(package):
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
rust: rustdoc reproducibility issue fix
|
||||
|
||||
rust: rustdoc reproducibility issue fix
|
||||
|
||||
The 'codegen-units' option split the crate into multiple compilation units for parallel compilation. Currently, this split is causing the rustdoc to generate differnt binary between the builds.
|
||||
To fix this the codegen-units & the lto options are disabled.
|
||||
|
||||
More info about options:
|
||||
https://doc.rust-lang.org/cargo/reference/profiles.html#codegen-units
|
||||
https://doc.rust-lang.org/rustc/codegen-options/index.html#lto
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
|
||||
---
|
||||
--- a/.cargo/config.toml
|
||||
+++ b/.cargo/config.toml
|
||||
@@ -3,3 +3,7 @@
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "vendor"
|
||||
+
|
||||
+[profile.release]
|
||||
+codegen-units = 1
|
||||
+
|
||||
|
||||
@@ -13,6 +13,7 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n
|
||||
file://0001-Handle-vendored-sources-when-remapping-paths.patch;patchdir=${RUSTSRC} \
|
||||
file://repro-issue-fix-with-v175.patch;patchdir=${RUSTSRC} \
|
||||
file://0001-cargo-do-not-write-host-information-into-compilation.patch;patchdir=${RUSTSRC} \
|
||||
file://rustdoc-repro-issue-fix-cargo-config-for-codegenunits.patch;patchdir=${RUSTSRC} \
|
||||
"
|
||||
SRC_URI[rust.sha256sum] = "4526f786d673e4859ff2afa0bab2ba13c918b796519a25c1acce06dba9542340"
|
||||
|
||||
|
||||
@@ -136,6 +136,7 @@ python do_configure() {
|
||||
config.add_section("rust")
|
||||
config.set("rust", "rpath", e(True))
|
||||
config.set("rust", "remap-debuginfo", e(True))
|
||||
config.set("rust", "lto", "\"off\"")
|
||||
config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
|
||||
|
||||
# Whether or not to optimize the compiler and standard library
|
||||
|
||||
Reference in New Issue
Block a user