First try at patching linux for the recent RegisterContext patch. Can someone
try and build this and let me know how it goes?

llvm-svn: 122981
diff --git a/lldb/source/Plugins/Process/Linux/LinuxThread.h b/lldb/source/Plugins/Process/Linux/LinuxThread.h
index 0e7f89d..a87e5ca 100644
--- a/lldb/source/Plugins/Process/Linux/LinuxThread.h
+++ b/lldb/source/Plugins/Process/Linux/LinuxThread.h
@@ -16,9 +16,9 @@
 
 // Other libraries and framework includes
 #include "lldb/Target/Thread.h"
-#include "RegisterContextLinux.h"
 
 class ProcessMonitor;
+class RegisterContextLinux;
 
 //------------------------------------------------------------------------------
 // @class LinuxThread
@@ -38,17 +38,17 @@
     const char *
     GetInfo();
 
-    RegisterContextLinux *
+    virtual lldb::RegisterContextSP
     GetRegisterContext();
 
-    bool
+    virtual bool
     SaveFrameZeroState(RegisterCheckpoint &checkpoint);
 
-    bool
+    virtual bool
     RestoreSaveFrameZero(const RegisterCheckpoint &checkpoint);
 
-    RegisterContextLinux *
-    CreateRegisterContextForFrame(lldb_private::StackFrame *frame);
+    virtual lldb::RegisterContextSP
+    CreateRegisterContextForFrame (StackFrame *frame);
 
     //--------------------------------------------------------------------------
     // These methods form a specialized interface to linux threads.
@@ -60,8 +60,16 @@
     void ExitNotify();
 
 private:
+    
+    RegisterContextLinux *
+    GetRegisterContextLinux ()
+    {
+        if (!m_reg_context_sp)
+            GetRegisterContext();
+        return (RegisterContextLinux *)m_reg_context_sp.get()
+    }
+    
     std::auto_ptr<lldb_private::StackFrame> m_frame_ap;
-    std::auto_ptr<RegisterContextLinux> m_register_ap;
 
     lldb::BreakpointSiteSP m_breakpoint;