From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2913 invoked by alias); 28 Feb 2013 10:02:56 -0000 Received: (qmail 2901 invoked by uid 22791); 28 Feb 2013 10:02:54 -0000 X-SWARE-Spam-Status: No, hits=-6.6 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 28 Feb 2013 10:02:44 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r1SA2fHR029976 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 28 Feb 2013 05:02:41 -0500 Received: from host2.jankratochvil.net (ovpn-116-19.ams2.redhat.com [10.36.116.19]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r1SA2b1Z009611 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 28 Feb 2013 05:02:40 -0500 Date: Thu, 28 Feb 2013 11:31:00 -0000 From: Jan Kratochvil To: "Metzger, Markus T" Cc: Pedro Alves , "gdb-patches@sourceware.org" , "markus.t.metzger@gmail.com" Subject: Re: [rfc] remote, btrace: add branch tracing protocol to Qbtrace packet Message-ID: <20130228100236.GA10937@host2.jankratochvil.net> References: <1361546562-26827-1-git-send-email-markus.t.metzger@intel.com> <512BCA6D.6050909@redhat.com> <20130227164738.GA29902@host2.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes 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 X-SW-Source: 2013-02/txt/msg00732.txt.bz2 On Thu, 28 Feb 2013 09:45:23 +0100, Metzger, Markus T wrote: > Btw, I think target sub-commands are created dynamically when you call add_target. Yes; but add_target is called unconditionally during GDB startup so from the user point of view the commands are not created dynamically. > > If "lbr" exists it should be enabled by default without asking the user. > > We could do that until the user requests BTS tracing or full tracing. This would > mean that there would be a record target pushed implicitly. With the current > logic, this would prevent displaced stepping and would require an explicit > record stop before another record target can be pushed. > > I think we should discuss the details once we start sending patches to enable > LBR tracing. Yes; I understand it may not be trivial but LBR by default would be great. > > No preference for the qSupported details, I am OK with your proposal myself, > > "qXfer" gdbserver->gdb feature is designed that way already. > > Pedro objected and rather wanted a comma-separated list, i.e. > > ....;Qbtrace=bts,lbr;... > > I'm fine either way. For the way I proposed and what seems to be your preference, > as well, I already found code in GDB to handle it. For Pedro's preferred way, I have > not found anything that I could reuse. > > I would like to get the minimal changes in with the btrace series so we don't need > to rework the protocol later on and are forced to maintain backwards compatibility. > I do not intend to implement full support for different branch trace recording > methods right now, since we currently only have one. We will add that support > when there's a need. > > Pedro did not respond to my reply. I don't know how to proceed, here. OK; hopefully Pedro will. For example qXfer:* sets a precedent for it IMO although delegating all gdbserver decisions to Pedro: PacketSize=3fff;QPassSignals+;qXfer:libraries-svr4:read+;qXfer:auxv:read+;qXfer:spu:read+;qXfer:spu:write+;qXfer:siginfo:read+;qXfer:siginfo:write+;qXfer:features:read+;QStartNoAckMode+;qXfer:osdata:read+;multiprocess+;QNonStop+;QDisableRandomization+;qXfer:threads:read+;ConditionalTracepoints+;TraceStateVariables+;TracepointSource+;DisconnectedTracing+;FastTracepoints+;StaticTracepoints+;InstallInTrace+;qXfer:statictrace:read+;qXfer:traceframe-info:read+;EnableDisableTracepoints+;tracenz+ Thanks, Jan