jasonmolenda added a comment.

I phabracated wrong and the end of the last msg was truncated.  I meant to end 
it with this:

If the number of watchpoints could not be fetched with an lldb-extension 
packet, Process:GetWatchpointSupportInfo would not report whether breakpoints 
are received before or after the instruction has executed. This latter is 
important to know to handle watchpoints; the former doesn't really matter. So 
when we connect to a non-lldb-server/debugserver stub, and we are targetting an 
arm cpu (where watchpoint exceptions are received before the instruction 
executes), lldb would not correctly disable the watchpoint/insn-step/re-enable 
the watchpoint (v. StopInfoWatchpoint::ShouldStopSynchronous in StopInfo.cpp), 
you'd hit the watchpoint exception over and over without advancing.

This patch separates these into two different Process methods, and sets a 
default of "before" for arm targets if the qHostInfo packet didn't provide any 
hints (e.g. `watchpoint_exceptions_received:after;`), otherwise it returns 
nullopt.

I removed the before/after calculation from the ProcessWindows plugin because 
it always returned after; the concrete method in Process already behaves that 
way for intel.

I need to review & test this patch - it's closer to a WIP at this instant, but 
I wanted to checkpoint the updates I made so far, and where I'm heading with it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143215/new/

https://reviews.llvm.org/D143215

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to