[Lldb-commits] [PATCH] D21280: Allow installing watchpoints at less than 8-byte alligned addresses for AArch64 targets

Muhammad Omair Javaid via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 13 01:56:56 PDT 2016


omjavaid created this revision.
omjavaid added reviewers: labath, clayborg.
omjavaid added a subscriber: lldb-commits.
Herald added subscribers: danalbert, tberghammer, rengolin, aemerson.

This patch adds logic to make sure we can install watchpoints at 1,2 and 4 byte alligned addresses.

ptrace interface allows watchpoints at 8-byte alligned addresses. Therefor for all lower allignment levels we have to watch full 8-bytes.
We will ignore all irrelevant watchpoint trigger exceptions and will continue the target after stepping over the watchpoint instruction.

In worst case while watching a 8-byte array like byteArr[8] we may have to ignore 7 false watchpoint hits if we install watchpoint at the last byte in the array.

However overall advantage of this solution overwhelms this disadvantage. We now have all watchpoint tests passing on AArch64 Linux (HiKey board) and Arm64 Android (Nexus9).

http://reviews.llvm.org/D21280

Files:
  source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
  source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
  source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21280.60493.patch
Type: text/x-patch
Size: 4825 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160613/062e7910/attachment.bin>


More information about the lldb-commits mailing list