]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kdp/kdp_dyld.h
xnu-4570.1.46.tar.gz
[apple/xnu.git] / osfmk / kdp / kdp_dyld.h
index 314d220b58bac0b815441ea84d16bff495abc0ae..91110b6d70e38ed820dbcc51cfe7d9212013de50 100644 (file)
  * 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;
@@ -83,10 +87,13 @@ struct user32_dyld_all_image_infos {
        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 {
@@ -118,8 +125,12 @@ 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;
 };
+