diff options
Diffstat (limited to 'source/Plugins/Process/Linux/NativeThreadLinux.h')
-rw-r--r-- | source/Plugins/Process/Linux/NativeThreadLinux.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/Plugins/Process/Linux/NativeThreadLinux.h b/source/Plugins/Process/Linux/NativeThreadLinux.h index f170bb1e8508..42697497c0af 100644 --- a/source/Plugins/Process/Linux/NativeThreadLinux.h +++ b/source/Plugins/Process/Linux/NativeThreadLinux.h @@ -10,11 +10,10 @@ #ifndef liblldb_NativeThreadLinux_H_ #define liblldb_NativeThreadLinux_H_ +#include "SingleStepCheck.h" #include "lldb/Host/common/NativeThreadProtocol.h" #include "lldb/lldb-private-forward.h" -#include <sched.h> - #include <map> #include <memory> #include <string> @@ -47,6 +46,10 @@ public: Error RemoveWatchpoint(lldb::addr_t addr) override; + Error SetHardwareBreakpoint(lldb::addr_t addr, size_t size) override; + + Error RemoveHardwareBreakpoint(lldb::addr_t addr) override; + private: // --------------------------------------------------------------------- // Interface for friend classes @@ -94,10 +97,6 @@ private: void SetStopped(); - inline void MaybePrepareSingleStepWorkaround(); - - inline void MaybeCleanupSingleStepWorkaround(); - // --------------------------------------------------------------------- // Member Variables // --------------------------------------------------------------------- @@ -107,7 +106,8 @@ private: std::string m_stop_description; using WatchpointIndexMap = std::map<lldb::addr_t, uint32_t>; WatchpointIndexMap m_watchpoint_index_map; - cpu_set_t m_original_cpu_set; // For single-step workaround. + WatchpointIndexMap m_hw_break_index_map; + std::unique_ptr<SingleStepWorkaround> m_step_workaround; }; typedef std::shared_ptr<NativeThreadLinux> NativeThreadLinuxSP; |