$(rustc_target_flags) -L$(objtree)/$(obj) \
                --output $(rustdoc_output) \
                --crate-name $(subst rustdoc-,,$@) \
+               $(if $(rustdoc_host),,--sysroot=/dev/null) \
                @$(objtree)/include/generated/rustc_cfg $<
 
 # The `html_logo_url` and `html_favicon_url` forms of the `doc` attribute
                --extern build_error --extern macros \
                --extern bindings --extern uapi \
                --no-run --crate-name kernel -Zunstable-options \
+               --sysroot=/dev/null \
                --test-builder $(objtree)/scripts/rustdoc_test_builder \
                $< $(rustdoc_test_kernel_quiet); \
        $(objtree)/scripts/rustdoc_test_gen
                --emit=metadata=$(dir $@)$(patsubst %.o,lib%.rmeta,$(notdir $@)) \
                --crate-type rlib -L$(objtree)/$(obj) \
                --crate-name $(patsubst %.o,%,$(notdir $@)) $< \
+               --sysroot=/dev/null \
        $(if $(rustc_objcopy),;$(OBJCOPY) $(rustc_objcopy) $@)
 
 rust-analyzer:
 
        --extern alloc --extern kernel \
        --crate-type rlib -L $(objtree)/rust/ \
        --crate-name $(basename $(notdir $@)) \
+       --sysroot=/dev/null \
        --out-dir $(dir $@) --emit=dep-info=$(depfile)
 
 # `--emit=obj`, `--emit=asm` and `--emit=llvm-ir` imply a single codegen unit