From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32014 invoked by alias); 6 Jan 2012 17:08:34 -0000 Received: (qmail 31997 invoked by uid 22791); 6 Jan 2012 17:08:32 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 06 Jan 2012 17:08:18 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1RjDH6-0005wr-IM from Luis_Gustavo@mentor.com ; Fri, 06 Jan 2012 09:08:16 -0800 Received: from NA1-MAIL.mgc.mentorg.com ([147.34.98.181]) by svr-orw-fem-01.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 6 Jan 2012 09:08:16 -0800 Received: from [0.0.0.0] ([172.16.63.104]) by NA1-MAIL.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 6 Jan 2012 09:08:15 -0800 Message-ID: <4F072A67.3030202@mentor.com> Date: Fri, 06 Jan 2012 17:08:00 -0000 From: Luis Machado Reply-To: "Gustavo, Luis" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15 MIME-Version: 1.0 To: Pedro Alves CC: gdb-patches@sourceware.org Subject: Re: [RFC stub-side break conditions 1/5] Documentation bits References: <4F05BA03.1010203@mentor.com> <4F071FAD.9050303@gmail.com> In-Reply-To: <4F071FAD.9050303@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit 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: 2012-01/txt/msg00241.txt.bz2 On 01/06/2012 02:22 PM, Pedro Alves wrote: > On 01/05/2012 02:56 PM, Luis Machado wrote: >> +@item @code{conditional-breakpoints-packet} >> +@tab @code{Z0 and Z1} >> +@tab @code{Support for stub-side breakpoint condition evaluation} >> @end multitable > > What about watchpoints, and other Z packets? I wasn't going to touch them for now, but i suppose they can be easily extended later on. > >> @node Remote Stub >> @@ -34149,7 +34206,7 @@ avoid potential problems with duplicate >> be implemented in an idempotent way.} >> >> @item z0,@var{addr},@var{kind} >> -@itemx Z0,@var{addr},@var{kind} >> +@itemx Z0,@var{addr},@var{kind};@r{[};@var{cond expr}@r{]}@dots{} >> @cindex @samp{z0} packet > > That seems to renders as ‘Z0,addr,kind;[;cond expr]...’ Not right, i'll fix it in the next iteration after clearing the packet format issue. > > Hmm. If we're reusing/extending Z packets, then I'd rather this doesn't > make it hard to support future extensions to the packet (e.g., thread > specific > breakpoints), while at the same time _not_ supporting stub-side > condition evaluation. So imagine that I'll add a new thread-id > (pPID.TID) > field to this packet, and I will specify an empty condition. How > will the > result look like? > > Z0,addr,kind;;pPID.TID > > ? > > Wouldn't it be better something like: > > Z0,addr,kind,cond_expr_list,other_future_extensions’ > > and cond_expr_list being a ;-separated list? Makes sense. The problem is that each conditional expression is of the form "size,expr". That's why i used a different marker to signal the beginning of an extension area. We could name each extension with a marker (cond, thread_id, itset etc...). Would it be too much overhead in the packet? Like the following. Z0,addr,kind,cond=size0,expr0;size1,expr1;...;sizen,exprn,itset=,foo=... Something that comes to mind regarding adding multiple extensions to these packets is the packet size limitation. We may have to add "continuation" packets if the extensions get too numerous. If that happens, it probably wouldn't be wise to rely on specific field ordering. -- Luis lgustavo@codesourcery.com