kbuild: rust: remove unneeded `@rustc_cfg` to avoid ICE
commit50cfe93b01
upstream. When KUnit tests are enabled, under very big kernel configurations (e.g. `allyesconfig`), we can trigger a `rustdoc` ICE [1]: RUSTDOC TK rust/kernel/lib.rs error: the compiler unexpectedly panicked. this is a bug. The reason is that this build step has a duplicated `@rustc_cfg` argument, which contains the kernel configuration, and thus a lot of arguments. The factor 2 happens to be enough to reach the ICE. Thus remove the unneeded `@rustc_cfg`. By doing so, we clean up the command and workaround the ICE. The ICE has been fixed in the upcoming Rust 1.79 [2]. Cc: stable@vger.kernel.org Fixes:a66d733da8
("rust: support running Rust documentation tests as KUnit ones") Link: https://github.com/rust-lang/rust/issues/122722 [1] Link: https://github.com/rust-lang/rust/pull/122840 [2] Reviewed-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20240422091215.526688-1-ojeda@kernel.org Signed-off-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3a93374596
commit
2eed4381ee
|
@ -173,7 +173,6 @@ quiet_cmd_rustdoc_test_kernel = RUSTDOC TK $<
|
||||||
mkdir -p $(objtree)/$(obj)/test/doctests/kernel; \
|
mkdir -p $(objtree)/$(obj)/test/doctests/kernel; \
|
||||||
OBJTREE=$(abspath $(objtree)) \
|
OBJTREE=$(abspath $(objtree)) \
|
||||||
$(RUSTDOC) --test $(rust_flags) \
|
$(RUSTDOC) --test $(rust_flags) \
|
||||||
@$(objtree)/include/generated/rustc_cfg \
|
|
||||||
-L$(objtree)/$(obj) --extern alloc --extern kernel \
|
-L$(objtree)/$(obj) --extern alloc --extern kernel \
|
||||||
--extern build_error --extern macros \
|
--extern build_error --extern macros \
|
||||||
--extern bindings --extern uapi \
|
--extern bindings --extern uapi \
|
||||||
|
|
Loading…
Reference in New Issue