From: Suchit Karunakaran Date: Sat, 30 May 2026 19:55:10 +0000 (+0530) Subject: perf build: Compile BPF skeletons with -mcpu=v3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4caadd04f62104997cbf3c71364b0509e7b64108;p=thirdparty%2Fkernel%2Flinux.git perf build: Compile BPF skeletons with -mcpu=v3 The lock_contention BPF program uses __sync_val_compare_and_swap() to atomically update the max_time and min_time fields in contention_data. This builtin lowers to the BPF_CMPXCHG instruction, which is only available in BPF ISA v3. Without an explicit -mcpu flag, Clang targets BPF v1/v2 by default on older toolchains (Clang < 18), causing build errors when v3 instructions are emitted. Add -mcpu=v3 to CLANG_OPTIONS, which is used exclusively in the BPF skeleton compilation rule. Reviewed-by: Namhyung Kim Signed-off-by: Suchit Karunakaran Acked-by: Ian Rogers Cc: Adrian Hunter Cc: Alexander Shishkin Cc: Ingo Molnar Cc: James Clark Cc: Jiri Olsa Cc: Mark Rutland Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Suchit Karunakaran Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/bpf_skel.mak b/tools/perf/bpf_skel.mak index 7704e7e635d8e..f2559de39f966 100644 --- a/tools/perf/bpf_skel.mak +++ b/tools/perf/bpf_skel.mak @@ -29,7 +29,7 @@ ifneq ($(CROSS_COMPILE),) CLANG_TARGET_ARCH = --target=$(notdir $(CROSS_COMPILE:%-=%)) endif -CLANG_OPTIONS = -Wall +CLANG_OPTIONS = -Wall -mcpu=v3 CLANG_SYS_INCLUDES = $(call get_sys_includes,$(CLANG),$(CLANG_TARGET_ARCH)) LIBBPF_INCLUDE := $(abspath $(or $(OUTPUT),.))/libbpf/include BPF_INCLUDE := -I$(SKEL_TMP_OUT)/.. -I$(SKEL_TOOL_OUT) -I$(LIBBPF_INCLUDE) $(CLANG_SYS_INCLUDES)