[Lldb-commits] [lldb] r223737 - Add Linux support for HostInfo::GetOSBuildString and HostInfo::GetOSKernelDescription.

Oleksiy Vyalov ovyalov at google.com
Mon Dec 8 18:13:06 PST 2014


Author: ovyalov
Date: Mon Dec  8 20:13:05 2014
New Revision: 223737

URL: http://llvm.org/viewvc/llvm-project?rev=223737&view=rev
Log:
Add Linux support for HostInfo::GetOSBuildString and HostInfo::GetOSKernelDescription.

Modified:
    lldb/trunk/include/lldb/Host/linux/HostInfoLinux.h
    lldb/trunk/source/Host/linux/HostInfoLinux.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp

Modified: lldb/trunk/include/lldb/Host/linux/HostInfoLinux.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/linux/HostInfoLinux.h?rev=223737&r1=223736&r2=223737&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Host/linux/HostInfoLinux.h (original)
+++ lldb/trunk/include/lldb/Host/linux/HostInfoLinux.h Mon Dec  8 20:13:05 2014
@@ -34,6 +34,8 @@ class HostInfoLinux : public HostInfoPos
     static uint32_t GetMaxThreadNameLength();
 
     static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
+    static bool GetOSBuildString(std::string &s);
+    static bool GetOSKernelDescription(std::string &s);
     static llvm::StringRef GetDistributionId();
     static FileSpec GetProgramFileSpec();
 

Modified: lldb/trunk/source/Host/linux/HostInfoLinux.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/linux/HostInfoLinux.cpp?rev=223737&r1=223736&r2=223737&view=diff
==============================================================================
--- lldb/trunk/source/Host/linux/HostInfoLinux.cpp (original)
+++ lldb/trunk/source/Host/linux/HostInfoLinux.cpp Mon Dec  8 20:13:05 2014
@@ -88,6 +88,35 @@ finished:
     return success;
 }
 
+bool
+HostInfoLinux::GetOSBuildString(std::string &s)
+{
+    struct utsname un;
+    ::memset(&un, 0, sizeof(utsname));
+    s.clear();
+
+    if (uname(&un) < 0)
+        return false;
+
+    s.assign(un.release);
+    return true;
+}
+
+bool
+HostInfoLinux::GetOSKernelDescription(std::string &s)
+{
+    struct utsname un;
+
+    ::memset(&un, 0, sizeof(utsname));
+    s.clear();
+
+    if (uname(&un) < 0)
+        return false;
+
+    s.assign(un.version);
+    return true;
+}
+
 llvm::StringRef
 HostInfoLinux::GetDistributionId()
 {

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp?rev=223737&r1=223736&r2=223737&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp Mon Dec  8 20:13:05 2014
@@ -1274,7 +1274,6 @@ GDBRemoteCommunicationServer::Handle_qHo
     }
 
     std::string s;
-#if !defined(__linux__)
     if (HostInfo::GetOSBuildString(s))
     {
         response.PutCString ("os_build:");
@@ -1287,7 +1286,6 @@ GDBRemoteCommunicationServer::Handle_qHo
         response.PutCStringAsRawHex8(s.c_str());
         response.PutChar(';');
     }
-#endif
 
 #if defined(__APPLE__)
 





More information about the lldb-commits mailing list