64 const char *arch_name;
70 const char *triple_cstr =
71 arch ? arch->
GetTriple().getTriple().c_str() :
"<null>";
73 LLDB_LOGF(log,
"PlatformRemoteMacOSX::%s(force=%s, arch={%s,%s})",
74 __FUNCTION__, force ?
"true" :
"false", arch_name, triple_cstr);
78 if (!create && arch && arch->
IsValid()) {
79 const llvm::Triple &triple = arch->
GetTriple();
80 switch (triple.getVendor()) {
81 case llvm::Triple::Apple:
88 case llvm::Triple::UnknownVendor:
97 switch (triple.getOS()) {
98 case llvm::Triple::Darwin:
100 case llvm::Triple::MacOSX:
102#if defined(__APPLE__)
105 case llvm::Triple::UnknownOS:
117 LLDB_LOGF(log,
"PlatformRemoteMacOSX::%s() creating platform",
119 return std::make_shared<PlatformRemoteMacOSX>();
122 LLDB_LOGF(log,
"PlatformRemoteMacOSX::%s() aborting creation of platform",
131 std::vector<ArchSpec> result;
137 result.push_back(
ArchSpec(
"x86_64-apple-macosx"));
138 result.push_back(
ArchSpec(
"x86_64-apple-ios-macabi"));
139 result.push_back(
ArchSpec(
"arm64-apple-ios"));
140 result.push_back(
ArchSpec(
"arm64e-apple-ios"));
145 return "Remote Mac OS X user platform plug-in.";
149 return "macOS DeviceSupport";
153 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