[pushed] gdb: fix thread_step_over_chain_length
Simon Marchi
simon.marchi@polymtl.ca
Tue Aug 17 19:27:18 GMT 2021
If I debug a single-thread program and look at the infrun debug logs, I
see:
[infrun] start_step_over: stealing global queue of threads to step, length = 2
That makes no sense... turns out there's a buglet in
thread_step_over_chain_length, "num" should be initialized to 0. I
think this bug is a leftover from an earlier version of the code (not
merged upstream) that manually walked the list, where the first item was
implicitly counted (hence the 1).
Change-Id: I0af03aa93509aed36528be5076894dc156a0b5ce
---
gdb/thread.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/thread.c b/gdb/thread.c
index 8f0584e5238e..a82fb49140a3 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -380,7 +380,7 @@ thread_is_in_step_over_chain (struct thread_info *tp)
int
thread_step_over_chain_length (const thread_step_over_list &l)
{
- int num = 1;
+ int num = 0;
for (const thread_info &thread ATTRIBUTE_UNUSED : l)
++num;
--
2.32.0
More information about the Gdb-patches
mailing list