This revision was automatically updated to reflect the committed changes.
Closed by commit rG99515783a63c: Don't search for sim SDK path until we
know we need it (authored by jasonmolenda).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122373/new/
https://reviews.llvm.org/D122373
Files:
lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
Index: lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
===================================================================
--- lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
+++ lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
@@ -59,7 +59,8 @@
llvm::Triple::OSType preferred_os,
llvm::SmallVector<llvm::Triple::OSType, 4> supported_os,
llvm::SmallVector<llvm::StringRef, 4> supported_triples,
- llvm::StringRef sdk, XcodeSDK::Type sdk_type,
+ std::string sdk_name_preferred, std::string sdk_name_secondary,
+ XcodeSDK::Type sdk_type,
CoreSimulatorSupport::DeviceType::ProductFamilyID kind,
bool force, const ArchSpec *arch);
Index: lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
===================================================================
--- lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
+++ lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
@@ -274,13 +274,23 @@
return result;
}
+static llvm::StringRef GetXcodeSDKDir(std::string preferred,
+ std::string secondary) {
+ llvm::StringRef sdk;
+ sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(preferred)));
+ if (sdk.empty())
+ sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(secondary)));
+ return sdk;
+}
+
PlatformSP PlatformAppleSimulator::CreateInstance(
const char *class_name, const char *description, ConstString plugin_name,
llvm::SmallVector<llvm::Triple::ArchType, 4> supported_arch,
llvm::Triple::OSType preferred_os,
llvm::SmallVector<llvm::Triple::OSType, 4> supported_os,
llvm::SmallVector<llvm::StringRef, 4> supported_triples,
- llvm::StringRef sdk, lldb_private::XcodeSDK::Type sdk_type,
+ std::string sdk_name_preferred, std::string sdk_name_secondary,
+ lldb_private::XcodeSDK::Type sdk_type,
CoreSimulatorSupport::DeviceType::ProductFamilyID kind, bool force,
const ArchSpec *arch) {
Log *log = GetLog(LLDBLog::Platform);
@@ -338,6 +348,8 @@
if (create) {
LLDB_LOGF(log, "%s::%s() creating platform", class_name, __FUNCTION__);
+ llvm::StringRef sdk =
+ GetXcodeSDKDir(sdk_name_preferred, sdk_name_secondary);
return PlatformSP(new PlatformAppleSimulator(
class_name, description, plugin_name, preferred_os, supported_triples,
sdk, sdk_type, kind));
@@ -514,15 +526,6 @@
!arch->TripleEnvironmentWasSpecified();
}
-static llvm::StringRef GetXcodeSDKDir(std::string preferred,
- std::string secondary) {
- llvm::StringRef sdk;
- sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(preferred)));
- if (sdk.empty())
- sdk = HostInfo::GetXcodeSDKPath(XcodeSDK(std::move(secondary)));
- return sdk;
-}
-
static const char *g_ios_plugin_name = "ios-simulator";
static const char *g_ios_description = "iPhone simulator platform plug-in.";
@@ -540,10 +543,6 @@
static PlatformSP CreateInstance(bool force, const ArchSpec *arch) {
if (shouldSkipSimulatorPlatform(force, arch))
return nullptr;
- llvm::StringRef sdk;
- sdk = HostInfo::GetXcodeSDKPath(XcodeSDK("iPhoneSimulator.Internal.sdk"));
- if (sdk.empty())
- sdk = HostInfo::GetXcodeSDKPath(XcodeSDK("iPhoneSimulator.sdk"));
return PlatformAppleSimulator::CreateInstance(
"PlatformiOSSimulator", g_ios_description,
@@ -566,7 +565,7 @@
#endif
#endif
},
- GetXcodeSDKDir("iPhoneSimulator.Internal.sdk", "iPhoneSimulator.sdk"),
+ "iPhoneSimulator.Internal.sdk", "iPhoneSimulator.sdk",
XcodeSDK::Type::iPhoneSimulator,
CoreSimulatorSupport::DeviceType::ProductFamilyID::iPhone, force, arch);
}
@@ -604,7 +603,7 @@
#endif
#endif
},
- GetXcodeSDKDir("AppleTVSimulator.Internal.sdk", "AppleTVSimulator.sdk"),
+ "AppleTVSimulator.Internal.sdk", "AppleTVSimulator.sdk",
XcodeSDK::Type::AppleTVSimulator,
CoreSimulatorSupport::DeviceType::ProductFamilyID::appleTV, force,
arch);
@@ -646,7 +645,7 @@
#endif
#endif
},
- GetXcodeSDKDir("WatchSimulator.Internal.sdk", "WatchSimulator.sdk"),
+ "WatchSimulator.Internal.sdk", "WatchSimulator.sdk",
XcodeSDK::Type::WatchSimulator,
CoreSimulatorSupport::DeviceType::ProductFamilyID::appleWatch, force,
arch);
Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
===================================================================
--- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
@@ -379,6 +379,13 @@
args.AppendArgument("--sdk");
args.AppendArgument(sdk);
+ Log *log = GetLog(LLDBLog::Host);
+ if (log) {
+ std::string cmdstr;
+ args.GetCommandString(cmdstr);
+ log->Printf("GetXcodeSDK() running shell cmd '%s'", cmdstr.c_str());
+ }
+
int status = 0;
int signo = 0;
std::string output_str;
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits