Loading...
launch-cache/dyld_shared_cache_util.cpp dyld-195.6 dyld-210.2.3
--- dyld/dyld-195.6/launch-cache/dyld_shared_cache_util.cpp
+++ dyld/dyld-210.2.3/launch-cache/dyld_shared_cache_util.cpp
@@ -78,14 +78,16 @@
 	return MACOSX_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "i386";
 #elif __x86_64__ 
 	return MACOSX_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "x86_64";
-#elif __ppc__ 
-	return MACOSX_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "rosetta";
 #elif __ARM_ARCH_5TEJ__ 
 	return IPHONE_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "armv5";
 #elif __ARM_ARCH_6K__ 
 	return IPHONE_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "armv6";
 #elif __ARM_ARCH_7A__ 
 	return IPHONE_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "armv7";
+#elif __ARM_ARCH_7F__ 
+	return IPHONE_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "armv7f";
+#elif __ARM_ARCH_7K__ 
+	return IPHONE_DYLD_SHARED_CACHE_DIR DYLD_SHARED_CACHE_BASE_NAME "armv7k";
 #else
 	#error unsupported architecture
 #endif
@@ -137,14 +139,17 @@
 			uint32_t current_vers = dylib_cmd->current_version();
 			
             if (print_dylib_versions) {
-                printf("\t%s (compatibility version %u.%u.%u, current version %u.%u.%u)\n", 
-                       name, 
+                printf("\t%s", name);
+                if ( compat_vers != 0xFFFFFFFF )
+                    printf("(compatibility version %u.%u.%u, current version %u.%u.%u)\n", 
                        (compat_vers >> 16),
                        (compat_vers >> 8) & 0xff,
                        (compat_vers) & 0xff,
                        (current_vers >> 16),
                        (current_vers >> 8) & 0xff,
                        (current_vers) & 0xff);
+                else
+                    printf("\n");
             } else {
                 printf("\t%s\n", name);
             }			
@@ -417,7 +422,9 @@
 		const dyldCacheHeader<LittleEndian>* header = (dyldCacheHeader<LittleEndian>*)mapped_cache;
 		if (   (strcmp(header->magic(), "dyld_v1  x86_64") != 0)
 			&& (strcmp(header->magic(), "dyld_v1   armv6") != 0)
-			&& (strcmp(header->magic(), "dyld_v1   armv7") != 0) ) {
+			&& (strcmp(header->magic(), "dyld_v1   armv7") != 0) 
+			&& (strcmp(header->magic(), "dyld_v1  armv7f") != 0) 
+			&& (strcmp(header->magic(), "dyld_v1  armv7k") != 0) ) {
 			fprintf(stderr, "Error: unrecognized dyld shared cache magic or arch does not support sliding\n");
 			exit(1);
 		}
@@ -449,13 +456,15 @@
 			callback = segment_callback<x86>;
 		else if ( strcmp((char*)mapped_cache, "dyld_v1  x86_64") == 0 ) 
 			callback = segment_callback<x86_64>;
-		else if ( strcmp((char*)mapped_cache, "dyld_v1     ppc") == 0 ) 
-			callback = segment_callback<ppc>;
 		else if ( strcmp((char*)mapped_cache, "dyld_v1   armv5") == 0 ) 
 			callback = segment_callback<arm>;
 		else if ( strcmp((char*)mapped_cache, "dyld_v1   armv6") == 0 ) 
 			callback = segment_callback<arm>;
 		else if ( strcmp((char*)mapped_cache, "dyld_v1   armv7") == 0 ) 
+			callback = segment_callback<arm>;
+		else if ( strcmp((char*)mapped_cache, "dyld_v1  armv7f") == 0 ) 
+			callback = segment_callback<arm>;
+		else if ( strcmp((char*)mapped_cache, "dyld_v1  armv7k") == 0 ) 
 			callback = segment_callback<arm>;
 		else {
 			fprintf(stderr, "Error: unrecognized dyld shared cache magic.\n");