[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a12268cc-3e7b-4432-a620-6a7400f1da4a@intel.com>
Date: Tue, 21 Oct 2025 12:45:23 +0800
From: "Li, Tianyou" <tianyou.li@...el.com>
To: Namhyung Kim <namhyung@...nel.org>, Arnaldo Carvalho de Melo
<acme@...nel.org>, Ian Rogers <irogers@...gle.com>
CC: Jiri Olsa <jolsa@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...nel.org>, LKML
<linux-kernel@...r.kernel.org>, <linux-perf-users@...r.kernel.org>, "James
Clark" <james.clark@...aro.org>
Subject: Re: [PATCH] perf annotate: Fix build with NO_SLANG=1
Hi Namhyung,
My bad. Thanks for taking time to fix this. I've tested with my ICX box
with and without the patch. I can confirm the issue reproduced and fixed
by your patch, tested through 'make NO_SLANG=1'. Sorry about the
inconvenience. Thanks.
Regards,
Tianyou
On 10/21/2025 11:07 AM, Namhyung Kim wrote:
> The recent change for perf c2c annotate broke build without slang
> support like below.
>
> builtin-annotate.c: In function 'hists__find_annotations':
> builtin-annotate.c:522:73: error: 'NO_ADDR' undeclared (first use in this function); did you mean 'NR_ADDR'?
> 522 | key = hist_entry__tui_annotate(he, evsel, NULL, NO_ADDR);
> | ^~~~~~~
> | NR_ADDR
> builtin-annotate.c:522:73: note: each undeclared identifier is reported only once for each function it appears in
>
> builtin-annotate.c:522:31: error: too many arguments to function 'hist_entry__tui_annotate'
> 522 | key = hist_entry__tui_annotate(he, evsel, NULL, NO_ADDR);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> In file included from util/sort.h:6,
> from builtin-annotate.c:28:
> util/hist.h:756:19: note: declared here
> 756 | static inline int hist_entry__tui_annotate(struct hist_entry *he __maybe_unused,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
>
> And I noticed that it missed to update the other side of #ifdef
> HAVE_SLANG_SUPPORT. Let's fix it.
>
> Fixes: cd3466cd2639783d ("perf c2c: Add annotation support to perf c2c report")
> Cc: Tianyou Li <tianyou.li@...el.com>
> Signed-off-by: Namhyung Kim <namhyung@...nel.org>
> ---
> tools/perf/util/hist.h | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
> index 6795816eee856e8f..1d5ea632ca4e1b0b 100644
> --- a/tools/perf/util/hist.h
> +++ b/tools/perf/util/hist.h
> @@ -709,12 +709,12 @@ struct block_hist {
> struct hist_entry he;
> };
>
> +#define NO_ADDR 0
> +
> #ifdef HAVE_SLANG_SUPPORT
> #include "../ui/keysyms.h"
> void attr_to_script(char *buf, struct perf_event_attr *attr);
>
> -#define NO_ADDR 0
> -
> int __hist_entry__tui_annotate(struct hist_entry *he, struct map_symbol *ms,
> struct evsel *evsel,
> struct hist_browser_timer *hbt, u64 al_addr);
> @@ -748,14 +748,16 @@ int evlist__tui_browse_hists(struct evlist *evlist __maybe_unused,
> static inline int __hist_entry__tui_annotate(struct hist_entry *he __maybe_unused,
> struct map_symbol *ms __maybe_unused,
> struct evsel *evsel __maybe_unused,
> - struct hist_browser_timer *hbt __maybe_unused)
> + struct hist_browser_timer *hbt __maybe_unused,
> + u64 al_addr __maybe_unused)
> {
> return 0;
> }
>
> static inline int hist_entry__tui_annotate(struct hist_entry *he __maybe_unused,
> struct evsel *evsel __maybe_unused,
> - struct hist_browser_timer *hbt __maybe_unused)
> + struct hist_browser_timer *hbt __maybe_unused,
> + u64 al_addr __maybe_unused)
> {
> return 0;
> }
Powered by blists - more mailing lists