Can you elaborate your experiments? Do you do experiments on qemu, arm
bare metal targets or arm linux targets?
My experiments were on QEMU, but others tried on bare-metal. I tried
on GNU/Linux targets as well, but hardware watchpoints simply did
not work (no signal).
I find Peter tries to fix the same problem we encounter in qemu side,
[Qemu-devel] [PATCH] gdbstub: Allow target CPUs to specify watchpoint STOP_BEFORE_ACCESS flag
http://lists.nongnu.org/archive/html/qemu-devel/2014-09/msg02665.html
and this patch isn't accepted yet.
[...]
Note that with patched qemu, two fails in gdb.base/recurse.exp are
fixed. At least, gdb and qemu should be in sync on this.
I think the experiments that were run showed that QEMU is in fact
correct and should NOT be changed.