[PATCH v1 0/6] Simplify linking against tools/perf code

From: Ian Rogers
Date: Mon Mar 27 2023 - 21:41:16 EST


When fuzzing something like parse-events, having the main function in
perf.c alongside global variables like input_name means that
input_name must be redeclared with the fuzzer function's
main. However, as the fuzzer is using the tools/perf code as a library
this causes backward linking reference that the linker may warn
about. Reorganize perf.c and perf.h to avoid potential backward
references, or so that the declaration/definition locations are more
consistent.

Ian Rogers (6):
perf ui: Move window resize signal functions
perf usage: Move usage strings
perf header: Move perf_version_string declaration
perf version: Use regular verbose flag
perf util: Move input_name to util
perf util: Move perf_guest/host declarations

tools/perf/builtin-annotate.c | 2 +-
tools/perf/builtin-buildid-list.c | 2 +-
tools/perf/builtin-c2c.c | 2 +-
tools/perf/builtin-data.c | 2 +-
tools/perf/builtin-diff.c | 2 +-
tools/perf/builtin-evlist.c | 2 +-
tools/perf/builtin-help.c | 1 +
tools/perf/builtin-kmem.c | 2 +-
tools/perf/builtin-kvm.c | 1 +
tools/perf/builtin-kwork.c | 2 +-
tools/perf/builtin-mem.c | 2 +-
tools/perf/builtin-sched.c | 2 +-
tools/perf/builtin-stat.c | 2 +-
tools/perf/builtin-timechart.c | 2 +-
tools/perf/builtin-version.c | 7 +++----
tools/perf/builtin.h | 3 ---
tools/perf/perf.c | 27 +--------------------------
tools/perf/perf.h | 9 ---------
tools/perf/ui/browsers/hists.c | 2 +-
tools/perf/ui/hist.c | 2 +-
tools/perf/ui/setup.c | 19 +++++++++++++++++++
tools/perf/ui/tui/setup.c | 1 -
tools/perf/ui/ui.h | 3 +++
tools/perf/util/cs-etm.c | 1 +
tools/perf/util/event.c | 2 +-
tools/perf/util/evlist.c | 1 +
tools/perf/util/header.h | 2 ++
tools/perf/util/parse-events.c | 2 +-
tools/perf/util/session.c | 2 +-
tools/perf/util/top.c | 2 +-
tools/perf/util/usage.c | 6 ++++++
tools/perf/util/util.c | 2 ++
tools/perf/util/util.h | 8 ++++++++
33 files changed, 66 insertions(+), 61 deletions(-)

--
2.40.0.348.gf938b09366-goog