* for each binary image not loaded from the shared cache during stackshots.
*/
+/* Some clients check the dyld version at runtime */
+#define DYLD_ALL_IMAGE_INFOS_ADDRESS_MINIMUM_VERSION 9
+#define DYLD_ALL_IMAGE_INFOS_TIMESTAMP_MINIMUM_VERSION 15
+
/* Re-use dyld format for kext load addresses */
#if __LP64__
typedef struct user64_dyld_uuid_info kernel_uuid_info;
user32_addr_t sharedCacheSlide;
/* the following field is only in version 13 (Mac OS X 10.9, iOS 7.0) and later */
uint8_t sharedCacheUUID[16];
- /* the following field is only in version 14 (Mac OS X 10.9, iOS 7.0) and later */
- user32_addr_t reserved[16];
/* the following field is only in version 15 (Mac OS X 10.12, iOS 10.0) and later */
- uint64_t timestamp;
+ user32_addr_t sharedCacheBaseAddress;
+ uint64_t timestamp;
+ user32_addr_t reserved[14];
+ /* the following fields are only in version 16 (macOS 10.13, iOS 12.0) and later */
+ user32_addr_t compact_dyld_image_info_addr;
+ user32_size_t compact_dyld_image_info_size;
};
struct user64_dyld_all_image_infos {
user64_addr_t sharedCacheSlide;
/* the following field is only in version 13 (Mac OS X 10.9, iOS 7.0) and later */
uint8_t sharedCacheUUID[16];
- /* the following field is only in version 14 (Mac OS X 10.9, iOS 7.0) and later */
- user64_addr_t reserved[16];
- /* the following field is only in version 15 (Mac OS X 10.12, iOS 10.0) and later */
- uint64_t timestamp;
+ /* the following field is only in version 15 (macOS 10.12, iOS 10.0) and later */
+ user64_addr_t sharedCacheBaseAddress;
+ uint64_t timestamp;
+ user64_addr_t reserved[14];
+ /* the following fields are only in version 16 (macOS 10.13, iOS 12.0) and later */
+ user64_addr_t compact_dyld_image_info_addr;
+ user64_size_t compact_dyld_image_info_size;
};
+