[PATCH 0/3] tools build: Incorrect fixdep dependencies

From: Brian Norris
Date: Mon Jul 01 2024 - 20:32:04 EST


Hi all,

The following series consists of a few bugfixes on the topic of "misuse
of fixdep in the tools/ build tree." There is no listed maintainer for
tools/build, but there are for tools/bpf and tools/objtool, which are
the main pieces that affect most users, because they're built as part of
the main kernel build. I've addressed this series to a selection of
those maintainers, and those that have previously applied build changes
in tools/. I hope one of you can apply this series, pending favorable
review. Or feel free to point me to a different set of maintainers.

This patch series came out of poking around some build errors seen by me
and my coworkers, and I found that there were rather similar reports a
while back here:

Subject: possible dependency error?
https://lore.kernel.org/all/ZGVi9HbI43R5trN8@bhelgaas/

I reported some findings to that thread; see also subsequent discussion:

https://lore.kernel.org/all/Zk-C5Eg84yt6_nml@xxxxxxxxxx/

One element of that discussion: these problems are already solved
consistently in Kbuild. tools/build purposely borrows some from Kbuild,
but also purposely does not actually use Kbuild. While it'd make my life
easier if tools/ would just adopt Kbuild (at least for the tools which
are built during kernel builds), I've chosen a path that I hope will
yield less resistance -- simply hacking up the existing tools/ build
without major changes to its design.

NB: I've also CC'd Kbuild folks, since Masahiro has already been so
helpful here, but note that this is not really a "kbuild" patch series.

Regards,
Brian


Brian Norris (3):
tools build: Correct libsubcmd fixdep dependencies
tools build: Avoid circular .fixdep-in.o.cmd issues
tools build: Correct bpf fixdep dependencies

tools/build/Makefile | 11 ++---------
tools/build/Makefile.include | 10 +++++++++-
tools/lib/bpf/Makefile | 6 +++++-
tools/lib/subcmd/Makefile | 2 +-
4 files changed, 17 insertions(+), 12 deletions(-)

--
2.45.2.803.g4e1b14247a-goog