summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-07-03 12:51:30 +0000
committerTamas Berghammer <tberghammer@google.com>2015-07-03 12:51:30 +0000
commitff7fd9001735d19bdcc93f5ad7f111d3c51eb0fe (patch)
treec341778b73f8929fb4e648fd64b13d63ecc3f747 /lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
parentec57b8b9f8882e6618c2e2977ff484412e82aab2 (diff)
downloadbcm5719-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.cpp12
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 ();
OpenPOWER on IntegriCloud