On Wed, 02 May 2018 01:03:39 +0200, Jan Kratochvil wrote: > On Thu, 26 Apr 2018 22:12:16 +0200, Jan Kratochvil wrote: > > On Fri, 20 Apr 2018 16:49:39 +0200, Pedro Alves wrote: > > > ~~~~~~~~~~~~ > > > Previously, when the hardware reported a watchpoint hit on an address > > > that did not match our watchpoint (this happens in case of instructions > > > which access large chunks of memory such as "stp") the process would > > > enter a loop where we would be continually resuming it (because we did > > > not recognise that watchpoint hit) and it would keep hitting the > > > watchpoint again and again. The tracing process would never get > > > notified of the watchpoint hit. > > > ~~~~~~~~~~~~ > > > > > > ... I'm left with the impression that ADDR_TRAP could be even > > > lower than addr_watch_aligned, in which case we'll still miss > > > watchpoints. I wondering whether GDB should be using a similar > > > trick as that kernel patch does. > > > > This is new for me what you found. I just did not expect the changed region > > region could be larger than aligned 8 bytes. > > > > Unfortunately I cannot reproduce that so I cannot do much with that. > > Does anyone know how to reproduce it? > > Attaching the change I made, I will repost the patch in a next mail. Here is the new patch, if that new testcase PASS: gdb.base/watchpoint-unaligned.exp: size8twice write fails for anyone I can check how to avoid it. Thanks, Jan