lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ