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

Adrian Hunter adrian.hunter at intel.com
Tue Mar 28 06:24:00 PDT 2023


On 28/03/23 04:40, Ian Rogers wrote:
> 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.
> 

Seems like it could be a pain to maintain.

Did you consider just adding:

diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 82bbe0ca858b..a75dd47d68ee 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -456,6 +456,7 @@ static int libperf_print(enum libperf_print_level level,
 	return veprintf(level, verbose, fmt, ap);
 }
 
+#ifndef CUSTOM_MAIN
 int main(int argc, const char **argv)
 {
 	int err;
@@ -576,3 +577,4 @@ int main(int argc, const char **argv)
 out:
 	return 1;
 }
+#endif




More information about the linux-arm-kernel mailing list