aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-04-15 09:47:02 +0000
committerTamas Berghammer <tberghammer@google.com>2015-04-15 09:47:02 +0000
commitd8c338d42f81db3d2544e19b03e35b94661785a9 (patch)
treea3238e9ff4b9508bc43d44b972788a8ddc9ff0ce /lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
parent63c8be9571df98df49d80cc760092de26106e82a (diff)
downloadllvm-d8c338d42f81db3d2544e19b03e35b94661785a9.zip
llvm-d8c338d42f81db3d2544e19b03e35b94661785a9.tar.gz
llvm-d8c338d42f81db3d2544e19b03e35b94661785a9.tar.bz2
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/Plugins/Process/Linux/NativeProcessLinux.h')
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
index be205f8..f44980d 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
@@ -192,6 +192,10 @@ namespace process_linux {
std::unique_ptr<ThreadStateCoordinator> m_coordinator_up;
HostThread m_coordinator_thread;
+ // List of thread ids stepping with a breakpoint with the address of
+ // the relevan breakpoint
+ std::map<lldb::tid_t, lldb::addr_t> m_threads_stepping_with_breakpoint;
+
struct OperationArgs
{
OperationArgs(NativeProcessLinux *monitor);