60 const char *arch_name;
66 const char *triple_cstr =
67 arch ? arch->
GetTriple().getTriple().c_str() :
"<null>";
69 LLDB_LOGF(log,
"PlatformRemoteMacOSX::%s(force=%s, arch={%s,%s})",
70 __FUNCTION__, force ?
"true" :
"false", arch_name, triple_cstr);
74 if (!create && arch && arch->
IsValid()) {
75 const llvm::Triple &triple = arch->
GetTriple();
76 switch (triple.getVendor()) {
77 case llvm::Triple::Apple:
84 case llvm::Triple::UnknownVendor:
93 switch (triple.getOS()) {
94 case llvm::Triple::Darwin:
96 case llvm::Triple::MacOSX:
101 case llvm::Triple::UnknownOS:
113 LLDB_LOGF(log,
"PlatformRemoteMacOSX::%s() creating platform",
115 return std::make_shared<PlatformRemoteMacOSX>();
118 LLDB_LOGF(log,
"PlatformRemoteMacOSX::%s() aborting creation of platform",
127 std::vector<ArchSpec> result;
133 result.push_back(
ArchSpec(
"x86_64-apple-macosx"));
134 result.push_back(
ArchSpec(
"x86_64-apple-ios-macabi"));
135 result.push_back(
ArchSpec(
"arm64-apple-ios"));
136 result.push_back(
ArchSpec(
"arm64e-apple-ios"));
141 return "Remote Mac OS X user platform plug-in.";
145 return "macOS DeviceSupport";
149 return "MacOSX.platform";
#define LLDB_LOGF(log,...)
An architecture specification class.
bool IsValid() const
Tests if this ArchSpec is valid.
llvm::Triple & GetTriple()
Architecture triple accessor.
bool TripleVendorWasSpecified() const
bool TripleOSWasSpecified() const
const char * GetArchitectureName() const
Returns a static string representing the current architecture.
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
A class that represents a running process on the host machine.
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
std::shared_ptr< lldb_private::Platform > PlatformSP