Loading...
launch-cache/dsc_iterator.cpp dyld-733.8 dyld-360.21
--- dyld/dyld-733.8/launch-cache/dsc_iterator.cpp
+++ dyld/dyld-360.21/launch-cache/dsc_iterator.cpp
@@ -33,7 +33,7 @@
 #include "Architectures.hpp"
 #include "MachOFileAbstraction.hpp"
 #include "CacheFileAbstraction.hpp"
-#include "SupportedArchs.h"
+
 
 namespace dyld {
 
@@ -59,7 +59,7 @@
 
 	// call the callback block on each segment in this image						  	  
 	template <typename A>
-	int walkSegments(const uint8_t* cache, const uint8_t* cacheEnd, const uint8_t* firstSeg, const char* dylibPath, uint64_t inode,uint64_t modTime, const uint8_t* machHeader, uint64_t cache_unslid_base_address,
+	int walkSegments(const uint8_t* cache, const uint8_t* cacheEnd, const uint8_t* firstSeg, const char* dylibPath, uint64_t inode,uint64_t modTime, const uint8_t* machHeader, 
 											void (^callback)(const dyld_shared_cache_dylib_info* dylibInfo, const dyld_shared_cache_segment_info* segInfo)) 
 	{
 		typedef typename A::P		P;	
@@ -104,14 +104,13 @@
 					if ( (fileOffset+sizem) > (uint64_t)(cacheEnd-cache) )
 						sizem = (cacheEnd-cache)-fileOffset;
 				}
-				segInfo.version = 2;
+				segInfo.version = 1;
 				segInfo.name = segCmd->segname();
 				segInfo.fileOffset = fileOffset;
 				segInfo.fileSize = sizem;
 				if ( segCmd->filesize() > segCmd->vmsize() )
 					return -1;
 				segInfo.address = segCmd->vmaddr();
-                segInfo.addressOffset = segInfo.address - cache_unslid_base_address;
 				callback(&dylibInfo, &segInfo);
 			}
 			cmd = (const macho_load_command<P>*)(((uint8_t*)cmd)+cmd->cmdsize());
@@ -132,7 +131,6 @@
 		const dyldCacheHeader<E>*      header   = (dyldCacheHeader<E>*)cache;
 		const dyldCacheImageInfo<E>*   dylibs   = (dyldCacheImageInfo<E>*)&cache[header->imagesOffset()];
 		const dyldCacheFileMapping<E>* mappings = (dyldCacheFileMapping<E>*)&cache[header->mappingOffset()];
-        uint64_t unslid_base_address = mappings[0].address();
 		uint64_t greatestMappingOffset = 0;
 		for (uint32_t i=0; i < header->mappingCount(); ++i) {
 			if ( (size != 0) && (mappings[i].file_offset() > size) )
@@ -170,7 +168,7 @@
 				return -1;
 			if ( firstSeg == NULL )
 				firstSeg = machHeader;
-			int result = walkSegments<A>(cache, cacheEnd, firstSeg, dylibPath, inode, modTime, machHeader, unslid_base_address, callback);
+			int result = walkSegments<A>(cache, cacheEnd, firstSeg, dylibPath, inode, modTime, machHeader, callback);
 			if ( result != 0 )
 				return result;
 		}
@@ -203,14 +201,6 @@
 			return dyld::walkImages<arm>(cache, shared_cache_size, callback);
 	else if ( strcmp((char*)cache, "dyld_v1   arm64") == 0 ) 
 			return dyld::walkImages<arm64>(cache, shared_cache_size, callback);
-#if SUPPORT_ARCH_arm64_32
-	else if ( strcmp((char*)cache, "dyld_v1arm64_32") == 0 ) 
-			return dyld::walkImages<arm64_32>(cache, shared_cache_size, callback);
-#endif
-#if SUPPORT_ARCH_arm64e
-	else if ( strcmp((char*)cache, "dyld_v1  arm64e") == 0 ) 
-			return dyld::walkImages<arm64>(cache, shared_cache_size, callback);
-#endif
 	else
 		return -1;
 }