[PATCH v2 2/7] perf build: Add build support and capability for elfutils libasm

From: Ian Rogers

Date: Tue Jun 09 2026 - 03:11:59 EST


Configure perf build system to utilize the libasm feature check
(supporting both static and dynamic builds) and export the config flags.
Add "libasm" capability detection to perf check.

Assisted-by: Antigravity:Google Gemini 3.5-flash
Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/Makefile.config | 22 ++++++++++++++++++++++
tools/perf/builtin-check.c | 1 +
2 files changed, 23 insertions(+)

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 6e7b15fab2ec..8527d20f498f 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -199,6 +199,13 @@ endif
FEATURE_CHECK_CFLAGS-libcapstone := $(LIBCAPSTONE_CFLAGS)
FEATURE_CHECK_LDFLAGS-libcapstone := $(LIBCAPSTONE_LDFLAGS) -lcapstone

+ifdef LIBASM_DIR
+ LIBASM_CFLAGS := -I$(LIBASM_DIR)/include
+ LIBASM_LDFLAGS := -L$(LIBASM_DIR)/lib
+endif
+FEATURE_CHECK_CFLAGS-libasm := $(LIBASM_CFLAGS)
+FEATURE_CHECK_LDFLAGS-libasm := $(LIBASM_LDFLAGS) -lasm -ldw -lelf
+
ifdef LIBZSTD_DIR
LIBZSTD_CFLAGS := -I$(LIBZSTD_DIR)/lib
LIBZSTD_LDFLAGS := -L$(LIBZSTD_DIR)/lib
@@ -432,6 +439,7 @@ ifeq ($(feature-file-handle), 1)
endif

ifdef NO_LIBELF
+ NO_LIBASM := 1
NO_LIBDW := 1
NO_LIBUNWIND := 1
NO_LIBBPF := 1
@@ -1060,6 +1068,20 @@ ifndef NO_CAPSTONE
endif
endif

+ifndef NO_LIBASM
+ $(call feature_check,libasm)
+ ifeq ($(feature-libasm), 1)
+ CFLAGS += -DHAVE_LIBASM_SUPPORT $(LIBASM_CFLAGS)
+ ifdef LIBASM_DLOPEN
+ CFLAGS += -DLIBASM_DLOPEN
+ else
+ LDFLAGS += $(LIBASM_LDFLAGS)
+ EXTLIBS += -lasm -ldw -lelf
+ endif
+ $(call detected,CONFIG_LIBASM)
+ endif
+endif
+
ifdef EXTRA_TESTS
$(call detected,CONFIG_EXTRA_TESTS)
CFLAGS += -DHAVE_EXTRA_TESTS
diff --git a/tools/perf/builtin-check.c b/tools/perf/builtin-check.c
index 60437650c50f..d2ffea4d9b8b 100644
--- a/tools/perf/builtin-check.c
+++ b/tools/perf/builtin-check.c
@@ -46,6 +46,7 @@ struct feature_status supported_features[] = {
FEATURE_STATUS("babeltrace2-ctf-writer", HAVE_BABELTRACE2_CTF_WRITER_SUPPORT),
FEATURE_STATUS("libbpf-strings", HAVE_LIBBPF_STRINGS_SUPPORT),
FEATURE_STATUS("libcapstone", HAVE_LIBCAPSTONE_SUPPORT),
+ FEATURE_STATUS("libasm", HAVE_LIBASM_SUPPORT),
FEATURE_STATUS("libdw-dwarf-unwind", HAVE_LIBDW_SUPPORT),
FEATURE_STATUS("libelf", HAVE_LIBELF_SUPPORT),
FEATURE_STATUS("libLLVM", HAVE_LIBLLVM_SUPPORT),
--
2.54.0.1064.gd145956f57-goog