Re: [PATCH] rust: kbuild: emit dep-info into $(depfile) directly
From: Onur Özkan
Date: Tue Feb 24 2026 - 02:44:03 EST
On Tue, 24 Feb 2026 15:29:56 +0800
Gary Guo <gary@xxxxxxxxxxx> wrote:
> After commit 295d8398c67e ("kbuild: specify output names separately
> for each emission type from rustc"), the preferred pattern is to ask
> rustc to emit depedency information into $(depfile) directly, and
> after commit 2185242faddd ("kbuild: remove sed commands after rustc
> rules"), the post-processing to remove comments is no longer
> necessary as fixdep can handle comments directly. Thus, emit dep-ifno
> into $(depfile) directly and remove the mv and sed invocation.
>
> This fixes the issue where a non-ignored .d file is emitted during
> compilation and removed shortly afterwards.
>
> Reported-by: Onur Özkan <work@xxxxxxxxxxxxx>
> Closes:
> https://rust-for-linux.zulipchat.com/#narrow/channel/288089-General/topic/syn.20artifact.20being.20tracked.20by.20git/with/575467879
> Fixes: 7dbe46c0b11d ("rust: kbuild: add proc macro library support")
> Signed-off-by: Gary Guo <gary@xxxxxxxxxxx> ---
> rust/Makefile | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/rust/Makefile b/rust/Makefile
> index 629b3bdd2b20..1500993d7ecc 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -526,11 +526,9 @@ quiet_cmd_rustc_procmacrolibrary =
> $(RUSTC_OR_CLIPPY_QUIET) PL $@ cmd_rustc_procmacrolibrary = \
> $(if $(skip_clippy),$(RUSTC),$(RUSTC_OR_CLIPPY)) \
> $(filter-out $(skip_flags),$(rust_common_flags)
> $(rustc_target_flags)) \
> - --emit=dep-info,link --crate-type rlib -O \
> + --emit=dep-info=$(depfile) --emit=link=$@
> --crate-type rlib -O \ --out-dir $(objtree)/$(obj)
> -L$(objtree)/$(obj) \
> - --crate-name $(patsubst lib%.rlib,%,$(notdir $@))
> $<; \
> - mv $(objtree)/$(obj)/$(patsubst lib%.rlib,%,$(notdir $@)).d
> $(depfile); \
> - sed -i '/^\#/d' $(depfile)
> + --crate-name $(patsubst lib%.rlib,%,$(notdir $@)) $<
>
> $(obj)/libproc_macro2.rlib: private skip_clippy = 1
> $(obj)/libproc_macro2.rlib: private rustc_target_flags =
> $(proc_macro2-flags)
Tested-by: Onur Özkan <work@xxxxxxxxxxxxx>