diff options
| author | Tamas Berghammer <tberghammer@google.com> | 2015-04-15 09:47:02 +0000 |
|---|---|---|
| committer | Tamas Berghammer <tberghammer@google.com> | 2015-04-15 09:47:02 +0000 |
| commit | d8c338d42f81db3d2544e19b03e35b94661785a9 (patch) | |
| tree | a3238e9ff4b9508bc43d44b972788a8ddc9ff0ce /lldb/source/Initialization | |
| parent | 63c8be9571df98df49d80cc760092de26106e82a (diff) | |
| download | bcm5719-llvm-d8c338d42f81db3d2544e19b03e35b94661785a9.tar.gz bcm5719-llvm-d8c338d42f81db3d2544e19b03e35b94661785a9.zip | |
Add single stepping logic for linux arm
Linux arm don't support hardware stepping (neither mismatch
breakpoints). This patch implement signle stepping with doing a software
emulation of the next instruction and then setting a temporary
breakpoint at the address where the thread will stop next.
Differential revision: http://reviews.llvm.org/D8976
llvm-svn: 234987
Diffstat (limited to 'lldb/source/Initialization')
| -rw-r--r-- | lldb/source/Initialization/SystemInitializerCommon.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lldb/source/Initialization/SystemInitializerCommon.cpp b/lldb/source/Initialization/SystemInitializerCommon.cpp index e4a1a302026..b57072f682b 100644 --- a/lldb/source/Initialization/SystemInitializerCommon.cpp +++ b/lldb/source/Initialization/SystemInitializerCommon.cpp @@ -17,6 +17,7 @@ #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h" #include "Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h" +#include "Plugins/Instruction/ARM/EmulateInstructionARM.h" #include "Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h" #include "Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h" #include "Plugins/ObjectFile/ELF/ObjectFileELF.h" @@ -110,6 +111,8 @@ SystemInitializerCommon::Initialize() PlatformKalimba::Initialize(); platform_android::PlatformAndroid::Initialize(); + EmulateInstructionARM::Initialize(); + //---------------------------------------------------------------------- // Apple/Darwin hosted plugins //---------------------------------------------------------------------- @@ -157,6 +160,8 @@ SystemInitializerCommon::Terminate() PlatformRemoteiOS::Terminate(); PlatformiOSSimulator::Terminate(); + EmulateInstructionARM::Terminate(); + #if defined(__APPLE__) DynamicLoaderDarwinKernel::Terminate(); ObjectFileMachO::Terminate(); |

