Loading lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +10 −16 Original line number Diff line number Diff line Loading @@ -1131,20 +1131,6 @@ bool GDBRemoteCommunicationClient::GetDefaultThreadId(lldb::tid_t &tid) { return true; } static void ParseOSType(llvm::StringRef value, std::string &os_name, std::string &environment) { if (value.equals("iossimulator") || value.equals("tvossimulator") || value.equals("watchossimulator")) { environment = "simulator"; os_name = value.drop_back(environment.size()).str(); } else if (value.equals("maccatalyst")) { os_name = "ios"; environment = "macabi"; } else { os_name = value.str(); } } bool GDBRemoteCommunicationClient::GetHostInfo(bool force) { Log *log(ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet(GDBR_LOG_PROCESS)); Loading Loading @@ -1203,7 +1189,11 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) { extractor.GetHexByteString(m_os_kernel); ++num_keys_decoded; } else if (name.equals("ostype")) { ParseOSType(value, os_name, environment); if (value.equals("maccatalyst")) { os_name = "ios"; environment = "macabi"; } else os_name = std::string(value); ++num_keys_decoded; } else if (name.equals("vendor")) { vendor_name = std::string(value); Loading Loading @@ -2063,7 +2053,11 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) { extractor.GetHexByteString(triple); ++num_keys_decoded; } else if (name.equals("ostype")) { ParseOSType(value, os_name, environment); if (value.equals("maccatalyst")) { os_name = "ios"; environment = "macabi"; } else os_name = std::string(value); ++num_keys_decoded; } else if (name.equals("vendor")) { vendor_name = std::string(value); Loading lldb/test/API/functionalities/gdb_remote_client/TestIOSSimulator.pydeleted 100644 → 0 +0 −58 Original line number Diff line number Diff line import lldb from lldbsuite.test.lldbtest import * from lldbsuite.test.decorators import * from gdbclientutils import * class TestIOSSimulator(GDBRemoteTestBase): """ Test that an ios simulator process is recognized as such. """ class MyResponder(MockGDBServerResponder): def __init__(self, host, process): self.host_ostype = host self.process_ostype = process MockGDBServerResponder.__init__(self) def qHostInfo(self): return "cputype:16777223;cpusubtype:8;ostype:%s;vendor:apple;os_version:10.15.4;maccatalyst_version:13.4;endian:little;ptrsize:8;"%self.host_ostype def qProcessInfo(self): return "pid:a860;parent-pid:d2a0;real-uid:1f5;real-gid:14;effective-uid:1f5;effective-gid:14;cputype:1000007;cpusubtype:8;ptrsize:8;ostype:%s;vendor:apple;endian:little;"%self.process_ostype def vCont(self): return "vCont;" def platform_test(self, host, process, expected_triple): self.server.responder = self.MyResponder(host, process) if self.TraceOn(): self.runCmd("log enable gdb-remote packets") self.addTearDownHook(lambda: self.runCmd("log disable gdb-remote packets")) target = self.dbg.CreateTargetWithFileAndArch(None, None) process = self.connect(target) triple = target.GetTriple() self.assertEqual(triple, expected_triple) @skipIfRemote def test_macos(self): self.platform_test(host="macosx", process="macosx", expected_triple="x86_64h-apple-macosx-") @skipIfRemote def test_ios_sim(self): self.platform_test(host="macosx", process="iossimulator", expected_triple="x86_64h-apple-ios-simulator") @skipIfRemote def test_catalyst(self): self.platform_test(host="macosx", process="maccatalyst", expected_triple="x86_64h-apple-ios-macabi") @skipIfRemote def test_tvos_sim(self): self.platform_test(host="macosx", process="tvossimulator", expected_triple="x86_64h-apple-tvos-simulator") @skipIfRemote def test_tvos_sim(self): self.platform_test(host="macosx", process="watchossimulator", expected_triple="x86_64h-apple-watchos-simulator") lldb/test/API/functionalities/gdb_remote_client/TestWasm.py +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ class MyResponder(MockGDBServerResponder): MockGDBServerResponder.__init__(self) def respond(self, packet): if packet == "qProcessInfo": return self.qProcessInfo() if packet[0:13] == "qRegisterInfo": return self.qRegisterInfo(packet[13:]) return MockGDBServerResponder.respond(self, packet) Loading lldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py +0 −5 Original line number Diff line number Diff line Loading @@ -170,8 +170,6 @@ class MockGDBServerResponder: return self.qQueryGDBServer() if packet == "qHostInfo": return self.qHostInfo() if packet == "qProcessInfo": return self.qProcessInfo() if packet == "qGetWorkingDir": return self.qGetWorkingDir() if packet == "qOffsets": Loading @@ -198,9 +196,6 @@ class MockGDBServerResponder: def qHostInfo(self): return "ptrsize:8;endian:little;" def qProcessInfo(self): return "pid:1;ptrsize:8;endian:little;" def qQueryGDBServer(self): return "E04" Loading lldb/tools/debugserver/source/MacOSX/MachProcess.mm +6 −21 Original line number Diff line number Diff line Loading @@ -598,16 +598,6 @@ nub_addr_t MachProcess::GetTSDAddressForThread( plo_pthread_tsd_entry_size); } /// Determine whether this is running on macOS. /// Since debugserver runs on the same machine as the process, we can /// just look at the compilation target. static bool IsMacOSHost() { #if TARGET_OS_OSX == 1 return true; #else return false; #endif } const char *MachProcess::GetDeploymentInfo(const struct load_command& lc, uint64_t load_command_address, Loading @@ -629,17 +619,15 @@ const char *MachProcess::GetDeploymentInfo(const struct load_command& lc, minor_version = (vers_cmd.sdk >> 8) & 0xffu; patch_version = vers_cmd.sdk & 0xffu; // Handle the older LC_VERSION load commands, which don't // distinguish between simulator and real hardware. switch (cmd) { case LC_VERSION_MIN_IPHONEOS: return IsMacOSHost() ? "iossimulator": "ios"; return "ios"; case LC_VERSION_MIN_MACOSX: return "macosx"; case LC_VERSION_MIN_TVOS: return IsMacOSHost() ? "tvossimulator": "tvos"; return "tvos"; case LC_VERSION_MIN_WATCHOS: return IsMacOSHost() ? "watchossimulator" : "watchos"; return "watchos"; default: return nullptr; } Loading @@ -661,17 +649,14 @@ const char *MachProcess::GetDeploymentInfo(const struct load_command& lc, case PLATFORM_MACCATALYST: return "maccatalyst"; case PLATFORM_IOS: return "ios"; case PLATFORM_IOSSIMULATOR: return "iossimulator"; return "ios"; case PLATFORM_TVOS: return "tvos"; case PLATFORM_TVOSSIMULATOR: return "tvossimulator"; return "tvos"; case PLATFORM_WATCHOS: return "watchos"; case PLATFORM_WATCHOSSIMULATOR: return "watchossimulator"; return "watchos"; case PLATFORM_BRIDGEOS: return "bridgeos"; case PLATFORM_DRIVERKIT: Loading Loading
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +10 −16 Original line number Diff line number Diff line Loading @@ -1131,20 +1131,6 @@ bool GDBRemoteCommunicationClient::GetDefaultThreadId(lldb::tid_t &tid) { return true; } static void ParseOSType(llvm::StringRef value, std::string &os_name, std::string &environment) { if (value.equals("iossimulator") || value.equals("tvossimulator") || value.equals("watchossimulator")) { environment = "simulator"; os_name = value.drop_back(environment.size()).str(); } else if (value.equals("maccatalyst")) { os_name = "ios"; environment = "macabi"; } else { os_name = value.str(); } } bool GDBRemoteCommunicationClient::GetHostInfo(bool force) { Log *log(ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet(GDBR_LOG_PROCESS)); Loading Loading @@ -1203,7 +1189,11 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) { extractor.GetHexByteString(m_os_kernel); ++num_keys_decoded; } else if (name.equals("ostype")) { ParseOSType(value, os_name, environment); if (value.equals("maccatalyst")) { os_name = "ios"; environment = "macabi"; } else os_name = std::string(value); ++num_keys_decoded; } else if (name.equals("vendor")) { vendor_name = std::string(value); Loading Loading @@ -2063,7 +2053,11 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) { extractor.GetHexByteString(triple); ++num_keys_decoded; } else if (name.equals("ostype")) { ParseOSType(value, os_name, environment); if (value.equals("maccatalyst")) { os_name = "ios"; environment = "macabi"; } else os_name = std::string(value); ++num_keys_decoded; } else if (name.equals("vendor")) { vendor_name = std::string(value); Loading
lldb/test/API/functionalities/gdb_remote_client/TestIOSSimulator.pydeleted 100644 → 0 +0 −58 Original line number Diff line number Diff line import lldb from lldbsuite.test.lldbtest import * from lldbsuite.test.decorators import * from gdbclientutils import * class TestIOSSimulator(GDBRemoteTestBase): """ Test that an ios simulator process is recognized as such. """ class MyResponder(MockGDBServerResponder): def __init__(self, host, process): self.host_ostype = host self.process_ostype = process MockGDBServerResponder.__init__(self) def qHostInfo(self): return "cputype:16777223;cpusubtype:8;ostype:%s;vendor:apple;os_version:10.15.4;maccatalyst_version:13.4;endian:little;ptrsize:8;"%self.host_ostype def qProcessInfo(self): return "pid:a860;parent-pid:d2a0;real-uid:1f5;real-gid:14;effective-uid:1f5;effective-gid:14;cputype:1000007;cpusubtype:8;ptrsize:8;ostype:%s;vendor:apple;endian:little;"%self.process_ostype def vCont(self): return "vCont;" def platform_test(self, host, process, expected_triple): self.server.responder = self.MyResponder(host, process) if self.TraceOn(): self.runCmd("log enable gdb-remote packets") self.addTearDownHook(lambda: self.runCmd("log disable gdb-remote packets")) target = self.dbg.CreateTargetWithFileAndArch(None, None) process = self.connect(target) triple = target.GetTriple() self.assertEqual(triple, expected_triple) @skipIfRemote def test_macos(self): self.platform_test(host="macosx", process="macosx", expected_triple="x86_64h-apple-macosx-") @skipIfRemote def test_ios_sim(self): self.platform_test(host="macosx", process="iossimulator", expected_triple="x86_64h-apple-ios-simulator") @skipIfRemote def test_catalyst(self): self.platform_test(host="macosx", process="maccatalyst", expected_triple="x86_64h-apple-ios-macabi") @skipIfRemote def test_tvos_sim(self): self.platform_test(host="macosx", process="tvossimulator", expected_triple="x86_64h-apple-tvos-simulator") @skipIfRemote def test_tvos_sim(self): self.platform_test(host="macosx", process="watchossimulator", expected_triple="x86_64h-apple-watchos-simulator")
lldb/test/API/functionalities/gdb_remote_client/TestWasm.py +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ class MyResponder(MockGDBServerResponder): MockGDBServerResponder.__init__(self) def respond(self, packet): if packet == "qProcessInfo": return self.qProcessInfo() if packet[0:13] == "qRegisterInfo": return self.qRegisterInfo(packet[13:]) return MockGDBServerResponder.respond(self, packet) Loading
lldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py +0 −5 Original line number Diff line number Diff line Loading @@ -170,8 +170,6 @@ class MockGDBServerResponder: return self.qQueryGDBServer() if packet == "qHostInfo": return self.qHostInfo() if packet == "qProcessInfo": return self.qProcessInfo() if packet == "qGetWorkingDir": return self.qGetWorkingDir() if packet == "qOffsets": Loading @@ -198,9 +196,6 @@ class MockGDBServerResponder: def qHostInfo(self): return "ptrsize:8;endian:little;" def qProcessInfo(self): return "pid:1;ptrsize:8;endian:little;" def qQueryGDBServer(self): return "E04" Loading
lldb/tools/debugserver/source/MacOSX/MachProcess.mm +6 −21 Original line number Diff line number Diff line Loading @@ -598,16 +598,6 @@ nub_addr_t MachProcess::GetTSDAddressForThread( plo_pthread_tsd_entry_size); } /// Determine whether this is running on macOS. /// Since debugserver runs on the same machine as the process, we can /// just look at the compilation target. static bool IsMacOSHost() { #if TARGET_OS_OSX == 1 return true; #else return false; #endif } const char *MachProcess::GetDeploymentInfo(const struct load_command& lc, uint64_t load_command_address, Loading @@ -629,17 +619,15 @@ const char *MachProcess::GetDeploymentInfo(const struct load_command& lc, minor_version = (vers_cmd.sdk >> 8) & 0xffu; patch_version = vers_cmd.sdk & 0xffu; // Handle the older LC_VERSION load commands, which don't // distinguish between simulator and real hardware. switch (cmd) { case LC_VERSION_MIN_IPHONEOS: return IsMacOSHost() ? "iossimulator": "ios"; return "ios"; case LC_VERSION_MIN_MACOSX: return "macosx"; case LC_VERSION_MIN_TVOS: return IsMacOSHost() ? "tvossimulator": "tvos"; return "tvos"; case LC_VERSION_MIN_WATCHOS: return IsMacOSHost() ? "watchossimulator" : "watchos"; return "watchos"; default: return nullptr; } Loading @@ -661,17 +649,14 @@ const char *MachProcess::GetDeploymentInfo(const struct load_command& lc, case PLATFORM_MACCATALYST: return "maccatalyst"; case PLATFORM_IOS: return "ios"; case PLATFORM_IOSSIMULATOR: return "iossimulator"; return "ios"; case PLATFORM_TVOS: return "tvos"; case PLATFORM_TVOSSIMULATOR: return "tvossimulator"; return "tvos"; case PLATFORM_WATCHOS: return "watchos"; case PLATFORM_WATCHOSSIMULATOR: return "watchossimulator"; return "watchos"; case PLATFORM_BRIDGEOS: return "bridgeos"; case PLATFORM_DRIVERKIT: Loading