From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3965 invoked by alias); 21 Sep 2002 08:32:39 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 3958 invoked from network); 21 Sep 2002 08:32:38 -0000 Received: from unknown (HELO balder.inter.net.il) (192.114.186.15) by sources.redhat.com with SMTP; 21 Sep 2002 08:32:38 -0000 Received: from Zaretsky ([80.230.2.40]) by balder.inter.net.il (Mirapoint Messaging Server MOS 3.1.0.58-GA) with ESMTP id BTR41714; Sat, 21 Sep 2002 11:31:21 +0300 (IDT) Date: Sat, 21 Sep 2002 01:32:00 -0000 From: "Eli Zaretskii" To: ac131313@ges.redhat.com Message-Id: <3099-Sat21Sep2002113200+0300-eliz@is.elta.co.il> CC: gdb@sources.redhat.com In-reply-to: <3D8BB499.7080306@ges.redhat.com> (message from Andrew Cagney on Fri, 20 Sep 2002 19:51:53 -0400) Subject: Re: Getting the i386 watchpoints into the taget vector? Reply-to: Eli Zaretskii References: <3D8A8094.5080908@ges.redhat.com> <5137-Sat21Sep2002004300+0300-eliz@is.elta.co.il> <3D8BB499.7080306@ges.redhat.com> X-SW-Source: 2002-09/txt/msg00338.txt.bz2 > Date: Fri, 20 Sep 2002 19:51:53 -0400 > From: Andrew Cagney > > GDB can implement watchpoints, for a remote target, using two mechanism: > > - sending the remote target the watchpoint request (the Z packet) and > let the remote target implement the details > > - manipulate the h/w watchpoint registers directly, sending the remote > target register read/write operations - what I believe i386-nat.c does. It doesn't really matter, IMHO, which way we choose to go. What is important is that we provide in GDB a module that can be used by i386 targets, either native or remote, and that this module has the same machinery that is now implemented for native i386 debugging. To wit, the replica of the machine debug registers should be maintained by that module, and it should use reference counts to allow sharing of debug registers between different watchpoints. In other words, if we go the first way, target ends should not need to invent the implementation, but instead should call functions in a module supplied as part of the GDB sources.