From: Tom Tromey Date: Tue, 15 Mar 2022 22:13:57 +0000 (-0600) Subject: Do not capture updated 'pc' in add_local_symbols X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8f50b4b574b9f34c4f23ce6d6508f72e9c2f5a59;p=binutils-gdb.git 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. --- 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."));