[PATCH v1] perf libunwind: Fix calls to thread__e_machine

Ian Rogers posted 1 patch 1 month, 2 weeks ago
tools/perf/util/unwind-libunwind-local.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH v1] perf libunwind: Fix calls to thread__e_machine
Posted by Ian Rogers 1 month, 2 weeks ago
Add the missing e_flags option to fix the build.

Fixes: 4e66527f8859 ("perf thread: Add optional e_flags output argument to thread__e_machine")
Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/unwind-libunwind-local.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/unwind-libunwind-local.c b/tools/perf/util/unwind-libunwind-local.c
index ecf0c01fe51f..5b39ce21e333 100644
--- a/tools/perf/util/unwind-libunwind-local.c
+++ b/tools/perf/util/unwind-libunwind-local.c
@@ -584,7 +584,9 @@ static int access_mem(unw_addr_space_t __maybe_unused as,
 	}
 
 	ret = perf_reg_value(&start, perf_sample__user_regs(ui->sample),
-			     perf_arch_reg_sp(thread__e_machine(ui->thread, ui->machine)));
+			     perf_arch_reg_sp(thread__e_machine(ui->thread,
+								ui->machine,
+								/*e_flags=*/NULL)));
 	if (ret)
 		return ret;
 
@@ -733,7 +735,7 @@ static void _unwind__finish_access(struct maps *maps)
 static int get_entries(struct unwind_info *ui, unwind_entry_cb_t cb,
 		       void *arg, int max_stack)
 {
-	uint16_t e_machine = thread__e_machine(ui->thread, ui->machine);
+	uint16_t e_machine = thread__e_machine(ui->thread, ui->machine, /*e_flags=*/NULL);
 	u64 val;
 	unw_word_t ips[max_stack];
 	unw_addr_space_t addr_space;
-- 
2.53.0.239.g8d8fc8a987-goog
Re: [PATCH v1] perf libunwind: Fix calls to thread__e_machine
Posted by Arnaldo Carvalho de Melo 1 month, 2 weeks ago
On Tue, Feb 10, 2026 at 09:38:27PM -0800, Ian Rogers wrote:
> Add the missing e_flags option to fix the build.
> 
> Fixes: 4e66527f8859 ("perf thread: Add optional e_flags output argument to thread__e_machine")
> Signed-off-by: Ian Rogers <irogers@google.com>

Thanks, applied to perf-tools-next,

- Arnaldo
> ---
>  tools/perf/util/unwind-libunwind-local.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/unwind-libunwind-local.c b/tools/perf/util/unwind-libunwind-local.c
> index ecf0c01fe51f..5b39ce21e333 100644
> --- a/tools/perf/util/unwind-libunwind-local.c
> +++ b/tools/perf/util/unwind-libunwind-local.c
> @@ -584,7 +584,9 @@ static int access_mem(unw_addr_space_t __maybe_unused as,
>  	}
>  
>  	ret = perf_reg_value(&start, perf_sample__user_regs(ui->sample),
> -			     perf_arch_reg_sp(thread__e_machine(ui->thread, ui->machine)));
> +			     perf_arch_reg_sp(thread__e_machine(ui->thread,
> +								ui->machine,
> +								/*e_flags=*/NULL)));
>  	if (ret)
>  		return ret;
>  
> @@ -733,7 +735,7 @@ static void _unwind__finish_access(struct maps *maps)
>  static int get_entries(struct unwind_info *ui, unwind_entry_cb_t cb,
>  		       void *arg, int max_stack)
>  {
> -	uint16_t e_machine = thread__e_machine(ui->thread, ui->machine);
> +	uint16_t e_machine = thread__e_machine(ui->thread, ui->machine, /*e_flags=*/NULL);
>  	u64 val;
>  	unw_word_t ips[max_stack];
>  	unw_addr_space_t addr_space;
> -- 
> 2.53.0.239.g8d8fc8a987-goog
>