On Mon, 27 Mar 2017 23:07:53 +0200, Jan Kratochvil wrote: Hi, obsoletes: [patch] aarch64: PR 19806: watchpoints: false negatives -> false positives https://sourceware.org/ml/gdb-patches/2016-06/msg00078.html Message-ID: <20160606075945.GA19395@host1.jankratochvil.net> Therefore on old kernels (see below) it will now rather report watchpoint which was hit only next to it (for rwatch/awatch). But it will never miss a watchpoint. Additionally it now supports any watchpoint masks as described in: kernel RFE: aarch64: ptrace: BAS: Support any contiguous range (edit) https://sourceware.org/bugzilla/show_bug.cgi?id=20207 which is already fixed in recent Linux kernels. Tested on RHEL-7.{3,4} for no regressions on: kernel-4.10.0-6.el7.aarch64 (contiguous watchpoints supported) kernel-4.5.0-15.el7.aarch64 (contiguous watchpoints unsupported) I have seen (not investigated): -FAIL: gdb.threads/thread-specific-bp.exp: non-stop: thread-specific breakpoint was deleted (timeout) +PASS: gdb.threads/thread-specific-bp.exp: non-stop: thread-specific breakpoint was deleted There may be a regresion that it now less merges watchpoints so that with multiple overlapping watchpoints it may run out of the 4 hardware watchpoint registers. But as discussed in the original thread GDB needs some generic watchpoints merging framework to be used by all the target specific code. Even current FSF GDB code does not merge it perfectly. Also with the more precise watchpoints one can technically merge them less. And I do not think it matters too much to improve mergeability only for old kernels. Still even on new kernels some better merging logic would make sense. OK for check-in? Thanks, Jan