Linux Perf Users
 help / color / mirror / Atom feed
* [PATCH v4 0/4] tools/build: Allow versioning of all LLVM tools
@ 2026-07-15 14:53 James Clark
  2026-07-15 14:53 ` [PATCH v4 1/4] tools/build: Allow versioning of all LLVM tools defined in Makefile.include James Clark
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: James Clark @ 2026-07-15 14:53 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Namhyung Kim, Ihor Solodrai
  Cc: Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
	Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Eduard Zingerman, Kumar Kartikeya Dwivedi, Martin KaFai Lau,
	Song Liu, Yonghong Song, Jiri Olsa, Emil Tsalapatis,
	Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Ian Rogers, Adrian Hunter, Shuah Khan, linux-kernel, llvm, bpf,
	linux-perf-users, linux-kselftest, James Clark

I ran into the build issue mentioned in the first commit, because using
an option like LLVM=-15 is a documented way to build [1], but only
some of the LLVM tools defined in tools/ support this.

After fixing that, a lot of other tidyups fell out. I didn't go too far,
for example some selftests include tools/testing/selftests/lib.mk which
reimplements some of the LLVM_SUFFIX stuff, but other selftests include
tools/scripts/Makefile.include and I stopped before touching the former.
Some other non build scripts hard code toolchains and I didn't touch
those either, this change is only focused on things that already
include Makefile.include.

[1]: Documentation/kbuild/llvm.rst

Signed-off-by: James Clark <james.clark@linaro.org>
---
Changes in v4:
- Drop "tools/build: selftests: Allow versioning LLVM lld", clang
  already picks the correct sibling lld version. (Sashiko)
- Link to v3: https://lore.kernel.org/r/20260715-james-perf-llvm-version-v3-0-8854bfe5af7e@linaro.org

Changes in v3:
- Add warning for empty $USE_LD
- Use $HOSTREADELF in bpf Makefile
- Rebase on v7.2-rc3
- Link to v2: https://lore.kernel.org/r/20260518-james-perf-llvm-version-v2-0-f12cc4f031d8@linaro.org

Changes in v2:
- Fix selftests/bpf build. LLD needs to take the full path to be used
  with -fuse-ld=
- Link to v1: https://lore.kernel.org/r/20260514-james-perf-llvm-version-v1-0-6cac1a9a4c8d@linaro.org

---
James Clark (4):
      tools/build: Allow versioning of all LLVM tools defined in Makefile.include
      tools/build: Indent if else blocks
      tools/build: Allow versioning LLVM readelf
      tools/build: selftests: Remove some duplicate toolchain definitions

 tools/bpf/resolve_btfids/Makefile    |  3 --
 tools/lib/api/Makefile               |  4 --
 tools/lib/bpf/Makefile               |  8 ++--
 tools/lib/subcmd/Makefile            |  4 --
 tools/lib/symbol/Makefile            |  4 --
 tools/perf/Makefile.perf             |  7 ----
 tools/scripts/Makefile.include       | 77 ++++++++++++++++++++----------------
 tools/testing/selftests/bpf/Makefile |  1 -
 8 files changed, 46 insertions(+), 62 deletions(-)
---
base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa
change-id: 20260511-james-perf-llvm-version-43ab1cb5bc7d

Best regards,
-- 
James Clark <james.clark@linaro.org>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-07-15 20:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 14:53 [PATCH v4 0/4] tools/build: Allow versioning of all LLVM tools James Clark
2026-07-15 14:53 ` [PATCH v4 1/4] tools/build: Allow versioning of all LLVM tools defined in Makefile.include James Clark
2026-07-15 14:53 ` [PATCH v4 2/4] tools/build: Indent if else blocks James Clark
2026-07-15 14:53 ` [PATCH v4 3/4] tools/build: Allow versioning LLVM readelf James Clark
2026-07-15 20:00   ` Ihor Solodrai
2026-07-15 14:53 ` [PATCH v4 4/4] tools/build: selftests: Remove some duplicate toolchain definitions James Clark
2026-07-15 20:02   ` Ihor Solodrai
2026-07-15 17:24 ` [PATCH v4 0/4] tools/build: Allow versioning of all LLVM tools Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox