diff options
Diffstat (limited to 'source/Plugins/Process/POSIX/POSIXThread.h')
-rw-r--r-- | source/Plugins/Process/POSIX/POSIXThread.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/source/Plugins/Process/POSIX/POSIXThread.h b/source/Plugins/Process/POSIX/POSIXThread.h index d051d23860df..51d6645f209d 100644 --- a/source/Plugins/Process/POSIX/POSIXThread.h +++ b/source/Plugins/Process/POSIX/POSIXThread.h @@ -21,7 +21,7 @@ class ProcessMessage; class ProcessMonitor; -class RegisterContextPOSIX; +class POSIXBreakpointProtocol; //------------------------------------------------------------------------------ // @class POSIXThread @@ -59,6 +59,9 @@ public: virtual lldb::RegisterContextSP CreateRegisterContextForFrame (lldb_private::StackFrame *frame); + virtual lldb::addr_t + GetThreadPointer (); + //-------------------------------------------------------------------------- // These functions provide a mapping from the register offset // back to the register index or name for use in debugging or log @@ -92,15 +95,12 @@ public: uint32_t FindVacantWatchpointIndex(); protected: - RegisterContextPOSIX * - GetRegisterContextPOSIX () + POSIXBreakpointProtocol * + GetPOSIXBreakpointProtocol () { if (!m_reg_context_sp) m_reg_context_sp = GetRegisterContext(); -#if 0 - return dynamic_cast<RegisterContextPOSIX*>(m_reg_context_sp.get()); -#endif - return (RegisterContextPOSIX *)m_reg_context_sp.get(); + return m_posix_thread; } std::unique_ptr<lldb_private::StackFrame> m_frame_ap; @@ -109,6 +109,7 @@ protected: bool m_thread_name_valid; std::string m_thread_name; + POSIXBreakpointProtocol *m_posix_thread; ProcessMonitor & GetMonitor(); @@ -125,6 +126,7 @@ protected: void CrashNotify(const ProcessMessage &message); void ThreadNotify(const ProcessMessage &message); void ExitNotify(const ProcessMessage &message); + void ExecNotify(const ProcessMessage &message); lldb_private::Unwind * GetUnwinder(); |