summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSundeep KOKKONDA <sundeep.kokkonda@windriver.com>2023-12-20 02:40:20 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-12-21 10:38:30 +0000
commit321aebfa281bd28e368c684ece57867f6bd0cbe7 (patch)
treeecfc99fccb5c22b2c8454c901c43041ebd156edc
parent92fd81b7dee511c89163165e93c78015b6d6a6e2 (diff)
downloadpoky-321aebfa281bd28e368c684ece57867f6bd0cbe7.tar.gz
rust: rustdoc reproducibility issue fix - disable PGO
The PGO (Profile-guided Optimization) collect data about the typical execution of a program and then use this data to inform optimizations such as inlining, machine-code layout, register allocation, etc. This optimization is by default disabled in rust sources but enabled in Yocto and causing the reproducibility issue in rustdoc binary. To fix the issue this optimization is set to it's default 'false'. More about the optimization: https://doc.rust-lang.org/rustc/profile-guided-optimization.html With the reproducibility issue fixed, we can enable the reproducibility tests again. (From OE-Core rev: 189c266378c8c4a918cb205b3888577c7ce76856) Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/selftest/cases/reproducible.py2
-rw-r--r--meta/recipes-devtools/rust/rust_1.71.1.bb3
2 files changed, 2 insertions, 3 deletions
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index 14ccb0b24d..80e830136f 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -16,8 +16,6 @@ import os
16import datetime 16import datetime
17 17
18exclude_packages = [ 18exclude_packages = [
19 'rust-rustdoc',
20 'rust-dbg'
21 ] 19 ]
22 20
23def is_excluded(package): 21def is_excluded(package):
diff --git a/meta/recipes-devtools/rust/rust_1.71.1.bb b/meta/recipes-devtools/rust/rust_1.71.1.bb
index 3d176e54c1..bc076997de 100644
--- a/meta/recipes-devtools/rust/rust_1.71.1.bb
+++ b/meta/recipes-devtools/rust/rust_1.71.1.bb
@@ -141,13 +141,14 @@ python do_configure() {
141 config.add_section("build") 141 config.add_section("build")
142 config.set("build", "submodules", e(False)) 142 config.set("build", "submodules", e(False))
143 config.set("build", "docs", e(False)) 143 config.set("build", "docs", e(False))
144 config.set("build", "tools", ["rust-demangler",])
144 145
145 rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc") 146 rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
146 config.set("build", "rustc", e(rustc)) 147 config.set("build", "rustc", e(rustc))
147 148
148 # Support for the profiler runtime to generate e.g. coverage report, 149 # Support for the profiler runtime to generate e.g. coverage report,
149 # PGO etc. 150 # PGO etc.
150 config.set("build", "profiler", e(True)) 151 config.set("build", "profiler", e(False))
151 152
152 cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo") 153 cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
153 config.set("build", "cargo", e(cargo)) 154 config.set("build", "cargo", e(cargo))