From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6888 invoked by alias); 25 Sep 2004 15:08:56 -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 6881 invoked from network); 25 Sep 2004 15:08:53 -0000 Received: from unknown (HELO moutvdomng.kundenserver.de) (212.227.126.249) by sourceware.org with SMTP; 25 Sep 2004 15:08:53 -0000 Received: from [212.227.126.221] (helo=mrvdomng.kundenserver.de) by moutvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1CBEAB-0004ML-00; Sat, 25 Sep 2004 17:08:39 +0200 Received: from [80.131.64.80] (helo=linux) by mrvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1CBEAA-0008CT-00; Sat, 25 Sep 2004 17:08:38 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Wolfgang Schmieder Organization: privat To: Steven Johnson Subject: Re: hardware watchpoints for ppc Date: Sat, 25 Sep 2004 15:08:00 -0000 User-Agent: KMail/1.4.3 Cc: cerickson@mvista.com, gdb@sources.redhat.com, jan.schneider@honeywell.com References: <200407041103.55619.wolfgang.schmieder@onlinehome.de> <200407122203.27610.wolfgang.schmieder@onlinehome.de> <40F31B6B.2070204@neurizon.net> In-Reply-To: <40F31B6B.2070204@neurizon.net> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-Id: <200409251703.12414.wolfgang.schmieder@onlinehome.de> X-SW-Source: 2004-09/txt/msg00230.txt.bz2 Hello Steven, I am sorry for answering very late. In the meanwhile I found my bug without enabling watchpoints. Nevertheless I will keep on working on hardware watchpoints for ppc, but not by myself. Jan Schneider has taken the task to enhance the gdb regarding hardware watchpoints.=20 He is in this mailing list since beginning of september. Thanks and regards=20 Wolfgang Schmieder > Wolfgang, > > Are you running GDB on your PowerPC Target? Or are you using a stub of > some kind? > > The Stub isnt GDB. > > What PowerPC chip are you talking about, they all have different > features when it comes to debug units, there is no standard "watchpoint" > unit that all PowerPC's have. > > I would guess you are using GDB on you PC, and it is talking to your > target using the Remote Serial Protocol. If so, the place for your > watchpoint code is in the stub, not in GDB. The remote serial protocol > already has support for hardware watchpoints, my stub on PowerPC uses it > to implement them for an MPC860 Family processor. You need to add the > support to your stub, alternatively write some macros in GDB to manually > set up the watchpoint units, using register read/write operations. GDB > wont know you have done this, but if when they hit its causes your stub > to stop you have achieved what you want. > > As for the know how, the MPC860 documentation details that family of > processor's watchpoint unit, and what it does. Its cryptic, and you > have to trial and error it a bit, but that is usually the way with these > things. Your processor should have a document that describes if it has > a hardware watchpoint unit, and if so how to set it up. Then it is a > matter of implementing the Remote Serial protocol watchpoint commands. > > Steven. > > Wolfgang Schmieder wrote: > >Hello Cal, > > > >thanks for the hint. I caught the problem in the meanwhile by checking t= he > >respective address in piece of code which is called very often. It took a > > lot of time and luck. > >This way of catching bugs is really hard. Do you know how I could > >obtain the know how to implement hardware watchpoints into the gdb ? > > > >Regards > > Wolfgang > > > >Am Dienstag, 6. Juli 2004 22:31 schrieben Sie: > >>Wolfgang, > >>We had a similar problem here with some benchmarks we were doing. A > >>particular address was being changed at random and we had to find > >>what was doing it. So we put a watchpoint on the address and when > >>it changed we stopped the process and did a bt to find the culprit. > >>It took a while but it worked. This was on a PPC 860 target board > >>using a cross built gdb and gdbserver. So it can be done it just > >>takes time and patience. > >> > >>The only processor family that I know that has hardware watchpoints is > >>x86. We work here with x86, ppc, mips, arm, xscale, crusoe, and sh. > >> > >>Cal > >> > >>Wolfgang Schmieder wrote: > >>>Hello Cal, > >>> > >>>thanks for your anwer, even if it's bad news for me ! > >>> > >>> > >>>Regards > >>> Wolfgang > >>> > >>>Am Dienstag, 6. Juli 2004 16:45 schrieb Cal Erickson: > >>>>Wolfgang, > >>>>From what I know there are no hardware watchpoints available on the P= PC > >>>>target boards. You might just try watch which will create a software > >>>>watchpoint. These do work on PPC processors. > >>>> > >>>>Cal > >>>> > >>>>Wolfgang Schmieder wrote: > >>>>>Hello, > >>>>> > >>>>>is there anybody who knows how I can set hardware watchpoints on ppc > >>>>>boards ? I have a mpc855 board running a multithreaded application. = It > >>>>>appears that one thread (always the same thread) has a corrupted sta= ck > >>>>>(always at the same address). I guess I need to set a hardware > >>>>>watchpoint in a remote debugging session to find the piece of code > >>>>>which is corrupting the stack. > >>>>> > >>>>>There is one gdb mailing list thread about "supporting hw break/watch > >>>>>for embedded ppc", which makes me think that there is at least a pat= ch > >>>>>or workaround available to set hardware watchpoints on a ppc board. > >>>>> > >>>>>Thanks, > >>>>> > >>>>>Wolfgang