From 8f50b4b574b9f34c4f23ce6d6508f72e9c2f5a59 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 15 Mar 2022 16:13:57 -0600 Subject: [PATCH] Do not capture updated 'pc' in add_local_symbols Simon pointed out that commit 13835d88 ("Use function view when iterating over block symbols") caused a regression. The bug is that the new closure captures 'pc' by reference, but later code updates this variable -- but the earlier code did not update the callback structure with the new value. This patch restores the old behavior by using a new varible name in an inner scope. --- gdb/tracepoint.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index 67b31182880..c45a9611abd 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -1082,8 +1082,8 @@ collection_list::add_local_symbols (struct gdbarch *gdbarch, CORE_ADDR pc, } else { - pc = get_pc_function_start (pc); - block = block_for_pc (pc); + CORE_ADDR fn_pc = get_pc_function_start (pc); + block = block_for_pc (fn_pc); if (block == NULL) { warning (_("Can't collect args; no symbol table info available.")); -- 2.30.2