* [PATCH] perf annotate: Fix build with NO_SLANG=1
@ 2025-10-21 3:07 Namhyung Kim
2025-10-21 4:45 ` Li, Tianyou
2025-10-22 0:39 ` Namhyung Kim
0 siblings, 2 replies; 3+ messages in thread
From: Namhyung Kim @ 2025-10-21 3:07 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Ian Rogers
Cc: Jiri Olsa, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
linux-perf-users, James Clark, Tianyou Li
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@intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.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;
}
--
2.51.0.869.ge66316f041-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] perf annotate: Fix build with NO_SLANG=1
2025-10-21 3:07 [PATCH] perf annotate: Fix build with NO_SLANG=1 Namhyung Kim
@ 2025-10-21 4:45 ` Li, Tianyou
2025-10-22 0:39 ` Namhyung Kim
1 sibling, 0 replies; 3+ messages in thread
From: Li, Tianyou @ 2025-10-21 4:45 UTC (permalink / raw)
To: Namhyung Kim, Arnaldo Carvalho de Melo, Ian Rogers
Cc: Jiri Olsa, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
linux-perf-users, James Clark
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@intel.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.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;
> }
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] perf annotate: Fix build with NO_SLANG=1
2025-10-21 3:07 [PATCH] perf annotate: Fix build with NO_SLANG=1 Namhyung Kim
2025-10-21 4:45 ` Li, Tianyou
@ 2025-10-22 0:39 ` Namhyung Kim
1 sibling, 0 replies; 3+ messages in thread
From: Namhyung Kim @ 2025-10-22 0:39 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Ian Rogers, Namhyung Kim
Cc: Jiri Olsa, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
linux-perf-users, James Clark, Tianyou Li
On Tue, 21 Oct 2025 12:07:50 +0900, 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
>
> [...]
Applied to perf-tools-next, thanks!
Best regards,
Namhyung
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-22 0:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-21 3:07 [PATCH] perf annotate: Fix build with NO_SLANG=1 Namhyung Kim
2025-10-21 4:45 ` Li, Tianyou
2025-10-22 0:39 ` Namhyung Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).