From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 5+McCdZw82k4bwYAWB0awg (envelope-from ) for ; Thu, 30 Apr 2026 11:10:14 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=cUZmRMWf; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 08A9C1E0BA; Thu, 30 Apr 2026 11:10:14 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 1D12F1E067 for ; Thu, 30 Apr 2026 11:10:13 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id D637B436A040 for ; Thu, 30 Apr 2026 15:10:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D637B436A040 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=cUZmRMWf Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 8B79F436F7DC for ; Thu, 30 Apr 2026 15:09:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8B79F436F7DC Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8B79F436F7DC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777561775; cv=none; b=GLMWXZC6kJtfjlUzNLEb7ah+uu+qBPosGrAM3UnA8T8snagCR3ebWsX3R6Xe/HIF1kxKI+Q0b2x3BT2RCf2+Hx705BaWPLbgo7KI4rbsZtKvBZ4iHz1tCZnZGgfyAPzEjLxWa2GFcXOsw5dCPuqXU1iWcIYD6ogqWN9ebja4iho= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777561775; c=relaxed/simple; bh=fCTDB9WW39eQIzPCoJHuhrL1rNdNau6RCX1burBDlik=; h=DKIM-Signature:Date:Message-Id:From:To:Subject; b=FAS6wN6Qx7o8MmoQyAUDdTTVjmYv/Tk5B24tktPKGt7zMrRGZoCXwJV+8/aPijE6i9ns71Rojs+m8bfZ3hQkWWKXDIzA2ZKPULs4kqfGz08DAh7wYgOevsRe0f8WeOSWpGeoPfcudnsp+VqpP+GxXl4mVf0t15nv8xfp+948YGA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8B79F436F7DC Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wIT1C-0002Vm-QY; Thu, 30 Apr 2026 11:09:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=pNi6nTnF+TzEgF6Oc6hscJZL2eOTvCXmi4NR/yoRBqw=; b=cUZmRMWfn6ep z8WA/QYr1l3OnEsqc0FGmF0GfjFW9TKME+FJcIItmwGRnNfVxiq86Tvky6gRTl/egv+n+1hxNNJ7F 3rTDnZsbU3gWkkxNhJEeIYuQAf13b0k4OlNylBCp7ox5y1o8QEEEYbH9OwIqdteEk7YuXDEYs3olc PlAij0Hf9Tv9jQCEBaFSNN55WIfZKE4pFi/Z3ga6m2YZxYysjOtQCnD6/YOLp5NW6lJy0fEVIwuzx 2uc13Jz8D+qJd+uIyUphcr4jHW0nUunUlw2HMFwwNBbMV0o9gw1cnMxLIh9m9t/dp9dWOMYX7Zz5+ QKrXMQZzGy+nk3nBCl6dtg==; Date: Thu, 30 Apr 2026 18:09:15 +0300 Message-Id: <86o6j032p0.fsf@gnu.org> From: Eli Zaretskii To: Pedro Alves Cc: ssbssa@yahoo.de, gdb-patches@sourceware.org In-Reply-To: <9164005f-57fe-4027-8cf8-d7bd396a9812@palves.net> (message from Pedro Alves on Thu, 30 Apr 2026 15:15:42 +0100) Subject: Re: [PATCH] Clarify "maint set target-non-stop" in GDB manual (Re: [PATCH v3 00/11] Windows non-stop mode) References: <20260429201507.480870-1-pedro@palves.net> <86a4ul3sbb.fsf@gnu.org> <601b9ddc-382c-42ce-82c0-c01d3266021a@palves.net> <86wlxo3dkf.fsf@gnu.org> <9164005f-57fe-4027-8cf8-d7bd396a9812@palves.net> X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org > Date: Thu, 30 Apr 2026 15:15:42 +0100 > From: Pedro Alves > Cc: ssbssa@yahoo.de, gdb-patches@sourceware.org > > > OK, I can take a look at this. > > How about this below? > > Note I added a note saying that this isn't useful to users, but note that the maint commands appendix already starts with: > > "In addition to commands intended for GDB users, GDB includes a number of commands intended for GDB developers, that are not documented elsewhere in this manual. Thanks. > +The following @code{set non-stop off} combinations are valid: Shouldn't it also say something about "set non-stop on"? > +@table @code > +@item @code{set non-stop off}, target operating in all-stop mode > +When a @value{GDBN} target is operating in all-stop mode, then when > +a thread hits a breakpoint, finishes a step, etc., the target stops > +all threads, and reports the event to the infrun module in the core of > +@value{GDBN}. If infrun decides the stop is not to be seen by the > +user, infrun re-resumes all threads again. In other words, all > +threads stop and are re-resumed for every debug event, even for debug > +events that are internal and do not cause a user-visible stop. > + > +@item @code{set non-stop off}, target operating in non-stop mode > +When a @value{GDBN} target is operating in non-stop mode in > +combination with @code{set non-stop} set to @code{off}, it is said > +that @value{GDBN} is operating in ``all-stop on top of non-stop''. In > +this scenario, when a thread hits a breakpoint, finishes a step, etc., > +the target does not immediately stop all other threads. If, while > +processing the event, infrun decides the stop should be reported to > +the user, it then explicitly stops all threads, just before presenting > +the stop to the user; otherwise, infrun re-resumes the stopped thread. > +@end table The second @item says "...in combination with @code{set non-stop} set to @code{off}", which is a Good Thing, but the first @item doesn't say the same about the "on" setting. I suggest to make the style more consistent. Also, what about the description of "set non-stop", the user-level command? It currently doesn't even say what is the default. In addition, the fact that its description says "Enable selection of non-stop mode" is confusing, because it makes it sound like there's some other command to actually "select" the non-stop mode. The text which attempts to explain the "enable" part, viz.: Note these commands only reflect whether non-stop mode is enabled, not whether the currently-executing program is being run in non-stop mode. In particular, the 'set non-stop' preference is only consulted when GDB starts or connects to the target program, and it is generally not possible to switch modes once debugging has started. Furthermore, since not all targets support non-stop mode, even when you have enabled non-stop mode, GDB may still fall back to all-stop operation by default. doesn't really justify the "enable" part. It won't surprise anyone that "set non-stop on" will only work if the target doesn't support it, and the fact that this command only affects the next inferior to be started is just a factoid to be mentioned, but it again doesn't justify the "enable" confusion, IMO.