Author: andrew
Date: Tue Dec 22 17:18:40 2015
New Revision: 292611
URL: https://svnweb.freebsd.org/changeset/base/292611

Log:
  Don't adjust the program counter to an invalid address after reaching a
  breakpoint. The value doesn't need to be adjusted as it is already
  correctly returned from the kernel.
  
  This allows lldb to set breakpoints, and stop on them, however more work
  is needed, for example single stepping fails to stop.
  
  Discussed with:       emaste

Modified:
  
head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp

Modified: 
head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
==============================================================================
--- 
head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
    Tue Dec 22 17:01:30 2015        (r292610)
+++ 
head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
    Tue Dec 22 17:18:40 2015        (r292611)
@@ -260,13 +260,9 @@ RegisterContextPOSIXProcessMonitor_arm64
 bool
 RegisterContextPOSIXProcessMonitor_arm64::UpdateAfterBreakpoint()
 {
-    // PC points one byte past the int3 responsible for the breakpoint.
-    lldb::addr_t pc;
-
-    if ((pc = GetPC()) == LLDB_INVALID_ADDRESS)
+    if (GetPC() == LLDB_INVALID_ADDRESS)
         return false;
 
-    SetPC(pc - 1);
     return true;
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to