diff options
author | Tamas Berghammer <tberghammer@google.com> | 2015-07-03 12:51:30 +0000 |
---|---|---|
committer | Tamas Berghammer <tberghammer@google.com> | 2015-07-03 12:51:30 +0000 |
commit | ff7fd9001735d19bdcc93f5ad7f111d3c51eb0fe (patch) | |
tree | c341778b73f8929fb4e648fd64b13d63ecc3f747 /lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | |
parent | ec57b8b9f8882e6618c2e2977ff484412e82aab2 (diff) | |
download | bcm5719-llvm-ff7fd9001735d19bdcc93f5ad7f111d3c51eb0fe.tar.gz bcm5719-llvm-ff7fd9001735d19bdcc93f5ad7f111d3c51eb0fe.zip |
Fix aarch64 breakpoint PC offset
llvm-svn: 241347
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 588c11231a4..0142935b2b2 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -2851,28 +2851,22 @@ NativeProcessLinux::GetSoftwareBreakpointPCOffset (NativeRegisterContextSP conte { // FIXME put this behind a breakpoint protocol class that can be // set per architecture. Need ARM, MIPS support here. - static const uint8_t g_aarch64_opcode[] = { 0x00, 0x00, 0x20, 0xd4 }; static const uint8_t g_i386_opcode [] = { 0xCC }; switch (m_arch.GetMachine ()) { - case llvm::Triple::aarch64: - actual_opcode_size = static_cast<uint32_t> (sizeof(g_aarch64_opcode)); - return Error (); - - case llvm::Triple::arm: - actual_opcode_size = 0; // On arm the PC don't get updated for breakpoint hits - return Error (); - case llvm::Triple::x86: case llvm::Triple::x86_64: actual_opcode_size = static_cast<uint32_t> (sizeof(g_i386_opcode)); return Error (); + case llvm::Triple::arm: + case llvm::Triple::aarch64: case llvm::Triple::mips64: case llvm::Triple::mips64el: case llvm::Triple::mips: case llvm::Triple::mipsel: + // On these architectures the PC don't get updated for breakpoint hits actual_opcode_size = 0; return Error (); |