From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9129 invoked by alias); 2 Jun 2006 07:26:39 -0000 Received: (qmail 8988 invoked by uid 22791); 2 Jun 2006 07:26:38 -0000 X-Spam-Check-By: sourceware.org Received: from intranet.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.6) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 02 Jun 2006 07:26:35 +0000 Received: (qmail 7312 invoked from network); 2 Jun 2006 07:26:33 -0000 Received: from unknown (HELO ?192.168.189.145?) (nathan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 2 Jun 2006 07:26:33 -0000 Message-ID: <447FE807.6030808@codesourcery.com> Date: Fri, 02 Jun 2006 07:26:00 -0000 From: Nathan Sidwell User-Agent: Mozilla Thunderbird 1.0.8 (X11/20060502) MIME-Version: 1.0 To: Daniel Jacobowitz CC: Eli Zaretskii , gdb-patches@sourceware.org Subject: Re: patch for invalid hw breakpoints References: <447EE9A8.4050800@codesourcery.com> <20060601172639.GA25709@nevyn.them.org> <447F27BC.6030808@codesourcery.com> <20060601180321.GA26791@nevyn.them.org> In-Reply-To: <20060601180321.GA26791@nevyn.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-06/txt/msg00014.txt.bz2 Daniel Jacobowitz wrote: > On Thu, Jun 01, 2006 at 06:45:32PM +0100, Nathan Sidwell wrote: > >>The remote stub can deal with this, but the functionality detection code in >>remote.c cannot. In particular this bit of code in >>remote_remove_watchpoint triggers because the just attempted >>remote_insert_watchpoint call has now set the support field to >>PACKET_DISABLE. > > > Oh. So, more like this: > > -> Z2,11110000 > <- [empty: I don't support that.] > tries to send: -> z2,11110000 > [internal error, I already know I don't support that!] > > That could be changed in remote.c, but not removing what we didn't > insert does seem cleaner. That was the other alternative, of tracking Z & z packet functionality separately, but as you say not removing what we didn't insert seems cleaner. I suspect that there's actually another failure mode which my patch fixes and it would be hard for remote.c to fix, and that is when the watched expression inserts more than one hardware watchpoint. The current code will attempt to insert multiple hw watchpoints, and remote.c will signal an internal error on inserting the second one -> Z2,11110000 <- [empty: I don't support that.] tries to send: -> Z2,abcdef [internal error, I already know I don't support that!] nathan -- Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk