[Lldb-commits] [lldb] r122981 - in /lldb/trunk/source/Plugins/Process/Linux: LinuxThread.cpp LinuxThread.h RegisterContextLinux.h RegisterContextLinux_x86_64.cpp RegisterContextLinux_x86_64.h

Stephen Wilson wilsons at start.ca
Thu Jan 6 15:19:12 PST 2011


Hi Greg,

Greg Clayton <gclayton at apple.com> writes:
> First try at patching linux for the recent RegisterContext patch. Can someone
> try and build this and let me know how it goes?

I think we need the following as well.  Note that I changed a
CalculateProcess() call to GetProcess() as I think that is the standard
access API (as opposed to using the inherited m_process member
directly)?



diff --git a/source/Plugins/Process/Linux/LinuxThread.cpp b/source/Plugins/Process/Linux/LinuxThread.cpp
index 725cc5a..e189064 100644
--- a/source/Plugins/Process/Linux/LinuxThread.cpp
+++ b/source/Plugins/Process/Linux/LinuxThread.cpp
@@ -33,8 +33,8 @@ LinuxThread::LinuxThread(Process &process, lldb::tid_t tid)
 ProcessMonitor &
 LinuxThread::GetMonitor()
 {
-    ProcessLinux *process = static_cast<ProcessLinux*>(CalculateProcess());
-    return process->GetMonitor();
+    ProcessLinux &process = static_cast<ProcessLinux&>(GetProcess());
+    return process.GetMonitor();
 }
 
 void
@@ -51,6 +51,8 @@ LinuxThread::GetInfo()
 lldb::RegisterContextSP
 LinuxThread::GetRegisterContext()
 {
+    ProcessLinux &process = static_cast<ProcessLinux&>(GetProcess());
+
     if (!m_reg_context_sp)
     {
         ArchSpec arch = process.GetTarget().GetArchitecture();
@@ -66,7 +68,7 @@ LinuxThread::GetRegisterContext()
             break;
         }
     }
-    return m_reg_context_sp    
+    return m_reg_context_sp;
 }
 
 bool
diff --git a/source/Plugins/Process/Linux/LinuxThread.h b/source/Plugins/Process/Linux/LinuxThread.h
index a87e5ca..4dcdbb3 100644
--- a/source/Plugins/Process/Linux/LinuxThread.h
+++ b/source/Plugins/Process/Linux/LinuxThread.h
@@ -48,7 +48,7 @@ public:
     RestoreSaveFrameZero(const RegisterCheckpoint &checkpoint);
 
     virtual lldb::RegisterContextSP
-    CreateRegisterContextForFrame (StackFrame *frame);
+    CreateRegisterContextForFrame (lldb_private::StackFrame *frame);
 
     //--------------------------------------------------------------------------
     // These methods form a specialized interface to linux threads.
@@ -66,7 +66,7 @@ private:
     {
         if (!m_reg_context_sp)
             GetRegisterContext();
-        return (RegisterContextLinux *)m_reg_context_sp.get()
+        return (RegisterContextLinux *)m_reg_context_sp.get();
     }
     
     std::auto_ptr<lldb_private::StackFrame> m_frame_ap;



More information about the lldb-commits mailing list