The Internal Compiler Error that the comment mentions [1] was fixed in
Rust 1.87.0 [2]. And, for other workarounds, we plan on limiting where
we apply them [3].

Thus limit the ICE one too.

This will help to make sure the workaround is not needed anymore on
newer versions.

Link: https://github.com/rust-lang/rust/issues/138520 [1]
Link: https://github.com/rust-lang/rust/pull/138556 [2]
Link: 
https://lore.kernel.org/rust-for-linux/[email protected]/
 [3]
Signed-off-by: Miguel Ojeda <[email protected]>
---
 rust/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/rust/Makefile b/rust/Makefile
index 708530ee3613..163d2258e93f 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -145,10 +145,12 @@ doctests_modifiers_workaround := 
$(rustdoc_modifiers_workaround)$(if $(call rust
 # `rustdoc` ICEs on out-of-tree builds in Rust < 1.87.0
 # (https://github.com/rust-lang/rust/issues/138520). Thus workaround the
 # issue skipping the flag.
+rustdoc_remap_workaround := $(if $(call 
rustc-min-version,108700),,--remap-path-prefix=%)
+
 quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $<
       cmd_rustdoc = \
        OBJTREE=$(abspath $(objtree)) \
-       $(RUSTDOC) $(filter-out $(skip_flags) --remap-path-prefix=%,$(if 
$(rustdoc_host),$(rust_common_flags),$(rust_flags))) \
+       $(RUSTDOC) $(filter-out $(skip_flags) $(rustdoc_remap_workaround),$(if 
$(rustdoc_host),$(rust_common_flags),$(rust_flags))) \
                $(rustc_target_flags) -L$(objtree)/$(obj) \
                -Zunstable-options --generate-link-to-definition \
                --output $(rustdoc_output) \
-- 
2.53.0


Reply via email to