omjavaid added a comment.

Although this patch fixes the test case in question but in theory EphemeralMode 
watchpoint enable/disable cycles should be independent of step-over watchpoint 
enable disable cycle.

On gdb-remote type targets we only update hardware_watch_id when a watchpoint 
is hit so when we clear hw_watch_id in  Watchpoint::SetEnabled 
(source/Breakpoint/Watchpoint.cpp line 238) then information about last 
hardware watchpoint id that was hit also gets removed.

To update hardware watchpoint id on gdb-remote targets we ll have to send/recv 
an extra query packet asking about hardware watchpoint id corresponding to 
particular watchpoint we just enabled.

One possible solution could be to preserver the hardware watchpint id like way 
we are preserving stop info in this case. But there no harm in even not 
clearing watchpoint hardware id on disable rather leave that job for the target 
to decide if it can update hardware id upon every enable disable or just when 
watchpoint is hit.


https://reviews.llvm.org/D27124



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

Reply via email to