From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21534 invoked by alias); 19 Apr 2004 14:59:35 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 21456 invoked from network); 19 Apr 2004 14:59:32 -0000 Received: from unknown (HELO miranda.se.axis.com) (193.13.178.2) by sources.redhat.com with SMTP; 19 Apr 2004 14:59:32 -0000 Received: from axis.com (ironmaiden.se.axis.com [10.13.8.120]) by miranda.se.axis.com (8.12.9/8.12.9/Debian-5local0.1) with ESMTP id i3JEwuUm010022; Mon, 19 Apr 2004 16:58:56 +0200 Message-ID: <4083E930.8040005@axis.com> Date: Mon, 19 Apr 2004 14:59:00 -0000 From: Orjan Friberg Organization: Axis Communications User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 MIME-Version: 1.0 To: Eli Zaretskii CC: drow@false.org, gdb-patches@sources.redhat.com Subject: Re: Display of read/access watchpoints when HAVE_NONSTEPPABLE_WATCHPOINT References: <407282F4.2080602@axis.com> <20040406142228.GA29473@nevyn.them.org> <6654-Thu15Apr2004111217+0300-eliz@gnu.org> <407E8CEF.2050007@axis.com> <407FC69A.1000701@axis.com> <1438-Sat17Apr2004112204+0300-eliz@gnu.org> In-Reply-To: <1438-Sat17Apr2004112204+0300-eliz@gnu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-04/txt/msg00425.txt.bz2 Eli Zaretskii wrote: > > How about if such targets would set a read/write (i.e. access) > watchpoint, and then use the same logic as i386: if the value didn't > change, don't announce the rwatch hit? In effect, you would be > emulating i386 behavior. Ah, good suggestion. Excellent in fact - both rwatch and watch/rwatch on the same variable work fine now. Thanks a lot! I was a bit worried, this being a remote target, that I'd have to remember the rwatch -> awatch conversion made internally in the stub, and report it as an rwatch when stopping. But the watch/rwatch/awatch information in the stop packet isn't passed on from remote.c - it's only used to parse out the remote watched data address. > That's a band-aid, I know. But to get rid of this mess altogether, > the GDB's watchpoint processing will need to be thoroughly revamped. > In particular, instead of walking all the watchpoints armed only with > the address that caused the inferior to stop, we would need to have > the target to tell us exactly what watchpoint triggered, and why. > That would mean pushing most of the related logic in > bpstat_stop_status into the target/architecture vectors, leaving the > GDB's application level with only the higher-level API that > communicates with the lower-level layers via watchpoint handles of > some kind. Agreed. I am quite happy to live with your suggested solution, at least for now. I certainly don't have the audacity to suggest such changes should be made to accomodate a target that isn't even submitted yet ;) . -- Orjan Friberg Axis Communications