labath updated this revision to Diff 382223.
labath marked 2 inline comments as done.
labath added a comment.
Remove memset
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112457/new/
https://reviews.llvm.org/D112457
Files:
lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
lldb/include/lldb/Host/linux/HostInfoLinux.h
lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
lldb/include/lldb/Host/posix/HostInfoPosix.h
lldb/include/lldb/Host/windows/HostInfoWindows.h
lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
lldb/source/Host/linux/HostInfoLinux.cpp
lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
lldb/source/Host/netbsd/HostInfoNetBSD.cpp
lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
lldb/source/Host/posix/HostInfoPosix.cpp
lldb/source/Host/windows/HostInfoWindows.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
lldb/source/Target/Platform.cpp
Index: lldb/source/Target/Platform.cpp
===================================================================
--- lldb/source/Target/Platform.cpp
+++ lldb/source/Target/Platform.cpp
@@ -493,8 +493,11 @@
}
bool Platform::GetOSKernelDescription(std::string &s) {
- if (IsHost())
- return HostInfo::GetOSKernelDescription(s);
+ if (IsHost()) {
+ llvm::Optional<std::string> desc = HostInfo::GetOSKernelDescription();
+ s = desc.getValueOr("");
+ return desc.hasValue();
+ }
return GetRemoteOSKernelDescription(s);
}
Index: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
+++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
@@ -272,13 +272,13 @@
response.PutStringAsRawHex8(*s);
response.PutChar(';');
}
- std::string s;
- if (HostInfo::GetOSKernelDescription(s)) {
+ if (llvm::Optional<std::string> s = HostInfo::GetOSKernelDescription()) {
response.PutCString("os_kernel:");
- response.PutStringAsRawHex8(s);
+ response.PutStringAsRawHex8(*s);
response.PutChar(';');
}
+ std::string s;
#if defined(__APPLE__)
#if defined(__arm__) || defined(__arm64__) || defined(__aarch64__)
Index: lldb/source/Host/windows/HostInfoWindows.cpp
===================================================================
--- lldb/source/Host/windows/HostInfoWindows.cpp
+++ lldb/source/Host/windows/HostInfoWindows.cpp
@@ -82,10 +82,8 @@
return "Windows NT " + version.getAsString();
}
-bool HostInfoWindows::GetOSKernelDescription(std::string &s) {
- llvm::Optional<std::string> build = GetOSBuildString();
- s = build.getValueOr("");
- return build.hasValue();
+llvm::Optional<std::string> HostInfoWindows::GetOSKernelDescription() {
+ return GetOSBuildString();
}
bool HostInfoWindows::GetHostname(std::string &s) {
Index: lldb/source/Host/posix/HostInfoPosix.cpp
===================================================================
--- lldb/source/Host/posix/HostInfoPosix.cpp
+++ lldb/source/Host/posix/HostInfoPosix.cpp
@@ -21,6 +21,7 @@
#include <mutex>
#include <pwd.h>
#include <sys/types.h>
+#include <sys/utsname.h>
#include <unistd.h>
using namespace lldb_private;
@@ -37,6 +38,14 @@
return false;
}
+llvm::Optional<std::string> HostInfoPosix::GetOSKernelDescription() {
+ struct utsname un;
+ if (uname(&un) < 0)
+ return llvm::None;
+
+ return std::string(un.version);
+}
+
#ifdef __ANDROID__
#include <android/api-level.h>
#endif
Index: lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
===================================================================
--- lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
+++ lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
@@ -41,20 +41,6 @@
return llvm::None;
}
-bool HostInfoOpenBSD::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;
-}
-
FileSpec HostInfoOpenBSD::GetProgramFileSpec() {
static FileSpec g_program_filespec;
return g_program_filespec;
Index: lldb/source/Host/netbsd/HostInfoNetBSD.cpp
===================================================================
--- lldb/source/Host/netbsd/HostInfoNetBSD.cpp
+++ lldb/source/Host/netbsd/HostInfoNetBSD.cpp
@@ -54,20 +54,6 @@
return llvm::None;
}
-bool HostInfoNetBSD::GetOSKernelDescription(std::string &s) {
- struct utsname un;
-
- ::memset(&un, 0, sizeof(un));
- s.clear();
-
- if (::uname(&un) < 0)
- return false;
-
- s.assign(un.version);
-
- return true;
-}
-
FileSpec HostInfoNetBSD::GetProgramFileSpec() {
static FileSpec g_program_filespec;
Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
===================================================================
--- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
@@ -65,18 +65,6 @@
return llvm::None;
}
-bool HostInfoMacOSX::GetOSKernelDescription(std::string &s) {
- int mib[2] = {CTL_KERN, KERN_VERSION};
- char cstr[PATH_MAX];
- size_t cstr_len = sizeof(cstr);
- if (::sysctl(mib, 2, cstr, &cstr_len, NULL, 0) == 0) {
- s.assign(cstr, cstr_len);
- return true;
- }
- s.clear();
- return false;
-}
-
static void ParseOSVersion(llvm::VersionTuple &version, NSString *Key) {
@autoreleasepool {
NSDictionary *version_info =
Index: lldb/source/Host/linux/HostInfoLinux.cpp
===================================================================
--- lldb/source/Host/linux/HostInfoLinux.cpp
+++ lldb/source/Host/linux/HostInfoLinux.cpp
@@ -75,19 +75,6 @@
return std::string(un.release);
}
-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() {
assert(g_fields && "Missing call to Initialize?");
// Try to run 'lbs_release -i', and use that response for the distribution
Index: lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
===================================================================
--- lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
+++ lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
@@ -41,20 +41,6 @@
return llvm::None;
}
-bool HostInfoFreeBSD::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;
-}
-
FileSpec HostInfoFreeBSD::GetProgramFileSpec() {
static FileSpec g_program_filespec;
if (!g_program_filespec) {
Index: lldb/include/lldb/Host/windows/HostInfoWindows.h
===================================================================
--- lldb/include/lldb/Host/windows/HostInfoWindows.h
+++ lldb/include/lldb/Host/windows/HostInfoWindows.h
@@ -28,7 +28,7 @@
static llvm::VersionTuple GetOSVersion();
static llvm::Optional<std::string> GetOSBuildString();
- static bool GetOSKernelDescription(std::string &s);
+ static llvm::Optional<std::string> GetOSKernelDescription();
static bool GetHostname(std::string &s);
static FileSpec GetProgramFileSpec();
static FileSpec GetDefaultShell();
Index: lldb/include/lldb/Host/posix/HostInfoPosix.h
===================================================================
--- lldb/include/lldb/Host/posix/HostInfoPosix.h
+++ lldb/include/lldb/Host/posix/HostInfoPosix.h
@@ -22,6 +22,7 @@
public:
static size_t GetPageSize();
static bool GetHostname(std::string &s);
+ static llvm::Optional<std::string> GetOSKernelDescription();
static uint32_t GetUserID();
static uint32_t GetGroupID();
Index: lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
===================================================================
--- lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
+++ lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
@@ -19,7 +19,6 @@
public:
static llvm::VersionTuple GetOSVersion();
static llvm::Optional<std::string> GetOSBuildString();
- static bool GetOSKernelDescription(std::string &s);
static FileSpec GetProgramFileSpec();
};
}
Index: lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
===================================================================
--- lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
+++ lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
@@ -19,7 +19,6 @@
public:
static llvm::VersionTuple GetOSVersion();
static llvm::Optional<std::string> GetOSBuildString();
- static bool GetOSKernelDescription(std::string &s);
static FileSpec GetProgramFileSpec();
};
}
Index: lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
===================================================================
--- lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
+++ lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
@@ -25,7 +25,6 @@
static llvm::VersionTuple GetOSVersion();
static llvm::VersionTuple GetMacCatalystVersion();
static llvm::Optional<std::string> GetOSBuildString();
- static bool GetOSKernelDescription(std::string &s);
static FileSpec GetProgramFileSpec();
static FileSpec GetXcodeContentsDirectory();
static FileSpec GetXcodeDeveloperDirectory();
Index: lldb/include/lldb/Host/linux/HostInfoLinux.h
===================================================================
--- lldb/include/lldb/Host/linux/HostInfoLinux.h
+++ lldb/include/lldb/Host/linux/HostInfoLinux.h
@@ -27,7 +27,6 @@
static llvm::VersionTuple GetOSVersion();
static llvm::Optional<std::string> GetOSBuildString();
- static bool GetOSKernelDescription(std::string &s);
static llvm::StringRef GetDistributionId();
static FileSpec GetProgramFileSpec();
Index: lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
===================================================================
--- lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
+++ lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
@@ -19,7 +19,6 @@
public:
static llvm::VersionTuple GetOSVersion();
static llvm::Optional<std::string> GetOSBuildString();
- static bool GetOSKernelDescription(std::string &s);
static FileSpec GetProgramFileSpec();
};
}
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits