jasonmolenda updated this revision to Diff 470652.
jasonmolenda added a comment.
Update patch to also update the loop in HandlePacket_qProcessInfo() which
iterates over the binaries, looking for a binary that declares its platform.
The first binary in the list is dyld, and this binary does not have a platform,
but the loop would get back an empty string and terminate its search. Update
this to recognize an empty platform name and continue searching, to preserve
its original intended behavior for `qProcessInfo`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136719/new/
https://reviews.llvm.org/D136719
Files:
lldb/tools/debugserver/source/MacOSX/MachProcess.mm
lldb/tools/debugserver/source/RNBRemote.cpp
Index: lldb/tools/debugserver/source/RNBRemote.cpp
===================================================================
--- lldb/tools/debugserver/source/RNBRemote.cpp
+++ lldb/tools/debugserver/source/RNBRemote.cpp
@@ -6261,7 +6261,7 @@
auto *platform =
DNBGetDeploymentInfo(pid, is_executable, lc, load_command_addr,
major_version, minor_version, patch_version);
- if (platform) {
+ if (platform && *platform != '\0') {
os_handled = true;
rep << "ostype:" << platform << ";";
break;
Index: lldb/tools/debugserver/source/MacOSX/MachProcess.mm
===================================================================
--- lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+++ lldb/tools/debugserver/source/MacOSX/MachProcess.mm
@@ -742,8 +742,12 @@
return "bridgeos";
case PLATFORM_DRIVERKIT:
return "driverkit";
+ default:
+ DNBLogError(
+ "Unknown platform %u found for one binary, returning empty string",
+ platform);
+ return "";
}
- return nullptr;
}
static bool mach_header_validity_test(uint32_t magic, uint32_t cputype) {
Index: lldb/tools/debugserver/source/RNBRemote.cpp
===================================================================
--- lldb/tools/debugserver/source/RNBRemote.cpp
+++ lldb/tools/debugserver/source/RNBRemote.cpp
@@ -6261,7 +6261,7 @@
auto *platform =
DNBGetDeploymentInfo(pid, is_executable, lc, load_command_addr,
major_version, minor_version, patch_version);
- if (platform) {
+ if (platform && *platform != '\0') {
os_handled = true;
rep << "ostype:" << platform << ";";
break;
Index: lldb/tools/debugserver/source/MacOSX/MachProcess.mm
===================================================================
--- lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+++ lldb/tools/debugserver/source/MacOSX/MachProcess.mm
@@ -742,8 +742,12 @@
return "bridgeos";
case PLATFORM_DRIVERKIT:
return "driverkit";
+ default:
+ DNBLogError(
+ "Unknown platform %u found for one binary, returning empty string",
+ platform);
+ return "";
}
- return nullptr;
}
static bool mach_header_validity_test(uint32_t magic, uint32_t cputype) {
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits