This is the mail archive of the
gdb-patches@sourceware.cygnus.com
mailing list for the GDB project.
Re: [PATCH] IA-64 hardware watchpoint support
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.)