Loading...
common/SymbolsCache.cpp dyld-1235.2 dyld-1231.3
--- dyld/dyld-1235.2/common/SymbolsCache.cpp
+++ dyld/dyld-1231.3/common/SymbolsCache.cpp
@@ -1053,14 +1053,6 @@
     return Error::none();
 }
 
-static std::string_view leafName(std::string_view str)
-{
-    size_t pos = str.rfind('/');
-    if ( pos == std::string_view::npos )
-        return str;
-    return str.substr(pos+1);
-}
-
 static mach_o::Error makeBinaryFromJSON(const SymbolsCache::ArchPlatforms& archPlatforms,
                                         const dyld3::json::Node& rootNode, std::string_view path,
                                         std::string_view projectName,
@@ -1265,7 +1257,7 @@
     binary.exportedSymbols = std::move(exportedSymbols);
     binary.importedSymbols = std::move(importedSymbols);
     binary.reexportedLibraries = std::move(reexports);
-    binary.inputFileName = leafName(path);
+    binary.fromJSON = true;
 
     binaries.push_back(std::move(binary));
     return Error::none();
@@ -2186,21 +2178,12 @@
 
         // HACK!: A few B&I projects build multiple copies of the same binary, and those are confused for each other
         // For now skip errors from these projects until we can handle them.  They'll still be caught when using a mach-o, just not JSON
-        if ( binary.inputFileName.ends_with(".json") ) {
+        if ( binary.fromJSON ) {
             if ( binary.installName == "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox" )
                 continue;
             if ( binary.installName == "/usr/lib/libNFC_HAL.dylib" )
                 continue;
             if ( binary.installName == "/System/Library/PrivateFrameworks/WiFiPeerToPeer.framework/WiFiPeerToPeer" )
-                continue;
-            if ( binary.installName == "/usr/lib/libz.1.dylib" )
-                continue;
-
-            // Filter out LAR and _tests projects
-            // Note project name looks something like: dyld_tests-version.json
-            if ( binary.inputFileName.find("_tests-") != std::string_view::npos )
-                continue;
-            if ( binary.inputFileName.find("_lar-") != std::string_view::npos )
                 continue;
         }