This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: hardware watchpoints for ppc


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. 
He is in this mailing list since beginning of september.

Thanks and regards 
	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 the
> >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 PPC
> >>>>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 stack
> >>>>>(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 patch
> >>>>>or workaround available to set hardware watchpoints on a ppc board.
> >>>>>
> >>>>>Thanks,
> >>>>>
> >>>>>Wolfgang


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]