aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorJason Molenda <jason@molenda.com>2023-04-12 18:31:11 -0700
committerJason Molenda <jason@molenda.com>2023-04-12 18:36:17 -0700
commite76cfaca70be0b45e62149e52f68d8352fa8ea2f (patch)
tree44d113b4cd9e32b5a3445f476d932abc70149802 /llvm/lib/CodeGen/MachineBasicBlock.cpp
parent9683d2a5e68e7a75a323cb7b92eaacd7b4cc28a8 (diff)
downloadllvm-e76cfaca70be0b45e62149e52f68d8352fa8ea2f.zip
llvm-e76cfaca70be0b45e62149e52f68d8352fa8ea2f.tar.gz
llvm-e76cfaca70be0b45e62149e52f68d8352fa8ea2f.tar.bz2
AArch64 debugserver parse ESR register for watchpoints
Have debugserver parse the watchpoint flags out of the exception syndrome register when we get a watchpoint mach exception. Relay those fields up to lldb in the stop reply packet, if the watchpoint number was reported by the hardware, use the address from that as the watchpoint address. Change how watchpoints are reported to lldb from using the mach exception data, to using the `reason:watchpoint` and `description:asciihex` method that lldb-server uses, which can relay the actual trap address as well as the address of a watched memory region responsible for the trap, so lldb can step past it. Have debugserver look for the nearest watchpoint that it has set when it gets a watchpoint trap, so accesses that are reported as starting before the watched region are associated with the correct watchpoint to lldb. Add a test case for this specific issue. Differential Revision: https://reviews.llvm.org/D147820 rdar://83996471
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions