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>
This commit is contained in:
Sundeep KOKKONDA
2023-12-20 02:40:20 -08:00
committed by Richard Purdie
parent 92fd81b7de
commit 321aebfa28
2 changed files with 2 additions and 3 deletions

View File

@@ -16,8 +16,6 @@ import os
import datetime
exclude_packages = [
'rust-rustdoc',
'rust-dbg'
]
def is_excluded(package):

View File

@@ -141,13 +141,14 @@ python do_configure() {
config.add_section("build")
config.set("build", "submodules", e(False))
config.set("build", "docs", e(False))
config.set("build", "tools", ["rust-demangler",])
rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
config.set("build", "rustc", e(rustc))
# Support for the profiler runtime to generate e.g. coverage report,
# PGO etc.
config.set("build", "profiler", e(True))
config.set("build", "profiler", e(False))
cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
config.set("build", "cargo", e(cargo))