]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rust: kbuild: emit dep-info into $(depfile) directly
authorGary Guo <gary@garyguo.net>
Tue, 24 Feb 2026 07:29:56 +0000 (15:29 +0800)
committerMiguel Ojeda <ojeda@kernel.org>
Fri, 6 Mar 2026 00:43:03 +0000 (01:43 +0100)
After commit 295d8398c67e ("kbuild: specify output names separately for
each emission type from rustc"), the preferred pattern is to ask rustc to
emit dependency 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-info 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.

[ Like Gary mentioned in Zulip, this likely happened due to rebasing
  the builds part of the old `syn` work I had. - Miguel ]

Reported-by: Onur Özkan <work@onurozkan.dev>
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@garyguo.net>
Tested-by: Onur Özkan <work@onurozkan.dev>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260224072957.214979-1-gary@garyguo.net
[ Reworded for a couple of typos. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/Makefile

index 629b3bdd2b20620ce75f9bfe4e4dbd586d1304b8..1500993d7ecc6fde8a1bcb93ff43fc7232d5c026 100644 (file)
@@ -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)