From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31134 invoked by alias); 10 Sep 2014 17:45:21 -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 31122 invoked by uid 89); 10 Sep 2014 17:45:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-vc0-f202.google.com Received: from mail-vc0-f202.google.com (HELO mail-vc0-f202.google.com) (209.85.220.202) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 10 Sep 2014 17:45:18 +0000 Received: by mail-vc0-f202.google.com with SMTP id id10so1983433vcb.3 for ; Wed, 10 Sep 2014 10:45:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:mime-version:content-type :content-transfer-encoding:message-id:date:to:cc:subject:in-reply-to :references; bh=/2+Hfy34An1s1j84hofYl6ThqgSUYKqkMbF79QYYRs4=; b=mohl8rjj2dpyMY44UN8c3VbblycljxF0XNd7oe/rSsWUGNbFT9JwqouQew/smvuxmV or/hchMo8ehnxW6wse0S8yAertphPGkeCG5gJp+2V4ldSBjHmHAYzDzM9eRzvkMPXzib g8/bF2ZGSLbfX7NGEQAuP6K1bMlg7XLgDqT9g9o+CGoa2wMkvM+v10YvWJcHLd1+NBoE x5enkMnPxBZxa+UykYo/73djhWih0op/O8QkjVR3xkxvaU+xo2fwxINXWci64oT1Wiib i6sr0I94znWdCH8SOnqtbwgx/wq6srvf+aPpdw7+9ZJK2V0lAPxoJ9OCs6eMj/9pRlAe dO6A== X-Gm-Message-State: ALoCoQkACLSy1heyy+J/qcqUvPuNXBcObol84An2MjbHFXbo/x6ASniU1zI0+WtGzOx3NH/Z7wNn X-Received: by 10.52.186.103 with SMTP id fj7mr26502348vdc.8.1410371115965; Wed, 10 Sep 2014 10:45:15 -0700 (PDT) Received: from corpmail-nozzle1-1.hot.corp.google.com ([100.108.1.104]) by gmr-mx.google.com with ESMTPS id l9si532470pdn.0.2014.09.10.10.45.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Sep 2014 10:45:15 -0700 (PDT) Received: from ruffy2.mtv.corp.google.com ([172.17.128.107]) by corpmail-nozzle1-1.hot.corp.google.com with ESMTP id fet61d0z.1; Wed, 10 Sep 2014 10:45:15 -0700 From: Doug Evans MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <21520.36381.756875.963606@ruffy2.mtv.corp.google.com> Date: Wed, 10 Sep 2014 17:45:00 -0000 To: Gary Benson Cc: gdb-patches@sourceware.org, Pedro Alves Subject: Re: [PATCH 3/9 v7] Introduce target_{stop,continue}_ptid In-Reply-To: <1409320299-6812-4-git-send-email-gbenson@redhat.com> References: <1409320299-6812-1-git-send-email-gbenson@redhat.com> <1409320299-6812-4-git-send-email-gbenson@redhat.com> X-IsSubscribed: yes X-SW-Source: 2014-09/txt/msg00338.txt.bz2 Gary Benson writes: > This commit introduces two new functions to stop and restart target > processes that shared code can use and that clients must implement. > It also changes some shared code to use these functions. > > The changes in this patch replace the target_stop, target_wait > and target_resume parts of this patch I posted on August 1: > https://sourceware.org/ml/gdb-patches/2014-08/msg00014.html > The remainder of that patch is in patch 2 of this series. > > gdb/ChangeLog: > > * target/target.h (target_stop_ptid, target_continue_ptid): > Declare. > * target.c (target_stop_ptid, target_continue_ptid): New > functions. > * common/agent.c [!GDBSERVER]: Don't include infrun.h. > (agent_run_command): Always use target_stop_ptid and > target_continue_ptid. > > gdb/gdbserver/ChangeLog: > > * target.c (target_stop_ptid, target_continue_ptid): New > functions. > [...] > diff --git a/gdb/target.c b/gdb/target.c > index 711e7cb..339b1d1 100644 > --- a/gdb/target.c > +++ b/gdb/target.c > @@ -3027,6 +3027,31 @@ target_stop (ptid_t ptid) > (*current_target.to_stop) (¤t_target, ptid); > } > > [...] > +/* See target/target.h. */ > + > +void > +target_continue_ptid (ptid_t ptid) > +{ > + target_resume (ptid, 0, GDB_SIGNAL_0); > +} > + Hi. How come GDB_SIGNAL_0 is used here? Maybe it's correct, but it's not immediately clear. The reason I ask is because there are two ways to "continue" the inferior: 1) resume it where it left off, and if it stopped because of a signal then forward on that signal (assuming the signal is not "nopass") (GDB_SIGNAL_DEFAULT). 2) Either inject a new signal (GDB_SIGNAL_FOO) or cancel out a previously queued signal (GDB_SIGNAL_0). GDB_SIGNAL_0 is used to resume the target and discarding any signal that it may have stopped for. GDB_SIGNAL_DEFAULT is used for (1). I realize the comments for target_resume say to not pass GDB_SIGNAL_DEFAULT to it. But the name "target_continue_ptid" with no option to choose between (1) and (2) says to me "do what GDB_SIGNAL_DEFAULT" does. > +/* Restart a target that was previously stopped by target_stop_ptid. > + This function must be provided by the client. */ > + > +extern void target_continue_ptid (ptid_t ptid); > +