aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/annotate.c
diff options
context:
space:
mode:
authorIan Rogers <[email protected]>2023-03-28 23:55:40 +0000
committerArnaldo Carvalho de Melo <[email protected]>2023-04-04 12:39:56 +0000
commit217b7d41ea2038e52991b7a600a0b958330d8ae6 (patch)
tree77331825087426797a3e70787eb136c9e3345acf /tools/perf/util/annotate.c
parentperf report: Additional config warnings (diff)
downloadkernel-217b7d41ea2038e52991b7a600a0b958330d8ae6.tar.gz
kernel-217b7d41ea2038e52991b7a600a0b958330d8ae6.zip
perf annotate: Add init/exit to annotation_options remove default
The annotation__default_options global variable was used to initialize annotation_options. Switch to the init/exit pattern as later changes will give ownership over strings and this will be necessary to avoid memory leaks. Committer note: Fix the GTK2=1 build, hist_entry__gtk_annotate() needs to receive a 'struct annotation_options' pointer. Signed-off-by: Ian Rogers <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Andres Freund <[email protected]> Cc: German Gomez <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: James Clark <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Kan Liang <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Nathan Chancellor <[email protected]> Cc: Nick Desaulniers <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Sandipan Das <[email protected]> Cc: Tom Rix <[email protected]> Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r--tools/perf/util/annotate.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index db475e44f42f..a984bdae7811 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -55,14 +55,6 @@
#include <linux/ctype.h>
-struct annotation_options annotation__default_options = {
- .use_offset = true,
- .jump_arrows = true,
- .annotate_src = true,
- .offset_level = ANNOTATION__OFFSET_JUMP_TARGETS,
- .percent_type = PERCENT_PERIOD_LOCAL,
-};
-
static regex_t file_lineno;
static struct ins_ops *ins__find(struct arch *arch, const char *name);
@@ -3226,6 +3218,23 @@ static int annotation__config(const char *var, const char *value, void *data)
return 0;
}
+void annotation_options__init(struct annotation_options *opt)
+{
+ memset(opt, 0, sizeof(*opt));
+
+ /* Default values. */
+ opt->use_offset = true;
+ opt->jump_arrows = true;
+ opt->annotate_src = true;
+ opt->offset_level = ANNOTATION__OFFSET_JUMP_TARGETS;
+ opt->percent_type = PERCENT_PERIOD_LOCAL;
+}
+
+
+void annotation_options__exit(struct annotation_options *opt __maybe_unused)
+{
+}
+
void annotation_config__init(struct annotation_options *opt)
{
perf_config(annotation__config, opt);