From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 68791 invoked by alias); 17 Feb 2016 02:44:58 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 68751 invoked by uid 89); 17 Feb 2016 02:44:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=conversely, Hx-languages-length:3141, Stop, vCont X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 17 Feb 2016 02:44:55 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 9415D1E21 for ; Wed, 17 Feb 2016 02:44:54 +0000 (UTC) Received: from brno.lan (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1H2ipuK016136 for ; Tue, 16 Feb 2016 21:44:54 -0500 From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 3/5] gdb/doc: Clarify vCont packet description Date: Wed, 17 Feb 2016 02:44:00 -0000 Message-Id: <1455677091-13683-4-git-send-email-palves@redhat.com> In-Reply-To: <1455677091-13683-1-git-send-email-palves@redhat.com> References: <1455677091-13683-1-git-send-email-palves@redhat.com> X-SW-Source: 2016-02/txt/msg00493.txt.bz2 Specifically, what happens with multiple actions that could match a thread, and what happens when we get a vCont action that matches a thread that was already running. E.g., what does: "vCont;s:2" "vCont;s:1;c" mean for thread 2. (Thread 2 continues stepping.) gdb/doc/ChangeLog: 2016-02-16 Pedro Alves * gdb.texinfo (Packets): Clarify vCont packets with multiple actions that match a thread, and what happens when an action matches a thread that is already running. --- gdb/doc/gdb.texinfo | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 9db234e..d936176 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -35321,13 +35321,17 @@ for success in non-stop mode (@pxref{Remote Non-Stop}) @cindex @samp{vCont} packet @anchor{vCont packet} Resume the inferior, specifying different actions for each thread. -If an action is specified with no @var{thread-id}, then it is applied to any -threads that don't have a specific action specified; if no default action is -specified then other threads should remain stopped in all-stop mode and -in their current state in non-stop mode. -Specifying multiple -default actions is an error; specifying no actions is also an error. -Thread IDs are specified using the syntax described in @ref{thread-id syntax}. + +For each inferior thread, the leftmost action with a matching +@var{thread-id} is applied. Threads that don't match any action +remain in their current state. Thread IDs are specified using the +syntax described in @ref{thread-id syntax}. If multiprocess +extensions (@pxref{multiprocess extensions}) are supported, actions +can be specified to match all threads in a process by using the +@samp{p@var{pid}.-1} form of the @var{thread-id}. An action with no +@var{thread-id} is called the default action and matches all threads. +Specifying multiple default actions is an error; specifying no actions +is also an error. Currently supported actions are: @@ -35372,11 +35376,17 @@ the corresponding stop reply should indicate that the thread has stopped with signal @samp{0}, regardless of whether the target uses some other signal as an implementation detail. +The server must ignore @samp{c}, @samp{C}, @samp{s}, @samp{S}, and +@samp{r} actions for threads that are already running. Conversely, +the server must ignore @samp{t} actions for threads that are already +stopped. + +@emph{Note:} In non-stop mode, a thread is considered running until +@value{GDBN} acknowleges an asynchronous stop notification for it with +the @samp{vStopped} packet (@pxref{Remote Non-Stop}). + The stub must support @samp{vCont} if it reports support for -multiprocess extensions (@pxref{multiprocess extensions}). Note that in -this case @samp{vCont} actions can be specified to apply to all threads -in a process by using the @samp{p@var{pid}.-1} form of the -@var{thread-id}. +multiprocess extensions (@pxref{multiprocess extensions}). Reply: @xref{Stop Reply Packets}, for the reply specifications. -- 1.9.3