diff options
| author | Mohit K. Bhakkad <mohit.bhakkad@gmail.com> | 2015-05-07 05:56:27 +0000 |
|---|---|---|
| committer | Mohit K. Bhakkad <mohit.bhakkad@gmail.com> | 2015-05-07 05:56:27 +0000 |
| commit | cdc22a889e4e4e22e72be01d217ddcc0ad063b43 (patch) | |
| tree | d2d2898d75ef3e1419e2fb04f4599bb309b3e3b8 /lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | |
| parent | 2668a487a78cdc416d1cbf01fc98d00c7fc4def3 (diff) | |
[LLDB][MIPS] Software single stepping
Patch by Jaydeep Patil
Reviewers: clayborg, jasonmolenda
Subscribers: bhushan, mohit.bhakkad, sagar, lldb-commits.
Differential Revision: http://reviews.llvm.org/D9519
llvm-svn: 236696
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp')
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 9bd6ee141cf0..e38dc925c552 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -2885,10 +2885,8 @@ ReadRegisterCallback (EmulateInstruction *instruction, Error error = emulator_baton->m_reg_context->ReadRegister(full_reg_info, reg_value); if (error.Success()) - { - emulator_baton->m_register_values[reg_info->kinds[eRegisterKindDWARF]] = reg_value; return true; - } + return false; } @@ -2995,6 +2993,9 @@ NativeProcessLinux::SetupSoftwareSingleStepping(NativeThreadProtocolSP thread_sp error = SetSoftwareBreakpoint(next_pc, 4); } } + else if (m_arch.GetMachine() == llvm::Triple::mips64 + || m_arch.GetMachine() == llvm::Triple::mips64el) + error = SetSoftwareBreakpoint(next_pc, 4); else { // No size hint is given for the next breakpoint @@ -3012,7 +3013,10 @@ NativeProcessLinux::SetupSoftwareSingleStepping(NativeThreadProtocolSP thread_sp bool NativeProcessLinux::SupportHardwareSingleStepping() const { - return m_arch.GetMachine() != llvm::Triple::arm; + if (m_arch.GetMachine() == llvm::Triple::arm + || m_arch.GetMachine() == llvm::Triple::mips64 || m_arch.GetMachine() == llvm::Triple::mips64el) + return false; + return true; } Error |
