|
LLDB mainline
|
#include "lldb/Host/macosx/HostInfoMacOSX.h"#include "lldb/Host/FileSystem.h"#include "lldb/Host/Host.h"#include "lldb/Host/HostInfo.h"#include "lldb/Utility/Args.h"#include "lldb/Utility/LLDBLog.h"#include "lldb/Utility/Log.h"#include "lldb/Utility/Timer.h"#include "llvm/ADT/ScopeExit.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/StringMap.h"#include "llvm/Support/FileSystem.h"#include "llvm/Support/Path.h"#include "llvm/Support/raw_ostream.h"#include <optional>#include <string>#include <cstdlib>#include <sys/sysctl.h>#include <sys/syslimits.h>#include <sys/types.h>#include <uuid/uuid.h>#include <AvailabilityMacros.h>#include <CoreFoundation/CoreFoundation.h>#include <Foundation/Foundation.h>#include <mach-o/dyld.h>#include <objc/objc-auto.h>#include <TargetConditionals.h>Go to the source code of this file.
Macros | |
| #define | CPU_SUBTYPE_X86_64_H ((cpu_subtype_t)8) |
| #define | CPU_TYPE_ARM64 (CPU_TYPE_ARM | CPU_ARCH_ABI64) |
| #define | CPU_ARCH_ABI64_32 0x02000000 |
| #define | CPU_TYPE_ARM64_32 (CPU_TYPE_ARM | CPU_ARCH_ABI64_32) |
Functions | |
| static void | ParseOSVersion (llvm::VersionTuple &version, NSString *Key) |
| static bool | ResolveAndVerifyCandidateSupportDir (FileSpec &path) |
| Resolve the given candidate support dir and return true if it's valid. | |
| static std::string | GetEnvDeveloperDir () |
| Return and cache $DEVELOPER_DIR if it is set and exists. | |
| static llvm::Expected< std::string > | xcrun (const std::string &sdk, llvm::ArrayRef< llvm::StringRef > arguments, llvm::StringRef developer_dir="") |
| static llvm::Expected< std::string > | GetXcodeSDK (XcodeSDK sdk) |
| static llvm::Expected< llvm::StringRef > | find_cached_path (llvm::StringMap< ErrorOrPath > &cache, std::mutex &mutex, llvm::StringRef key, std::function< llvm::Expected< std::string >(void)> compute) |
| int | dyld_shared_cache_iterate_text (const uuid_t cacheUuid, void(^callback)(const dyld_shared_cache_dylib_text_info *info)) |
| uint8_t * | _dyld_get_shared_cache_range (size_t *length) |
| bool | _dyld_get_shared_cache_uuid (uuid_t uuid) |
| #define CPU_ARCH_ABI64_32 0x02000000 |
Definition at line 60 of file HostInfoMacOSX.mm.
| #define CPU_SUBTYPE_X86_64_H ((cpu_subtype_t)8) |
Definition at line 53 of file HostInfoMacOSX.mm.
Referenced by lldb_private::HostInfoMacOSX::ComputeHostArchitectureSupport(), and LaunchProcessPosixSpawn().
| #define CPU_TYPE_ARM64 (CPU_TYPE_ARM | CPU_ARCH_ABI64) |
Definition at line 56 of file HostInfoMacOSX.mm.
Referenced by lldb_private::HostInfoMacOSX::ComputeHostArchitectureSupport(), and GetMacOSXProcessCPUType().
| #define CPU_TYPE_ARM64_32 (CPU_TYPE_ARM | CPU_ARCH_ABI64_32) |
Definition at line 61 of file HostInfoMacOSX.mm.
Referenced by lldb_private::HostInfoMacOSX::ComputeHostArchitectureSupport(), and GetMacOSXProcessCPUType().
| uint8_t * _dyld_get_shared_cache_range | ( | size_t * | length | ) |
| int dyld_shared_cache_iterate_text | ( | const uuid_t | cacheUuid, |
| void(^)(const dyld_shared_cache_dylib_text_info *info) | callback ) |
|
static |
Definition at line 580 of file HostInfoMacOSX.mm.
References error(), LLDB_SCOPED_TIMER, and lldb_private::toString().
Referenced by lldb_private::HostInfoMacOSX::FindSDKTool(), and lldb_private::HostInfoMacOSX::GetSDKRoot().
|
static |
Return and cache $DEVELOPER_DIR if it is set and exists.
Definition at line 321 of file HostInfoMacOSX.mm.
References lldb_private::FileSpec::GetPath(), and lldb_private::FileSystem::Instance().
Referenced by lldb_private::HostInfoMacOSX::GetXcodeContentsDirectory(), and GetXcodeSDK().
|
static |
Definition at line 488 of file HostInfoMacOSX.mm.
References lldb_private::XcodeSDK::FindXcodeContentsDirectoryInPath(), lldb_private::XcodeSDK::GetCanonicalName(), GetEnvDeveloperDir(), lldb_private::GetLog(), lldb_private::XcodeSDK::GetString(), lldb_private::Host, lldb_private::FileSystem::Instance(), lldb_private::XcodeSDK::Info::internal, LLDB_LOG, lldb_private::XcodeSDK::MacOSX, lldb_private::XcodeSDK::Parse(), lldb_private::XcodeSDK::Info::type, lldb_private::XcodeSDK::Info::version, and xcrun().
Referenced by lldb_private::HostInfoMacOSX::GetSDKRoot().
|
static |
Definition at line 78 of file HostInfoMacOSX.mm.
Referenced by lldb_private::HostInfoMacOSX::GetMacCatalystVersion(), and lldb_private::HostInfoMacOSX::GetOSVersion().
Resolve the given candidate support dir and return true if it's valid.
Definition at line 128 of file HostInfoMacOSX.mm.
References lldb_private::FileSystem::Instance(), lldb_private::FileSystem::IsDirectory(), and lldb_private::FileSystem::Resolve().
Referenced by lldb_private::HostInfoMacOSX::ComputeSupportExeDirectory().
|
static |
Definition at line 424 of file HostInfoMacOSX.mm.
References lldb_private::Args::AppendArgument(), error(), lldb_private::Args::GetCommandString(), lldb_private::GetLog(), lldb_private::Host, LLDB_LOG, and lldb_private::Host::RunShellCommand().
Referenced by lldb_private::HostInfoMacOSX::FindSDKTool(), and GetXcodeSDK().