From c316c0b29d9991a231bdcbab0fcdc51114cddd13 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 17 Aug 2021 15:23:41 -0400 Subject: [PATCH] gdb: fix thread_step_over_chain_length 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 8f0584e5238..a82fb49140a 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.30.2