[Lldb-commits] [lldb] r217502 - Fix FreeBSD build after thread changes

Ed Maste emaste at freebsd.org
Wed Sep 10 06:38:47 PDT 2014


Author: emaste
Date: Wed Sep 10 08:38:47 2014
New Revision: 217502

URL: http://llvm.org/viewvc/llvm-project?rev=217502&view=rev
Log:
Fix FreeBSD build after thread changes

More work on the GetName/SetName arguments (thread_t vs tid_t) is needed
but this change should restore the build and basic operation.

Modified:
    lldb/trunk/include/lldb/Host/freebsd/HostThreadFreeBSD.h
    lldb/trunk/source/Host/freebsd/HostThreadFreeBSD.cpp
    lldb/trunk/source/Host/freebsd/ThisThread.cpp
    lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.h

Modified: lldb/trunk/include/lldb/Host/freebsd/HostThreadFreeBSD.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/freebsd/HostThreadFreeBSD.h?rev=217502&r1=217501&r2=217502&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Host/freebsd/HostThreadFreeBSD.h (original)
+++ lldb/trunk/include/lldb/Host/freebsd/HostThreadFreeBSD.h Wed Sep 10 08:38:47 2014
@@ -25,7 +25,7 @@ class HostThreadFreeBSD : public HostThr
     HostThreadFreeBSD(lldb::thread_t thread);
 
     static void SetName(lldb::thread_t thread, llvm::StringRef name);
-    static void GetName(lldb::thread_t thread, llvm::SmallVectorImpl<char> &name);
+    static void GetName(lldb::tid_t tid, llvm::SmallVectorImpl<char> &name);
 };
 }
 

Modified: lldb/trunk/source/Host/freebsd/HostThreadFreeBSD.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/freebsd/HostThreadFreeBSD.cpp?rev=217502&r1=217501&r2=217502&view=diff
==============================================================================
--- lldb/trunk/source/Host/freebsd/HostThreadFreeBSD.cpp (original)
+++ lldb/trunk/source/Host/freebsd/HostThreadFreeBSD.cpp Wed Sep 10 08:38:47 2014
@@ -40,7 +40,7 @@ HostThreadFreeBSD::SetName(lldb::thread_
 }
 
 void
-HostThreadFreeBSD::GetName(lldb::thread_t thread, llvm::SmallVectorImpl<char> &name)
+HostThreadFreeBSD::GetName(lldb::tid_t tid, llvm::SmallVectorImpl<char> &name)
 {
     name.clear();
     int pid = Host::GetCurrentProcessID();
@@ -73,9 +73,9 @@ HostThreadFreeBSD::GetName(lldb::thread_
 
     for (size_t i = 0; i < len / sizeof(*kp); i++)
     {
-        if (kp[i].ki_tid == (int)thread)
+        if (kp[i].ki_tid == (lwpid_t)tid)
         {
-            name.append(kp[i].ki_tdname, strlen(kp[i].ki_tdname));
+            name.append(kp[i].ki_tdname, kp[i].ki_tdname + strlen(kp[i].ki_tdname));
             break;
         }
     }

Modified: lldb/trunk/source/Host/freebsd/ThisThread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/freebsd/ThisThread.cpp?rev=217502&r1=217501&r2=217502&view=diff
==============================================================================
--- lldb/trunk/source/Host/freebsd/ThisThread.cpp (original)
+++ lldb/trunk/source/Host/freebsd/ThisThread.cpp Wed Sep 10 08:38:47 2014
@@ -13,6 +13,7 @@
 #include "llvm/ADT/SmallVector.h"
 
 #include <pthread.h>
+#include <pthread_np.h>
 
 using namespace lldb_private;
 
@@ -25,5 +26,5 @@ ThisThread::SetName(llvm::StringRef name
 void
 ThisThread::GetName(llvm::SmallVectorImpl<char> &name)
 {
-    HostNativeThread::GetName(::pthread_self(), name);
+    HostNativeThread::GetName(::pthread_getthreadid_np(), name);
 }

Modified: lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.h?rev=217502&r1=217501&r2=217502&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.h (original)
+++ lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.h Wed Sep 10 08:38:47 2014
@@ -213,8 +213,8 @@ public:
 private:
     ProcessFreeBSD *m_process;
 
-    HostThread m_operation_thread;
-    HostThread m_monitor_thread;
+    lldb_private::HostThread m_operation_thread;
+    lldb_private::HostThread m_monitor_thread;
     lldb::pid_t m_pid;
 
     int m_terminal_fd;





More information about the lldb-commits mailing list