aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2022-03-15 16:13:57 -0600
committerTom Tromey <tom@tromey.com>2022-03-15 16:13:57 -0600
commit8f50b4b574b9f34c4f23ce6d6508f72e9c2f5a59 (patch)
tree0613cc5e2a45d0d8c3428dc5f4f102f0f81c672a /gdb
parent6aa03e9c1769c8d925f4d23d72af93483bfd31f3 (diff)
downloadbinutils-8f50b4b574b9f34c4f23ce6d6508f72e9c2f5a59.zip
binutils-8f50b4b574b9f34c4f23ce6d6508f72e9c2f5a59.tar.gz
binutils-8f50b4b574b9f34c4f23ce6d6508f72e9c2f5a59.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/tracepoint.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 67b3118..c45a961 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."));