Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf util: Make util its own library

Make the util directory into its own library. This is done to avoid
compiling code twice, once for the perf tool and once for the perf
python module. For convenience:
arch/common.c
scripts/perl/Perf-Trace-Util/Context.c
scripts/python/Perf-Trace-Util/Context.c
are made part of this library.

Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Nick Terrell <terrelln@fb.com>
Cc: Gary Guo <gary@garyguo.net>
Cc: Alex Gaynor <alex.gaynor@gmail.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Wedson Almeida Filho <wedsonaf@gmail.com>
Cc: Ze Gao <zegao2021@gmail.com>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Andrei Vagin <avagin@google.com>
Cc: Yicong Yang <yangyicong@hisilicon.com>
Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: Guo Ren <guoren@kernel.org>
Cc: Miguel Ojeda <ojeda@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linux.dev>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Benno Lossin <benno.lossin@proton.me>
Cc: Björn Roy Baron <bjorn3_gh@protonmail.com>
Cc: Andreas Hindborg <a.hindborg@samsung.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240625214117.953777-7-irogers@google.com

authored by

Ian Rogers and committed by
Namhyung Kim
e467705a 21cc3bc0

+314 -303
+3 -2
tools/perf/Build
··· 53 53 CFLAGS_builtin-report.o += -DTIPDIR="BUILD_STR($(tipdir_SQ))" 54 54 CFLAGS_builtin-report.o += -DDOCDIR="BUILD_STR($(srcdir_SQ)/Documentation)" 55 55 56 - perf-y += util/ 56 + perf-util-y += util/ 57 + perf-util-y += arch/ 57 58 perf-y += arch/ 58 59 perf-test-y += arch/ 59 60 perf-ui-y += ui/ 60 - perf-y += scripts/ 61 + perf-util-y += scripts/ 61 62 62 63 gtk-y += ui/gtk/ 63 64
+11 -1
tools/perf/Makefile.perf
··· 434 434 LIBPERF_UI_IN := $(OUTPUT)perf-ui-in.o 435 435 LIBPERF_UI := $(OUTPUT)libperf-ui.a 436 436 437 + LIBPERF_UTIL_IN := $(OUTPUT)perf-util-in.o 438 + LIBPERF_UTIL := $(OUTPUT)libperf-util.a 439 + 437 440 LIBPMU_EVENTS_IN := $(OUTPUT)pmu-events/pmu-events-in.o 438 441 LIBPMU_EVENTS := $(OUTPUT)libpmu-events.a 439 442 ··· 444 441 ifdef LIBBPF_STATIC 445 442 PERFLIBS += $(LIBBPF) 446 443 endif 447 - PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS) 444 + PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPERF_UTIL) 445 + PERFLIBS += $(LIBPMU_EVENTS) 448 446 449 447 # We choose to avoid "if .. else if .. else .. endif endif" 450 448 # because maintaining the nesting to match is a pain. If ··· 763 759 $(Q)$(MAKE) $(build)=perf-ui 764 760 765 761 $(LIBPERF_UI): $(LIBPERF_UI_IN) 762 + $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $< 763 + 764 + $(LIBPERF_UTIL_IN): FORCE prepare 765 + $(Q)$(MAKE) $(build)=perf-util 766 + 767 + $(LIBPERF_UTIL): $(LIBPERF_UTIL_IN) 766 768 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $< 767 769 768 770 $(OUTPUT)perf: $(PERFLIBS) $(PERF_IN)
+2 -2
tools/perf/arch/Build
··· 1 - perf-y += common.o 2 - perf-y += $(SRCARCH)/ 1 + perf-util-y += common.o 3 2 perf-test-y += $(SRCARCH)/ 3 + perf-util-y += $(SRCARCH)/
+1 -1
tools/perf/arch/arm/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/ 2 2 perf-test-$(CONFIG_DWARF_UNWIND) += tests/
+5 -5
tools/perf/arch/arm/util/Build
··· 1 - perf-y += perf_regs.o 1 + perf-util-y += perf_regs.o 2 2 3 - perf-$(CONFIG_DWARF) += dwarf-regs.o 3 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 4 4 5 - perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 6 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 5 + perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 6 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 7 7 8 - perf-$(CONFIG_AUXTRACE) += pmu.o auxtrace.o cs-etm.o 8 + perf-util-$(CONFIG_AUXTRACE) += pmu.o auxtrace.o cs-etm.o
+1 -1
tools/perf/arch/arm64/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/ 2 2 perf-test-y += tests/
+10 -10
tools/perf/arch/arm64/util/Build
··· 1 - perf-y += header.o 2 - perf-y += machine.o 3 - perf-y += perf_regs.o 4 - perf-y += tsc.o 5 - perf-y += pmu.o 6 - perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 7 - perf-$(CONFIG_DWARF) += dwarf-regs.o 8 - perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 9 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 1 + perf-util-y += header.o 2 + perf-util-y += machine.o 3 + perf-util-y += perf_regs.o 4 + perf-util-y += tsc.o 5 + perf-util-y += pmu.o 6 + perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 7 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 8 + perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 9 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 10 10 11 - perf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \ 11 + perf-util-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \ 12 12 ../../arm/util/auxtrace.o \ 13 13 ../../arm/util/cs-etm.o \ 14 14 arm-spe.o mem-events.o hisi-ptt.o
+1 -1
tools/perf/arch/csky/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+3 -3
tools/perf/arch/csky/util/Build
··· 1 - perf-y += perf_regs.o 1 + perf-util-y += perf_regs.o 2 2 3 - perf-$(CONFIG_DWARF) += dwarf-regs.o 4 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 3 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 4 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
+1 -1
tools/perf/arch/loongarch/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+4 -4
tools/perf/arch/loongarch/util/Build
··· 1 - perf-y += perf_regs.o 1 + perf-util-y += perf_regs.o 2 2 3 - perf-$(CONFIG_DWARF) += dwarf-regs.o 4 - perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 5 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 3 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 4 + perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 5 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
+1 -1
tools/perf/arch/mips/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+3 -3
tools/perf/arch/mips/util/Build
··· 1 - perf-y += perf_regs.o 2 - perf-$(CONFIG_DWARF) += dwarf-regs.o 3 - perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 1 + perf-util-y += perf_regs.o 2 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 3 + perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
+1 -1
tools/perf/arch/powerpc/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/ 2 2 perf-test-y += tests/
+12 -12
tools/perf/arch/powerpc/util/Build
··· 1 - perf-y += header.o 2 - perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 3 - perf-y += perf_regs.o 4 - perf-y += mem-events.o 5 - perf-y += pmu.o 6 - perf-y += sym-handling.o 7 - perf-y += evsel.o 8 - perf-y += event.o 1 + perf-util-y += header.o 2 + perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 3 + perf-util-y += perf_regs.o 4 + perf-util-y += mem-events.o 5 + perf-util-y += pmu.o 6 + perf-util-y += sym-handling.o 7 + perf-util-y += evsel.o 8 + perf-util-y += event.o 9 9 10 - perf-$(CONFIG_DWARF) += dwarf-regs.o 11 - perf-$(CONFIG_DWARF) += skip-callchain-idx.o 10 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 11 + perf-util-$(CONFIG_DWARF) += skip-callchain-idx.o 12 12 13 - perf-$(CONFIG_LIBUNWIND) += unwind-libunwind.o 14 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 13 + perf-util-$(CONFIG_LIBUNWIND) += unwind-libunwind.o 14 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
+1 -1
tools/perf/arch/riscv/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+4 -4
tools/perf/arch/riscv/util/Build
··· 1 - perf-y += perf_regs.o 2 - perf-y += header.o 1 + perf-util-y += perf_regs.o 2 + perf-util-y += header.o 3 3 4 - perf-$(CONFIG_DWARF) += dwarf-regs.o 5 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 4 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 5 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
+1 -1
tools/perf/arch/s390/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+8 -8
tools/perf/arch/s390/util/Build
··· 1 - perf-y += header.o 2 - perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 3 - perf-y += perf_regs.o 1 + perf-util-y += header.o 2 + perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 3 + perf-util-y += perf_regs.o 4 4 5 - perf-$(CONFIG_DWARF) += dwarf-regs.o 6 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 5 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 6 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 7 7 8 - perf-y += machine.o 9 - perf-y += pmu.o 8 + perf-util-y += machine.o 9 + perf-util-y += pmu.o 10 10 11 - perf-$(CONFIG_AUXTRACE) += auxtrace.o 11 + perf-util-$(CONFIG_AUXTRACE) += auxtrace.o
+1 -1
tools/perf/arch/sh/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+1 -1
tools/perf/arch/sh/util/Build
··· 1 - perf-$(CONFIG_DWARF) += dwarf-regs.o 1 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o
+1 -1
tools/perf/arch/sparc/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+1 -1
tools/perf/arch/sparc/util/Build
··· 1 - perf-$(CONFIG_DWARF) += dwarf-regs.o 1 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o
+1 -1
tools/perf/arch/x86/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/ 2 2 perf-test-y += tests/ 3 3 4 4 ifdef SHELLCHECK
+21 -21
tools/perf/arch/x86/util/Build
··· 1 - perf-y += header.o 2 - perf-y += tsc.o 3 - perf-y += pmu.o 4 - perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 5 - perf-y += perf_regs.o 6 - perf-y += topdown.o 7 - perf-y += machine.o 8 - perf-y += event.o 9 - perf-y += evlist.o 10 - perf-y += mem-events.o 11 - perf-y += evsel.o 12 - perf-y += iostat.o 13 - perf-y += env.o 1 + perf-util-y += header.o 2 + perf-util-y += tsc.o 3 + perf-util-y += pmu.o 4 + perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o 5 + perf-util-y += perf_regs.o 6 + perf-util-y += topdown.o 7 + perf-util-y += machine.o 8 + perf-util-y += event.o 9 + perf-util-y += evlist.o 10 + perf-util-y += mem-events.o 11 + perf-util-y += evsel.o 12 + perf-util-y += iostat.o 13 + perf-util-y += env.o 14 14 15 - perf-$(CONFIG_DWARF) += dwarf-regs.o 16 - perf-$(CONFIG_BPF_PROLOGUE) += dwarf-regs.o 15 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 16 + perf-util-$(CONFIG_BPF_PROLOGUE) += dwarf-regs.o 17 17 18 - perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 19 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 18 + perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o 19 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 20 20 21 - perf-$(CONFIG_AUXTRACE) += auxtrace.o 22 - perf-$(CONFIG_AUXTRACE) += archinsn.o 23 - perf-$(CONFIG_AUXTRACE) += intel-pt.o 24 - perf-$(CONFIG_AUXTRACE) += intel-bts.o 21 + perf-util-$(CONFIG_AUXTRACE) += auxtrace.o 22 + perf-util-$(CONFIG_AUXTRACE) += archinsn.o 23 + perf-util-$(CONFIG_AUXTRACE) += intel-pt.o 24 + perf-util-$(CONFIG_AUXTRACE) += intel-bts.o
+1 -1
tools/perf/arch/xtensa/Build
··· 1 - perf-y += util/ 1 + perf-util-y += util/
+2 -2
tools/perf/scripts/Build
··· 1 1 ifeq ($(CONFIG_LIBTRACEEVENT),y) 2 - perf-$(CONFIG_LIBPERL) += perl/Perf-Trace-Util/ 2 + perf-util-$(CONFIG_LIBPERL) += perl/Perf-Trace-Util/ 3 3 endif 4 - perf-$(CONFIG_LIBPYTHON) += python/Perf-Trace-Util/ 4 + perf-util-$(CONFIG_LIBPYTHON) += python/Perf-Trace-Util/
+1 -1
tools/perf/scripts/perl/Perf-Trace-Util/Build
··· 1 - perf-y += Context.o 1 + perf-util-y += Context.o 2 2 3 3 CFLAGS_Context.o += $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-bad-function-cast -Wno-declaration-after-statement -Wno-switch-enum 4 4 CFLAGS_Context.o += -Wno-unused-parameter -Wno-nested-externs -Wno-undef
+1 -1
tools/perf/scripts/python/Perf-Trace-Util/Build
··· 1 - perf-y += Context.o 1 + perf-util-y += Context.o 2 2 3 3 # -Wno-declaration-after-statement: The python headers have mixed code with declarations (decls after asserts, for instance) 4 4 CFLAGS_Context.o += $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs -Wno-declaration-after-statement
+195 -195
tools/perf/util/Build
··· 1 1 include $(srctree)/tools/scripts/Makefile.include 2 2 include $(srctree)/tools/scripts/utilities.mak 3 3 4 - perf-y += arm64-frame-pointer-unwind-support.o 5 - perf-y += addr_location.o 6 - perf-y += annotate.o 7 - perf-y += block-info.o 8 - perf-y += block-range.o 9 - perf-y += build-id.o 10 - perf-y += cacheline.o 11 - perf-y += config.o 12 - perf-y += copyfile.o 13 - perf-y += ctype.o 14 - perf-y += db-export.o 15 - perf-y += disasm.o 16 - perf-y += env.o 17 - perf-y += event.o 18 - perf-y += evlist.o 19 - perf-y += sideband_evlist.o 20 - perf-y += evsel.o 21 - perf-y += evsel_fprintf.o 22 - perf-y += perf_event_attr_fprintf.o 23 - perf-y += evswitch.o 24 - perf-y += find_bit.o 25 - perf-y += get_current_dir_name.o 26 - perf-y += levenshtein.o 27 - perf-y += mmap.o 28 - perf-y += memswap.o 29 - perf-y += parse-events.o 30 - perf-y += print-events.o 31 - perf-y += tracepoint.o 32 - perf-y += perf_regs.o 33 - perf-y += perf-regs-arch/ 34 - perf-y += path.o 35 - perf-y += print_binary.o 36 - perf-y += print_insn.o 37 - perf-y += rlimit.o 38 - perf-y += argv_split.o 39 - perf-y += rbtree.o 40 - perf-y += libstring.o 41 - perf-y += bitmap.o 42 - perf-y += hweight.o 43 - perf-y += smt.o 44 - perf-y += strbuf.o 45 - perf-y += string.o 46 - perf-y += strlist.o 47 - perf-y += strfilter.o 48 - perf-y += top.o 49 - perf-y += usage.o 50 - perf-y += dso.o 51 - perf-y += dsos.o 52 - perf-y += symbol.o 53 - perf-y += symbol_fprintf.o 54 - perf-y += map_symbol.o 55 - perf-y += color.o 56 - perf-y += color_config.o 57 - perf-y += metricgroup.o 58 - perf-y += header.o 59 - perf-y += callchain.o 60 - perf-y += values.o 61 - perf-y += debug.o 62 - perf-y += fncache.o 63 - perf-y += machine.o 64 - perf-y += map.o 65 - perf-y += maps.o 66 - perf-y += pstack.o 67 - perf-y += session.o 68 - perf-y += sample-raw.o 69 - perf-y += s390-sample-raw.o 70 - perf-y += amd-sample-raw.o 71 - perf-$(CONFIG_TRACE) += syscalltbl.o 72 - perf-y += ordered-events.o 73 - perf-y += namespaces.o 74 - perf-y += comm.o 75 - perf-y += thread.o 76 - perf-y += threads.o 77 - perf-y += thread_map.o 78 - perf-y += parse-events-flex.o 79 - perf-y += parse-events-bison.o 80 - perf-y += pmu.o 81 - perf-y += pmus.o 82 - perf-y += pmu-flex.o 83 - perf-y += pmu-bison.o 84 - perf-y += svghelper.o 85 - perf-$(CONFIG_LIBTRACEEVENT) += trace-event-info.o 86 - perf-y += trace-event-scripting.o 87 - perf-$(CONFIG_LIBTRACEEVENT) += trace-event.o 88 - perf-$(CONFIG_LIBTRACEEVENT) += trace-event-parse.o 89 - perf-$(CONFIG_LIBTRACEEVENT) += trace-event-read.o 90 - perf-y += sort.o 91 - perf-y += hist.o 92 - perf-y += util.o 93 - perf-y += cpumap.o 94 - perf-y += affinity.o 95 - perf-y += cputopo.o 96 - perf-y += cgroup.o 97 - perf-y += target.o 98 - perf-y += rblist.o 99 - perf-y += intlist.o 100 - perf-y += vdso.o 101 - perf-y += counts.o 102 - perf-y += stat.o 103 - perf-y += stat-shadow.o 104 - perf-y += stat-display.o 105 - perf-y += perf_api_probe.o 106 - perf-y += record.o 107 - perf-y += srcline.o 108 - perf-y += srccode.o 109 - perf-y += synthetic-events.o 110 - perf-y += data.o 111 - perf-y += tsc.o 112 - perf-y += cloexec.o 113 - perf-y += call-path.o 114 - perf-y += rwsem.o 115 - perf-y += thread-stack.o 116 - perf-y += spark.o 117 - perf-y += topdown.o 118 - perf-y += iostat.o 119 - perf-y += stream.o 120 - perf-$(CONFIG_AUXTRACE) += auxtrace.o 121 - perf-$(CONFIG_AUXTRACE) += intel-pt-decoder/ 122 - perf-$(CONFIG_AUXTRACE) += intel-pt.o 123 - perf-$(CONFIG_AUXTRACE) += intel-bts.o 124 - perf-$(CONFIG_AUXTRACE) += arm-spe.o 125 - perf-$(CONFIG_AUXTRACE) += arm-spe-decoder/ 126 - perf-$(CONFIG_AUXTRACE) += hisi-ptt.o 127 - perf-$(CONFIG_AUXTRACE) += hisi-ptt-decoder/ 128 - perf-$(CONFIG_AUXTRACE) += s390-cpumsf.o 4 + perf-util-y += arm64-frame-pointer-unwind-support.o 5 + perf-util-y += addr_location.o 6 + perf-util-y += annotate.o 7 + perf-util-y += block-info.o 8 + perf-util-y += block-range.o 9 + perf-util-y += build-id.o 10 + perf-util-y += cacheline.o 11 + perf-util-y += config.o 12 + perf-util-y += copyfile.o 13 + perf-util-y += ctype.o 14 + perf-util-y += db-export.o 15 + perf-util-y += disasm.o 16 + perf-util-y += env.o 17 + perf-util-y += event.o 18 + perf-util-y += evlist.o 19 + perf-util-y += sideband_evlist.o 20 + perf-util-y += evsel.o 21 + perf-util-y += evsel_fprintf.o 22 + perf-util-y += perf_event_attr_fprintf.o 23 + perf-util-y += evswitch.o 24 + perf-util-y += find_bit.o 25 + perf-util-y += get_current_dir_name.o 26 + perf-util-y += levenshtein.o 27 + perf-util-y += mmap.o 28 + perf-util-y += memswap.o 29 + perf-util-y += parse-events.o 30 + perf-util-y += print-events.o 31 + perf-util-y += tracepoint.o 32 + perf-util-y += perf_regs.o 33 + perf-util-y += perf-regs-arch/ 34 + perf-util-y += path.o 35 + perf-util-y += print_binary.o 36 + perf-util-y += print_insn.o 37 + perf-util-y += rlimit.o 38 + perf-util-y += argv_split.o 39 + perf-util-y += rbtree.o 40 + perf-util-y += libstring.o 41 + perf-util-y += bitmap.o 42 + perf-util-y += hweight.o 43 + perf-util-y += smt.o 44 + perf-util-y += strbuf.o 45 + perf-util-y += string.o 46 + perf-util-y += strlist.o 47 + perf-util-y += strfilter.o 48 + perf-util-y += top.o 49 + perf-util-y += usage.o 50 + perf-util-y += dso.o 51 + perf-util-y += dsos.o 52 + perf-util-y += symbol.o 53 + perf-util-y += symbol_fprintf.o 54 + perf-util-y += map_symbol.o 55 + perf-util-y += color.o 56 + perf-util-y += color_config.o 57 + perf-util-y += metricgroup.o 58 + perf-util-y += header.o 59 + perf-util-y += callchain.o 60 + perf-util-y += values.o 61 + perf-util-y += debug.o 62 + perf-util-y += fncache.o 63 + perf-util-y += machine.o 64 + perf-util-y += map.o 65 + perf-util-y += maps.o 66 + perf-util-y += pstack.o 67 + perf-util-y += session.o 68 + perf-util-y += sample-raw.o 69 + perf-util-y += s390-sample-raw.o 70 + perf-util-y += amd-sample-raw.o 71 + perf-util-$(CONFIG_TRACE) += syscalltbl.o 72 + perf-util-y += ordered-events.o 73 + perf-util-y += namespaces.o 74 + perf-util-y += comm.o 75 + perf-util-y += thread.o 76 + perf-util-y += threads.o 77 + perf-util-y += thread_map.o 78 + perf-util-y += parse-events-flex.o 79 + perf-util-y += parse-events-bison.o 80 + perf-util-y += pmu.o 81 + perf-util-y += pmus.o 82 + perf-util-y += pmu-flex.o 83 + perf-util-y += pmu-bison.o 84 + perf-util-y += svghelper.o 85 + perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event-info.o 86 + perf-util-y += trace-event-scripting.o 87 + perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event.o 88 + perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event-parse.o 89 + perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event-read.o 90 + perf-util-y += sort.o 91 + perf-util-y += hist.o 92 + perf-util-y += util.o 93 + perf-util-y += cpumap.o 94 + perf-util-y += affinity.o 95 + perf-util-y += cputopo.o 96 + perf-util-y += cgroup.o 97 + perf-util-y += target.o 98 + perf-util-y += rblist.o 99 + perf-util-y += intlist.o 100 + perf-util-y += vdso.o 101 + perf-util-y += counts.o 102 + perf-util-y += stat.o 103 + perf-util-y += stat-shadow.o 104 + perf-util-y += stat-display.o 105 + perf-util-y += perf_api_probe.o 106 + perf-util-y += record.o 107 + perf-util-y += srcline.o 108 + perf-util-y += srccode.o 109 + perf-util-y += synthetic-events.o 110 + perf-util-y += data.o 111 + perf-util-y += tsc.o 112 + perf-util-y += cloexec.o 113 + perf-util-y += call-path.o 114 + perf-util-y += rwsem.o 115 + perf-util-y += thread-stack.o 116 + perf-util-y += spark.o 117 + perf-util-y += topdown.o 118 + perf-util-y += iostat.o 119 + perf-util-y += stream.o 120 + perf-util-$(CONFIG_AUXTRACE) += auxtrace.o 121 + perf-util-$(CONFIG_AUXTRACE) += intel-pt-decoder/ 122 + perf-util-$(CONFIG_AUXTRACE) += intel-pt.o 123 + perf-util-$(CONFIG_AUXTRACE) += intel-bts.o 124 + perf-util-$(CONFIG_AUXTRACE) += arm-spe.o 125 + perf-util-$(CONFIG_AUXTRACE) += arm-spe-decoder/ 126 + perf-util-$(CONFIG_AUXTRACE) += hisi-ptt.o 127 + perf-util-$(CONFIG_AUXTRACE) += hisi-ptt-decoder/ 128 + perf-util-$(CONFIG_AUXTRACE) += s390-cpumsf.o 129 129 130 130 ifdef CONFIG_LIBOPENCSD 131 - perf-$(CONFIG_AUXTRACE) += cs-etm.o 132 - perf-$(CONFIG_AUXTRACE) += cs-etm-decoder/ 131 + perf-util-$(CONFIG_AUXTRACE) += cs-etm.o 132 + perf-util-$(CONFIG_AUXTRACE) += cs-etm-decoder/ 133 133 endif 134 - perf-$(CONFIG_AUXTRACE) += cs-etm-base.o 134 + perf-util-$(CONFIG_AUXTRACE) += cs-etm-base.o 135 135 136 - perf-y += parse-branch-options.o 137 - perf-y += dump-insn.o 138 - perf-y += parse-regs-options.o 139 - perf-y += parse-sublevel-options.o 140 - perf-y += term.o 141 - perf-y += help-unknown-cmd.o 142 - perf-y += dlfilter.o 143 - perf-y += mem-events.o 144 - perf-y += mem-info.o 145 - perf-y += vsprintf.o 146 - perf-y += units.o 147 - perf-y += time-utils.o 148 - perf-y += expr-flex.o 149 - perf-y += expr-bison.o 150 - perf-y += expr.o 151 - perf-y += branch.o 152 - perf-y += mem2node.o 153 - perf-y += clockid.o 154 - perf-y += list_sort.o 155 - perf-y += mutex.o 156 - perf-y += sharded_mutex.o 136 + perf-util-y += parse-branch-options.o 137 + perf-util-y += dump-insn.o 138 + perf-util-y += parse-regs-options.o 139 + perf-util-y += parse-sublevel-options.o 140 + perf-util-y += term.o 141 + perf-util-y += help-unknown-cmd.o 142 + perf-util-y += dlfilter.o 143 + perf-util-y += mem-events.o 144 + perf-util-y += mem-info.o 145 + perf-util-y += vsprintf.o 146 + perf-util-y += units.o 147 + perf-util-y += time-utils.o 148 + perf-util-y += expr-flex.o 149 + perf-util-y += expr-bison.o 150 + perf-util-y += expr.o 151 + perf-util-y += branch.o 152 + perf-util-y += mem2node.o 153 + perf-util-y += clockid.o 154 + perf-util-y += list_sort.o 155 + perf-util-y += mutex.o 156 + perf-util-y += sharded_mutex.o 157 157 158 - perf-$(CONFIG_LIBBPF) += bpf_map.o 159 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_counter.o 160 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_counter_cgroup.o 161 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_ftrace.o 162 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_off_cpu.o 163 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf-filter.o 164 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf-filter-flex.o 165 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf-filter-bison.o 158 + perf-util-$(CONFIG_LIBBPF) += bpf_map.o 159 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_counter.o 160 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_counter_cgroup.o 161 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_ftrace.o 162 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_off_cpu.o 163 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf-filter.o 164 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf-filter-flex.o 165 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf-filter-bison.o 166 166 167 167 ifeq ($(CONFIG_LIBTRACEEVENT),y) 168 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_lock_contention.o 168 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_lock_contention.o 169 169 endif 170 170 171 171 ifeq ($(CONFIG_LIBTRACEEVENT),y) 172 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_kwork.o 173 - perf-$(CONFIG_PERF_BPF_SKEL) += bpf_kwork_top.o 172 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_kwork.o 173 + perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_kwork_top.o 174 174 endif 175 175 176 - perf-$(CONFIG_LIBELF) += symbol-elf.o 177 - perf-$(CONFIG_LIBELF) += probe-file.o 178 - perf-$(CONFIG_LIBELF) += probe-event.o 176 + perf-util-$(CONFIG_LIBELF) += symbol-elf.o 177 + perf-util-$(CONFIG_LIBELF) += probe-file.o 178 + perf-util-$(CONFIG_LIBELF) += probe-event.o 179 179 180 180 ifdef CONFIG_LIBBPF_DYNAMIC 181 181 hashmap := 1 ··· 185 185 endif 186 186 187 187 ifdef hashmap 188 - perf-y += hashmap.o 188 + perf-util-y += hashmap.o 189 189 endif 190 190 191 191 ifndef CONFIG_LIBELF 192 - perf-y += symbol-minimal.o 192 + perf-util-y += symbol-minimal.o 193 193 endif 194 194 195 195 ifndef CONFIG_SETNS 196 - perf-y += setns.o 196 + perf-util-y += setns.o 197 197 endif 198 198 199 - perf-$(CONFIG_DWARF) += probe-finder.o 200 - perf-$(CONFIG_DWARF) += dwarf-aux.o 201 - perf-$(CONFIG_DWARF) += dwarf-regs.o 202 - perf-$(CONFIG_DWARF) += debuginfo.o 203 - perf-$(CONFIG_DWARF) += annotate-data.o 199 + perf-util-$(CONFIG_DWARF) += probe-finder.o 200 + perf-util-$(CONFIG_DWARF) += dwarf-aux.o 201 + perf-util-$(CONFIG_DWARF) += dwarf-regs.o 202 + perf-util-$(CONFIG_DWARF) += debuginfo.o 203 + perf-util-$(CONFIG_DWARF) += annotate-data.o 204 204 205 - perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 206 - perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind-local.o 207 - perf-$(CONFIG_LIBUNWIND) += unwind-libunwind.o 208 - perf-$(CONFIG_LIBUNWIND_X86) += libunwind/x86_32.o 209 - perf-$(CONFIG_LIBUNWIND_AARCH64) += libunwind/arm64.o 205 + perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o 206 + perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind-local.o 207 + perf-util-$(CONFIG_LIBUNWIND) += unwind-libunwind.o 208 + perf-util-$(CONFIG_LIBUNWIND_X86) += libunwind/x86_32.o 209 + perf-util-$(CONFIG_LIBUNWIND_AARCH64) += libunwind/arm64.o 210 210 211 211 ifeq ($(CONFIG_LIBTRACEEVENT),y) 212 - perf-$(CONFIG_LIBBABELTRACE) += data-convert-bt.o 212 + perf-util-$(CONFIG_LIBBABELTRACE) += data-convert-bt.o 213 213 endif 214 214 215 - perf-y += data-convert-json.o 215 + perf-util-y += data-convert-json.o 216 216 217 - perf-y += scripting-engines/ 217 + perf-util-y += scripting-engines/ 218 218 219 - perf-$(CONFIG_ZLIB) += zlib.o 220 - perf-$(CONFIG_LZMA) += lzma.o 221 - perf-$(CONFIG_ZSTD) += zstd.o 219 + perf-util-$(CONFIG_ZLIB) += zlib.o 220 + perf-util-$(CONFIG_LZMA) += lzma.o 221 + perf-util-$(CONFIG_ZSTD) += zstd.o 222 222 223 - perf-$(CONFIG_LIBCAP) += cap.o 223 + perf-util-$(CONFIG_LIBCAP) += cap.o 224 224 225 - perf-$(CONFIG_CXX_DEMANGLE) += demangle-cxx.o 226 - perf-y += demangle-ocaml.o 227 - perf-y += demangle-java.o 228 - perf-y += demangle-rust.o 225 + perf-util-$(CONFIG_CXX_DEMANGLE) += demangle-cxx.o 226 + perf-util-y += demangle-ocaml.o 227 + perf-util-y += demangle-java.o 228 + perf-util-y += demangle-rust.o 229 229 230 230 ifdef CONFIG_JITDUMP 231 - perf-$(CONFIG_LIBELF) += jitdump.o 232 - perf-$(CONFIG_LIBELF) += genelf.o 233 - perf-$(CONFIG_DWARF) += genelf_debug.o 231 + perf-util-$(CONFIG_LIBELF) += jitdump.o 232 + perf-util-$(CONFIG_LIBELF) += genelf.o 233 + perf-util-$(CONFIG_DWARF) += genelf_debug.o 234 234 endif 235 235 236 - perf-y += perf-hooks.o 236 + perf-util-y += perf-hooks.o 237 237 238 - perf-$(CONFIG_LIBBPF) += bpf-event.o 239 - perf-$(CONFIG_LIBBPF) += bpf-utils.o 238 + perf-util-$(CONFIG_LIBBPF) += bpf-event.o 239 + perf-util-$(CONFIG_LIBBPF) += bpf-utils.o 240 240 241 - perf-$(CONFIG_LIBPFM4) += pfm.o 241 + perf-util-$(CONFIG_LIBPFM4) += pfm.o 242 242 243 243 CFLAGS_config.o += -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" 244 244 ··· 403 403 $(call rule_mkdir) 404 404 $(Q)$(call echo-cmd,test)shellcheck -a -S warning "$<" > $@ || (cat $@ && rm $@ && false) 405 405 406 - perf-y += $(TEST_LOGS) 406 + perf-util-y += $(TEST_LOGS)
+1 -1
tools/perf/util/arm-spe-decoder/Build
··· 1 - perf-$(CONFIG_AUXTRACE) += arm-spe-pkt-decoder.o arm-spe-decoder.o 1 + perf-util-$(CONFIG_AUXTRACE) += arm-spe-pkt-decoder.o arm-spe-decoder.o
+1 -1
tools/perf/util/cs-etm-decoder/Build
··· 1 - perf-$(CONFIG_AUXTRACE) += cs-etm-decoder.o 1 + perf-util-$(CONFIG_AUXTRACE) += cs-etm-decoder.o
+1 -1
tools/perf/util/hisi-ptt-decoder/Build
··· 1 - perf-$(CONFIG_AUXTRACE) += hisi-ptt-pkt-decoder.o 1 + perf-util-$(CONFIG_AUXTRACE) += hisi-ptt-pkt-decoder.o
+1 -1
tools/perf/util/intel-pt-decoder/Build
··· 1 - perf-$(CONFIG_AUXTRACE) += intel-pt-pkt-decoder.o intel-pt-insn-decoder.o intel-pt-log.o intel-pt-decoder.o 1 + perf-util-$(CONFIG_AUXTRACE) += intel-pt-pkt-decoder.o intel-pt-insn-decoder.o intel-pt-log.o intel-pt-decoder.o 2 2 3 3 inat_tables_script = $(srctree)/tools/arch/x86/tools/gen-insn-attr-x86.awk 4 4 inat_tables_maps = $(srctree)/tools/arch/x86/lib/x86-opcode-map.txt
+9 -9
tools/perf/util/perf-regs-arch/Build
··· 1 - perf-y += perf_regs_aarch64.o 2 - perf-y += perf_regs_arm.o 3 - perf-y += perf_regs_csky.o 4 - perf-y += perf_regs_loongarch.o 5 - perf-y += perf_regs_mips.o 6 - perf-y += perf_regs_powerpc.o 7 - perf-y += perf_regs_riscv.o 8 - perf-y += perf_regs_s390.o 9 - perf-y += perf_regs_x86.o 1 + perf-util-y += perf_regs_aarch64.o 2 + perf-util-y += perf_regs_arm.o 3 + perf-util-y += perf_regs_csky.o 4 + perf-util-y += perf_regs_loongarch.o 5 + perf-util-y += perf_regs_mips.o 6 + perf-util-y += perf_regs_powerpc.o 7 + perf-util-y += perf_regs_riscv.o 8 + perf-util-y += perf_regs_s390.o 9 + perf-util-y += perf_regs_x86.o
+2 -2
tools/perf/util/scripting-engines/Build
··· 1 1 ifeq ($(CONFIG_LIBTRACEEVENT),y) 2 - perf-$(CONFIG_LIBPERL) += trace-event-perl.o 2 + perf-util-$(CONFIG_LIBPERL) += trace-event-perl.o 3 3 endif 4 - perf-$(CONFIG_LIBPYTHON) += trace-event-python.o 4 + perf-util-$(CONFIG_LIBPYTHON) += trace-event-python.o 5 5 6 6 CFLAGS_trace-event-perl.o += $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow -Wno-nested-externs -Wno-undef -Wno-switch-default -Wno-bad-function-cast -Wno-declaration-after-statement -Wno-switch-enum 7 7