[Lldb-commits] [lldb] r325728 - [LLDB][PPC64] Fixed next blocked forever at same line

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Wed Feb 21 13:56:18 PST 2018

Author: labath
Date: Wed Feb 21 13:56:18 2018
New Revision: 325728

URL: http://llvm.org/viewvc/llvm-project?rev=325728&view=rev
[LLDB][PPC64] Fixed next blocked forever at same line

The PC corresponding to the breakpoint was being calculated wrongly,
which was causing LLDB to never go past the first breakpoint, when
there was a second one adjacent to it.

Reviewers: clayborg, labath

Reviewed By: clayborg, labath

Subscribers: anajuliapc, alexandreyy, lbianc

Differential Revision: https://reviews.llvm.org/D43344
Patch by Leandro Lupori <leandro.lupori at gmail.com>.


Modified: lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp?rev=325728&r1=325727&r2=325728&view=diff
--- lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp Wed Feb 21 13:56:18 2018
@@ -1518,7 +1518,6 @@ Status NativeProcessLinux::GetSoftwareBr
   // set per architecture.  Need ARM, MIPS support here.
   static const uint8_t g_i386_opcode[] = {0xCC};
   static const uint8_t g_s390x_opcode[] = {0x00, 0x01};
-  static const uint8_t g_ppc64le_opcode[] = {0x08, 0x00, 0xe0, 0x7f}; // trap
   switch (m_arch.GetMachine()) {
   case llvm::Triple::x86:
@@ -1530,16 +1529,13 @@ Status NativeProcessLinux::GetSoftwareBr
     actual_opcode_size = static_cast<uint32_t>(sizeof(g_s390x_opcode));
     return Status();
-  case llvm::Triple::ppc64le:
-    actual_opcode_size = static_cast<uint32_t>(sizeof(g_ppc64le_opcode));
-    return Status();
   case llvm::Triple::arm:
   case llvm::Triple::aarch64:
   case llvm::Triple::mips64:
   case llvm::Triple::mips64el:
   case llvm::Triple::mips:
   case llvm::Triple::mipsel:
+  case llvm::Triple::ppc64le:
     // On these architectures the PC don't get updated for breakpoint hits
     actual_opcode_size = 0;
     return Status();

More information about the lldb-commits mailing list