diff options
author | Pavel Labath <labath@google.com> | 2018-02-21 21:56:18 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2018-02-21 21:56:18 +0000 |
commit | a3952ea70bc04030993445b5f2e0656072fb7dc6 (patch) | |
tree | 69cefcf75c7cf0ad890b0c81eef9e8725c22a3be | |
parent | a944589cc51ab4a693a52fa5188280910c148531 (diff) | |
download | bcm5719-llvm-a3952ea70bc04030993445b5f2e0656072fb7dc6.tar.gz bcm5719-llvm-a3952ea70bc04030993445b5f2e0656072fb7dc6.zip |
[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 <leandro.lupori@gmail.com>.
llvm-svn: 325728
-rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 2d33c9a72a8..39059e6d703 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<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(); |