From 4caadd04f62104997cbf3c71364b0509e7b64108 Mon Sep 17 00:00:00 2001 From: Suchit Karunakaran Date: Sun, 31 May 2026 01:25:10 +0530 Subject: [PATCH] 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 --- tools/perf/bpf_skel.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/bpf_skel.mak b/tools/perf/bpf_skel.mak index 7704e7e635d8..f2559de39f96 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)