[Lldb-commits] [lldb] bc19697 - Remove compile-time and runtime checks for SPI in HostInfoMacOSX
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Thu Oct 27 16:57:54 PDT 2022
Author: Jason Molenda
Date: 2022-10-27T16:57:48-07:00
New Revision: bc196970b549782bffde5fdbfa450c565af11fc1
URL: https://github.com/llvm/llvm-project/commit/bc196970b549782bffde5fdbfa450c565af11fc1
DIFF: https://github.com/llvm/llvm-project/commit/bc196970b549782bffde5fdbfa450c565af11fc1.diff
LOG: Remove compile-time and runtime checks for SPI in HostInfoMacOSX
There are conditionalized calls to an SPI in HostInfoMacOSX.mm
to test if lldb is being built against a pre-macOS 10.12 SDK,
or being run on a pre-macOS 10.12 system. macOS 10.12 was released
six years ago, and I don't know of any active users of this system
so let's remove the checks.
Differential Revision: https://reviews.llvm.org/D136900
rdar://101652340
Added:
Modified:
lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Removed:
################################################################################
diff --git a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
index 11590be56fbc8..d0d964b0903be 100644
--- a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+++ b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
@@ -530,48 +530,43 @@ static void ParseOSVersion(llvm::VersionTuple &version, NSString *Key) {
bool SharedCacheInfo::CreateSharedCacheInfoWithInstrospectionSPIs() {
#if defined(SDK_HAS_NEW_DYLD_INTROSPECTION_SPIS)
- if (__builtin_available(macOS 12, *)) {
- if (dyld_process_create_for_current_task) {
- dyld_process_t dyld_process = dyld_process_create_for_current_task();
- if (!dyld_process)
- return false;
-
- dyld_process_snapshot_t snapshot =
- dyld_process_snapshot_create_for_process(dyld_process, nullptr);
- if (!snapshot)
- return false;
-
- auto on_exit = llvm::make_scope_exit(
- [&]() { dyld_process_snapshot_dispose(snapshot); });
-
- dyld_shared_cache_t shared_cache =
- dyld_process_snapshot_get_shared_cache(snapshot);
- if (!shared_cache)
- return false;
-
- dyld_shared_cache_for_each_image(shared_cache, ^(dyld_image_t image) {
- __block uint64_t minVmAddr = UINT64_MAX;
- __block uint64_t maxVmAddr = 0;
- uuid_t uuidStore;
- __block uuid_t *uuid = &uuidStore;
-
- dyld_image_for_each_segment_info(image, ^(const char *segmentName,
- uint64_t vmAddr,
- uint64_t vmSize, int perm) {
+ dyld_process_t dyld_process = dyld_process_create_for_current_task();
+ if (!dyld_process)
+ return false;
+
+ dyld_process_snapshot_t snapshot =
+ dyld_process_snapshot_create_for_process(dyld_process, nullptr);
+ if (!snapshot)
+ return false;
+
+ auto on_exit =
+ llvm::make_scope_exit([&]() { dyld_process_snapshot_dispose(snapshot); });
+
+ dyld_shared_cache_t shared_cache =
+ dyld_process_snapshot_get_shared_cache(snapshot);
+ if (!shared_cache)
+ return false;
+
+ dyld_shared_cache_for_each_image(shared_cache, ^(dyld_image_t image) {
+ __block uint64_t minVmAddr = UINT64_MAX;
+ __block uint64_t maxVmAddr = 0;
+ uuid_t uuidStore;
+ __block uuid_t *uuid = &uuidStore;
+
+ dyld_image_for_each_segment_info(
+ image,
+ ^(const char *segmentName, uint64_t vmAddr, uint64_t vmSize, int perm) {
minVmAddr = std::min(minVmAddr, vmAddr);
maxVmAddr = std::max(maxVmAddr, vmAddr + vmSize);
dyld_image_copy_uuid(image, uuid);
});
- assert(minVmAddr != UINT_MAX);
- assert(maxVmAddr != 0);
- m_images[dyld_image_get_installname(image)] = SharedCacheImageInfo{
- UUID(uuid, 16),
- std::make_shared<DataBufferUnowned>((uint8_t *)minVmAddr,
- maxVmAddr - minVmAddr)};
- });
- return true;
- }
- }
+ assert(minVmAddr != UINT_MAX);
+ assert(maxVmAddr != 0);
+ m_images[dyld_image_get_installname(image)] = SharedCacheImageInfo{
+ UUID(uuid, 16), std::make_shared<DataBufferUnowned>(
+ (uint8_t *)minVmAddr, maxVmAddr - minVmAddr)};
+ });
+ return true;
#endif
return false;
}
More information about the lldb-commits
mailing list