From: Nathan Chancellor <nathan@kernel.org>
To: "Michal Suchánek" <msuchanek@suse.de>
Cc: "Josh Poimboeuf" <jpoimboe@kernel.org>,
linux-kbuild@vger.kernel.org, "Nicolas Schier" <nsc@kernel.org>,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Thomas Weißschuh" <linux@weissschuh.net>,
"Tamir Duberstein" <tamird@kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
linux-kernel@vger.kernel.org, "Jiri Slaby" <jslaby@suse.cz>
Subject: Re: [PATCH] kbuild: only clean objtool on mrproper
Date: Wed, 25 Feb 2026 14:21:05 -0700 [thread overview]
Message-ID: <20260225212105.GG2755225@ax162> (raw)
In-Reply-To: <aZ9aLWIAzsWfYNyf@kitsune.suse.cz>
On Wed, Feb 25, 2026 at 09:23:09PM +0100, Michal Suchánek wrote:
> On Wed, Feb 25, 2026 at 01:04:17PM -0700, Nathan Chancellor wrote:
> > Wouldn't resolve_btfids need the same treatment?
>
> No, make clean runs the clean target for resolve_btfids but the tool
> remains.
That does not reproduce for me personally:
$ cat kernel/configs/btf.config
CONFIG_BPF_SYSCALL=y
# CONFIG_DEBUG_INFO_NONE is not set
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
CONFIG_DEBUG_INFO_BTF=y
$ make -skj"$(nproc)" ARCH=x86_64 O=build mrproper defconfig btf.config prepare
$ ls -al build/tools/{bpf/resolve_btfids/resolve_btfids,objtool/objtool}
-rwxr-xr-x 1 nathan nathan 2224456 Feb 25 13:33 build/tools/bpf/resolve_btfids/resolve_btfids
-rwxr-xr-x 1 nathan nathan 4046296 Feb 25 13:33 build/tools/objtool/objtool
$ make -skj"$(nproc)" ARCH=x86_64 O=build clean
$ ls -al build/tools/{bpf/resolve_btfids/resolve_btfids,objtool/objtool}
"build/tools/bpf/resolve_btfids/resolve_btfids": No such file or directory (os error 2)
"build/tools/objtool/objtool": No such file or directory (os error 2)
I guess resolve_btfids is not strictly required for external module
builds because vmlinux may not be present and cmd_btf_ko handles that
gracefully.
> > Also, what's the use case? Running 'make clean' then copying what
> > is left?
>
> Yes, that's what my build script has been doing for at least a decade,
> possibly mutiple decades when it was somebody else's build script.
I guess that is one way to ensure 'make clean' upholds its promise of
leaving just enough to build external modules. I had missed that in
review of this change.
Another option would be splitting tools/objtool's clean target into
clean and mrproper like the main kernel and mirroring what that does so
that objtool the binary can remain around while all its objects get
cleaned up.
Cheers,
Nathan
next prev parent reply other threads:[~2026-02-25 21:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-25 11:26 [PATCH] kbuild: only clean objtool on mrproper Michal Suchanek
2026-02-25 20:04 ` Nathan Chancellor
2026-02-25 20:23 ` Michal Suchánek
2026-02-25 20:37 ` Josh Poimboeuf
2026-03-03 16:22 ` Michal Suchánek
2026-02-25 21:21 ` Nathan Chancellor [this message]
2026-02-28 5:53 ` Nathan Chancellor
2026-03-03 16:27 ` Michal Suchánek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260225212105.GG2755225@ax162 \
--to=nathan@kernel.org \
--cc=jpoimboe@kernel.org \
--cc=jslaby@suse.cz \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@weissschuh.net \
--cc=masahiroy@kernel.org \
--cc=msuchanek@suse.de \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tamird@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox