[Lldb-commits] [lldb] [lldb] Add 'modify' type watchpoints, make it default (PR #66308)

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Thu Sep 21 13:15:20 PDT 2023


jasonmolenda wrote:

Thanks @DavidSpickett for looking into these.  Let me looked into the tagged ptr watchpoint issue right now, that sounds like a bug.  One of the changes I made in the second landing of my patch was to the TestStepOverWatchpoint C file, which had three 1-byte globals, one which it would put a `read` watchpoint on, and second that it would put a `write` watchpoint on.  lldb will send these as separate watchpoint requests (Z2,addr,1).  If the variables were allocated in consecutive bytes, which seems likely, and we use a doubleword resolution watchpoint, then the remote stub would need to realize that we're watching for 'read' accesses on one byte, and 'write' accesses on a different byte within that doubleword, and use a single hardware watchpoint register with read+write access enabled.

I don't know if lldb-server would handle this correctly, but debugserver wouldn't.  And it's not what the test case intends to be testing.  When I re-landed my patch, I changed the variables to `long` so they're more likely to be the size of the hardware watchpoint granule and aligned to that alignment.  I wonder why it was still failing, i'll have to look more.

https://github.com/llvm/llvm-project/pull/66308


More information about the lldb-commits mailing list