Loading...
src/dyld2.cpp dyld-733.6 dyld-732.8
--- dyld/dyld-733.6/src/dyld2.cpp
+++ dyld/dyld-732.8/src/dyld2.cpp
@@ -1468,25 +1468,6 @@
 			sImageRoots.erase(it);
 			break;
 		}
-	}
-
-	// If this image is the potential canonical definition of any weak defs, then set them to a tombstone value
-	if ( gLinkContext.weakDefMapInitialized && image->hasCoalescedExports() ) {
-		Diagnostics diag;
-		const dyld3::MachOAnalyzer* ma = (const dyld3::MachOAnalyzer*)image->machHeader();
-		ma->forEachWeakDef(diag, ^(const char *symbolName, uintptr_t imageOffset, bool isFromExportTrie) {
-			auto it = gLinkContext.weakDefMap.find(symbolName);
-			assert(it != gLinkContext.weakDefMap.end());
-			it->second = { nullptr, 0 };
-			if ( !isFromExportTrie ) {
-				// The string was already duplicated if we are an export trie
-				// so only strdup as we are the nlist
-				size_t hash1 = ImageLoader::HashCString::hash(it->first);
-				it->first = strdup(it->first);
-				size_t hash2 = ImageLoader::HashCString::hash(it->first);
-				assert(hash1 == hash2);
-			}
-		});
 	}
 
 	// log if requested