Commit 5daa0c35 authored by Matthew Maurer's avatar Matthew Maurer Committed by Miguel Ojeda
Browse files

rust: Disallow BTF generation with Rust + LTO



The kernel cannot currently self-parse BTF containing Rust debug
information. pahole uses the language of the CU to determine whether to
filter out debug information when generating the BTF. When LTO is
enabled, Rust code can cross CU boundaries, resulting in Rust debug
information in CUs labeled as C. This results in a system which cannot
parse its own BTF.

Signed-off-by: default avatarMatthew Maurer <mmaurer@google.com>
Cc: stable@vger.kernel.org
Fixes: c1177979 ("btf, scripts: Exclude Rust CUs with pahole")
Link: https://lore.kernel.org/r/20250108-rust-btf-lto-incompat-v1-1-60243ff6d820@google.com


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 6fbafe1c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1973,7 +1973,7 @@ config RUST
	depends on !MODVERSIONS || GENDWARFKSYMS
	depends on !GCC_PLUGIN_RANDSTRUCT
	depends on !RANDSTRUCT
	depends on !DEBUG_INFO_BTF || PAHOLE_HAS_LANG_EXCLUDE
	depends on !DEBUG_INFO_BTF || (PAHOLE_HAS_LANG_EXCLUDE && !LTO)
	depends on !CFI_CLANG || HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
	select CFI_ICALL_NORMALIZE_INTEGERS if CFI_CLANG
	depends on !CALL_PADDING || RUSTC_VERSION >= 108100