2023-12-07 20:17:25

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH 4/8] perf annotate: Use global annotation_options

Em Tue, Nov 28, 2023 at 09:54:37AM -0800, Namhyung Kim escreveu:
> Now it can directly use the global options and no need to pass it as an
> argument.

At this point the build breaks when using GTK2=1 on the make command
line, as done in 'make -C tools/perf build-test', so I had to add the
following patch on top of this 4/8 patch:


diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index a53a4e711899f20d..9c1e2b2b5bc0b730 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -365,7 +365,6 @@ static void hists__find_annotations(struct hists *hists,
int ret;
int (*annotate)(struct hist_entry *he,
struct evsel *evsel,
- struct annotation_options *options,
struct hist_browser_timer *hbt);

annotate = dlsym(perf_gtk_handle,
@@ -375,7 +374,7 @@ static void hists__find_annotations(struct hists *hists,
return;
}

- ret = annotate(he, evsel, &annotate_opts, NULL);
+ ret = annotate(he, evsel, NULL);
if (!ret || !ann->skip_missing)
return;

diff --git a/tools/perf/ui/gtk/annotate.c b/tools/perf/ui/gtk/annotate.c
index 2effac77ca8c6742..394861245fd3e48f 100644
--- a/tools/perf/ui/gtk/annotate.c
+++ b/tools/perf/ui/gtk/annotate.c
@@ -162,7 +162,6 @@ static int perf_gtk__annotate_symbol(GtkWidget *window, struct map_symbol *ms,
}

static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel,
- struct annotation_options *options,
struct hist_browser_timer *hbt)
{
struct dso *dso = map__dso(ms->map);
@@ -176,7 +175,7 @@ static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel,
if (dso->annotate_warned)
return -1;

- err = symbol__annotate(ms, evsel, options, NULL);
+ err = symbol__annotate(ms, evsel, NULL);
if (err) {
char msg[BUFSIZ];
dso->annotate_warned = true;
@@ -244,10 +243,9 @@ static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel,

int hist_entry__gtk_annotate(struct hist_entry *he,
struct evsel *evsel,
- struct annotation_options *options,
struct hist_browser_timer *hbt)
{
- return symbol__gtk_annotate(&he->ms, evsel, options, hbt);
+ return symbol__gtk_annotate(&he->ms, evsel, hbt);
}

void perf_gtk__show_annotations(void)
diff --git a/tools/perf/ui/gtk/gtk.h b/tools/perf/ui/gtk/gtk.h
index 1e84dceb52671385..a2b497f03fd6e478 100644
--- a/tools/perf/ui/gtk/gtk.h
+++ b/tools/perf/ui/gtk/gtk.h
@@ -56,13 +56,11 @@ struct evsel;
struct evlist;
struct hist_entry;
struct hist_browser_timer;
-struct annotation_options;

int evlist__gtk_browse_hists(struct evlist *evlist, const char *help,
struct hist_browser_timer *hbt, float min_pcnt);
int hist_entry__gtk_annotate(struct hist_entry *he,
struct evsel *evsel,
- struct annotation_options *options,
struct hist_browser_timer *hbt);
void perf_gtk__show_annotations(void);


2023-12-07 20:35:15

by Namhyung Kim

[permalink] [raw]
Subject: Re: [PATCH 4/8] perf annotate: Use global annotation_options

On Thu, Dec 7, 2023 at 12:17 PM Arnaldo Carvalho de Melo
<[email protected]> wrote:
>
> Em Tue, Nov 28, 2023 at 09:54:37AM -0800, Namhyung Kim escreveu:
> > Now it can directly use the global options and no need to pass it as an
> > argument.
>
> At this point the build breaks when using GTK2=1 on the make command
> line, as done in 'make -C tools/perf build-test', so I had to add the
> following patch on top of this 4/8 patch:

Oops, I forgot to test with it. Thanks for fixing this!

Thanks,
Namhyung

>
>
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index a53a4e711899f20d..9c1e2b2b5bc0b730 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -365,7 +365,6 @@ static void hists__find_annotations(struct hists *hists,
> int ret;
> int (*annotate)(struct hist_entry *he,
> struct evsel *evsel,
> - struct annotation_options *options,
> struct hist_browser_timer *hbt);
>
> annotate = dlsym(perf_gtk_handle,
> @@ -375,7 +374,7 @@ static void hists__find_annotations(struct hists *hists,
> return;
> }
>
> - ret = annotate(he, evsel, &annotate_opts, NULL);
> + ret = annotate(he, evsel, NULL);
> if (!ret || !ann->skip_missing)
> return;
>
> diff --git a/tools/perf/ui/gtk/annotate.c b/tools/perf/ui/gtk/annotate.c
> index 2effac77ca8c6742..394861245fd3e48f 100644
> --- a/tools/perf/ui/gtk/annotate.c
> +++ b/tools/perf/ui/gtk/annotate.c
> @@ -162,7 +162,6 @@ static int perf_gtk__annotate_symbol(GtkWidget *window, struct map_symbol *ms,
> }
>
> static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel,
> - struct annotation_options *options,
> struct hist_browser_timer *hbt)
> {
> struct dso *dso = map__dso(ms->map);
> @@ -176,7 +175,7 @@ static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel,
> if (dso->annotate_warned)
> return -1;
>
> - err = symbol__annotate(ms, evsel, options, NULL);
> + err = symbol__annotate(ms, evsel, NULL);
> if (err) {
> char msg[BUFSIZ];
> dso->annotate_warned = true;
> @@ -244,10 +243,9 @@ static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel,
>
> int hist_entry__gtk_annotate(struct hist_entry *he,
> struct evsel *evsel,
> - struct annotation_options *options,
> struct hist_browser_timer *hbt)
> {
> - return symbol__gtk_annotate(&he->ms, evsel, options, hbt);
> + return symbol__gtk_annotate(&he->ms, evsel, hbt);
> }
>
> void perf_gtk__show_annotations(void)
> diff --git a/tools/perf/ui/gtk/gtk.h b/tools/perf/ui/gtk/gtk.h
> index 1e84dceb52671385..a2b497f03fd6e478 100644
> --- a/tools/perf/ui/gtk/gtk.h
> +++ b/tools/perf/ui/gtk/gtk.h
> @@ -56,13 +56,11 @@ struct evsel;
> struct evlist;
> struct hist_entry;
> struct hist_browser_timer;
> -struct annotation_options;
>
> int evlist__gtk_browse_hists(struct evlist *evlist, const char *help,
> struct hist_browser_timer *hbt, float min_pcnt);
> int hist_entry__gtk_annotate(struct hist_entry *he,
> struct evsel *evsel,
> - struct annotation_options *options,
> struct hist_browser_timer *hbt);
> void perf_gtk__show_annotations(void);
>