From: Simon Marchi Date: Tue, 17 Aug 2021 19:23:41 +0000 (-0400) Subject: gdb: fix thread_step_over_chain_length X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c316c0b29d9991a231bdcbab0fcdc51114cddd13;p=binutils-gdb.git 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 --- 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;