[PATCH] IA-64 hardware watchpoint support

Kevin Buettner kevinb@cygnus.com
Thu Apr 13 03:48:00 GMT 2000


On Apr 13,  5:51am, Eli Zaretskii wrote:

> > +int
> > +ia64_linux_insert_watchpoint (int pid, CORE_ADDR addr, int len, int rw)
> > +{
> > +  int idx;
> > +  long dbr_addr, dbr_mask;
> > +  int max_watchpoints = 4;
> > +
> > +  if (len <= 0 || !is_power_of_2 (len))
> > +    return -1;
> 
> Out of curiosity: does this mean that GDB for IA64 won't support
> unaligned watchpoints at all?  Isn't it possible to do that with
> multiple watchpoints, like go32-nat.c does?

I'm sure it is.  But I'm still trying to track down another problem
in which I'm having trouble with the second and fourth pairs of data
breakpoint registers.

I have looked at the code that you refer to however.  Just haven't
gotten around to adapting it yet.  (The IA-64 allows us to specify
a mask in the second data breakpoint register which is used to
determine which bits in the address are compared.  Thus it's
possible to set a watchpoint on really large structures or arrays.)


More information about the Gdb-patches mailing list