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] [day] [month] [year] [list]
Message-ID: <aMWDI1BFsW0W4yp8@x1>
Date: Sat, 13 Sep 2025 11:43:47 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Ahmed Atef El-Emary <ahmed.software.engineer1@...il.com>
Cc: linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
	namhyung@...nel.org, irogers@...gle.com, jolsa@...nel.org,
	adrian.hunter@...el.com
Subject: Re: [PATCH] perf trace: Use consistent print_opts formatting in
 trace__fprintf_callchain()

On Tue, Aug 26, 2025 at 11:08:11AM +0300, Ahmed Atef El-Emary wrote:
> trace__fprintf_callchain() previously omitted IP and symoffset from its
> print_opts, unlike other callchain printers in perf. This resulted in
> less detailed and inconsistent callchain output.
> 
> Add EVSEL__PRINT_IP and EVSEL__PRINT_SYMOFFSET to make the output more
> consistent and informative. The callchain output now includes IP, symbol
> offset, DSO, and falls back to the raw address when no symbol is found,
> matching the detail level of other perf callchain outputs.

Can you please exemplify before and after output in addition of just
describing the changes?

- Arnaldo
 
> Signed-off-by: Ahmed Atef El-Emary <ahmed.software.engineer1@...il.com>
> ---
>  tools/perf/builtin-trace.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index fe737b3ac6e6..20f3488d4a21 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -2892,8 +2892,10 @@ static int trace__fprintf_callchain(struct trace *trace, struct perf_sample *sam
>  {
>  	/* TODO: user-configurable print_opts */
>  	const unsigned int print_opts = EVSEL__PRINT_SYM |
> -				        EVSEL__PRINT_DSO |
> -				        EVSEL__PRINT_UNKNOWN_AS_ADDR;
> +				EVSEL__PRINT_DSO |
> +				EVSEL__PRINT_UNKNOWN_AS_ADDR |
> +				EVSEL__PRINT_IP |
> +				EVSEL__PRINT_SYMOFFSET;
>  
>  	return sample__fprintf_callchain(sample, 38, print_opts, get_tls_callchain_cursor(), symbol_conf.bt_stop_list, trace->output);
>  }
> -- 
> 2.43.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ