From a3952ea70bc04030993445b5f2e0656072fb7dc6 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Wed, 21 Feb 2018 21:56:18 +0000 Subject: [PATCH] [LLDB][PPC64] Fixed next blocked forever at same line Summary: 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 . llvm-svn: 325728 --- lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 2d33c9a72a88..39059e6d7030 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -1518,7 +1518,6 @@ Status NativeProcessLinux::GetSoftwareBreakpointPCOffset( // 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::GetSoftwareBreakpointPCOffset( actual_opcode_size = static_cast(sizeof(g_s390x_opcode)); return Status(); - case llvm::Triple::ppc64le: - actual_opcode_size = static_cast(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();