Skip to content
Snippets Groups Projects
Commit b04cbd70 authored by Michael Petlan's avatar Michael Petlan
Browse files

perf util: Make util its own library

JIRA: https://issues.redhat.com/browse/RHEL-29795



upstream
========
commit e467705a9fb37f51595aa6deaca085ccb4005454
Author: Ian Rogers <irogers@google.com>
Date: Tue Jun 25 14:41:15 2024 -0700

description
===========
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: default avatarIan Rogers <irogers@google.com>
Reviewed-by: default avatarJames 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: default avatarNamhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/r/20240625214117.953777-7-irogers@google.com



Signed-off-by: default avatarMichael Petlan <mpetlan@redhat.com>
parent 1dd74da8
No related branches found
No related tags found
No related merge requests found
Showing
with 74 additions and 63 deletions
......@@ -53,11 +53,12 @@ CFLAGS_builtin-trace.o += -DSTRACE_GROUPS_DIR="BUILD_STR($(STRACE_GROUPS_DIR_
CFLAGS_builtin-report.o += -DTIPDIR="BUILD_STR($(tipdir_SQ))"
CFLAGS_builtin-report.o += -DDOCDIR="BUILD_STR($(srcdir_SQ)/Documentation)"
perf-y += util/
perf-util-y += util/
perf-util-y += arch/
perf-y += arch/
perf-test-y += arch/
perf-ui-y += ui/
perf-y += scripts/
perf-util-y += scripts/
gtk-y += ui/gtk/
......
......@@ -435,6 +435,9 @@ LIBPERF_TEST := $(OUTPUT)libperf-test.a
LIBPERF_UI_IN := $(OUTPUT)perf-ui-in.o
LIBPERF_UI := $(OUTPUT)libperf-ui.a
LIBPERF_UTIL_IN := $(OUTPUT)perf-util-in.o
LIBPERF_UTIL := $(OUTPUT)libperf-util.a
LIBPMU_EVENTS_IN := $(OUTPUT)pmu-events/pmu-events-in.o
LIBPMU_EVENTS := $(OUTPUT)libpmu-events.a
......@@ -442,7 +445,8 @@ PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL)
ifdef LIBBPF_STATIC
PERFLIBS += $(LIBBPF)
endif
PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPMU_EVENTS)
PERFLIBS += $(LIBPERF_BENCH) $(LIBPERF_TEST) $(LIBPERF_UI) $(LIBPERF_UTIL)
PERFLIBS += $(LIBPMU_EVENTS)
# We choose to avoid "if .. else if .. else .. endif endif"
# because maintaining the nesting to match is a pain. If
......@@ -762,6 +766,12 @@ $(LIBPERF_UI_IN): FORCE prepare
$(LIBPERF_UI): $(LIBPERF_UI_IN)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
$(LIBPERF_UTIL_IN): FORCE prepare
$(Q)$(MAKE) $(build)=perf-util
$(LIBPERF_UTIL): $(LIBPERF_UTIL_IN)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $<
$(OUTPUT)perf: $(PERFLIBS) $(PERF_IN)
$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) \
$(PERF_IN) $(LIBS) -o $@
......
perf-y += common.o
perf-y += $(SRCARCH)/
perf-util-y += common.o
perf-test-y += $(SRCARCH)/
perf-util-y += $(SRCARCH)/
perf-y += util/
perf-util-y += util/
perf-test-$(CONFIG_DWARF_UNWIND) += tests/
perf-y += perf_regs.o
perf-util-y += perf_regs.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-$(CONFIG_AUXTRACE) += pmu.o auxtrace.o cs-etm.o
perf-util-$(CONFIG_AUXTRACE) += pmu.o auxtrace.o cs-etm.o
perf-y += util/
perf-util-y += util/
perf-test-y += tests/
perf-y += header.o
perf-y += machine.o
perf-y += perf_regs.o
perf-y += tsc.o
perf-y += pmu.o
perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-y += header.o
perf-util-y += machine.o
perf-util-y += perf_regs.o
perf-util-y += tsc.o
perf-util-y += pmu.o
perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \
perf-util-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \
../../arm/util/auxtrace.o \
../../arm/util/cs-etm.o \
arm-spe.o mem-events.o hisi-ptt.o
perf-y += util/
perf-util-y += util/
perf-y += perf_regs.o
perf-util-y += perf_regs.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-y += util/
perf-util-y += util/
perf-y += perf_regs.o
perf-util-y += perf_regs.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-y += util/
perf-util-y += util/
perf-y += perf_regs.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-util-y += perf_regs.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
perf-y += util/
perf-util-y += util/
perf-test-y += tests/
perf-y += header.o
perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
perf-y += perf_regs.o
perf-y += mem-events.o
perf-y += pmu.o
perf-y += sym-handling.o
perf-y += evsel.o
perf-y += event.o
perf-util-y += header.o
perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
perf-util-y += perf_regs.o
perf-util-y += mem-events.o
perf-util-y += pmu.o
perf-util-y += sym-handling.o
perf-util-y += evsel.o
perf-util-y += event.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_DWARF) += skip-callchain-idx.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_DWARF) += skip-callchain-idx.o
perf-$(CONFIG_LIBUNWIND) += unwind-libunwind.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_LIBUNWIND) += unwind-libunwind.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-y += util/
perf-util-y += util/
perf-y += perf_regs.o
perf-y += header.o
perf-util-y += perf_regs.o
perf-util-y += header.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-y += util/
perf-util-y += util/
perf-y += header.o
perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
perf-y += perf_regs.o
perf-util-y += header.o
perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
perf-util-y += perf_regs.o
perf-$(CONFIG_DWARF) += dwarf-regs.o
perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-y += machine.o
perf-y += pmu.o
perf-util-y += machine.o
perf-util-y += pmu.o
perf-$(CONFIG_AUXTRACE) += auxtrace.o
perf-util-$(CONFIG_AUXTRACE) += auxtrace.o
perf-y += util/
perf-util-y += util/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment