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.
#define CPU_TYPE_ARM64 (CPU_TYPE_ARM | CPU_ARCH_ABI64) |
Definition at line 56 of file HostInfoMacOSX.mm.
#define CPU_TYPE_ARM64_32 (CPU_TYPE_ARM | CPU_ARCH_ABI64_32) |
Definition at line 61 of file HostInfoMacOSX.mm.
uint8_t * _dyld_get_shared_cache_range | ( | size_t * | length | ) |
bool _dyld_get_shared_cache_uuid | ( | uuid_t | uuid | ) |
int dyld_shared_cache_iterate_text | ( | const uuid_t | cacheUuid, |
void(^)(const dyld_shared_cache_dylib_text_info *info) | callback | ||
) |
|
static |
Definition at line 553 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 461 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().
|
static |
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 397 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().