[Lldb-commits] [PATCH] D13296: [LLDB] Fix watchpoint ignore feature for architectures with watchpoint_exceptions_received=before

Mohit Bhakkad via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 30 09:32:35 PDT 2015


mohit.bhakkad created this revision.
mohit.bhakkad added reviewers: clayborg, jingham.
mohit.bhakkad added subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits.
mohit.bhakkad set the repository for this revision to rL LLVM.

For archs like MIPS, where watchpoints are triggered before associated instruction runs,
we need to disable watchpoint, single step and re-enable watchpoint, so that process 
resumes without reporting same watchpoint. This is provided by code at Target/StopInfo.cpp:719

But if we check for ignore_count condition before this functionality, it reports same watchpoint 
again and again and gets ignored before ignore condition gets false.

So shifting this condition to appropriate location.
This solves TestWatchpointIgnoreCount.py testcase for MIPS.

Repository:
  rL LLVM

http://reviews.llvm.org/D13296

Files:
  source/Breakpoint/Watchpoint.cpp
  source/Target/StopInfo.cpp

Index: source/Target/StopInfo.cpp
===================================================================
--- source/Target/StopInfo.cpp
+++ source/Target/StopInfo.cpp
@@ -759,6 +759,9 @@
                     if (!wp_hit_sp)
                         m_should_stop = false;
                 }
+
+                if (wp_sp->GetHitCount() <= wp_sp->GetIgnoreCount())
+                    m_should_stop = false;
                 
                 if (m_should_stop && wp_sp->GetConditionText() != NULL)
                 {
Index: source/Breakpoint/Watchpoint.cpp
===================================================================
--- source/Breakpoint/Watchpoint.cpp
+++ source/Breakpoint/Watchpoint.cpp
@@ -190,9 +190,6 @@
     if (!IsEnabled())
         return false;
 
-    if (GetHitCount() <= GetIgnoreCount())
-        return false;
-
     return true;
 }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13296.36119.patch
Type: text/x-patch
Size: 856 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150930/a6cc41f0/attachment.bin>


More information about the lldb-commits mailing list