Skip to content

Commit 7cd9cc7

Browse files
michalgrmeta-codesync[bot]
authored andcommitted
Skip SO archive entries in buildDeoptimisedManifestForLibs
Summary: Filter out `lib_soa_*` entries in `Manifest.buildDeoptimisedManifestForLibs` so that superpack SO archives are not mistakenly treated as regular shared libraries. This ensures `createSoSourceForLibs` continues to return null for SO archive modules. Added a test to verify this behavior. Reviewed By: adicatana Differential Revision: D94379973 fbshipit-source-id: aafe3c639b2c4f1cc177073fb2eb89b9753b9f8f
1 parent 94826f7 commit 7cd9cc7

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

java/com/facebook/soloader/Manifest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,15 @@ public static Manifest buildDeoptimisedManifestForLibs(ZipFile zipFile, String a
103103
ZipEntry entry = entries.nextElement();
104104
String name = entry.getName();
105105
if (name.startsWith(prefix) && name.endsWith(".so")) {
106+
String libName = name.substring(prefix.length());
107+
if (libName.startsWith("lib_soa_")) {
108+
continue; // Skip SO archive entries
109+
}
106110
int flags = Library.FLAG_UNKNOWN_DEPS;
107111
if (entry.getMethod() != ZipEntry.STORED) {
108112
flags |= Library.FLAG_COMPRESSED;
109113
}
110-
libs.add(new Library(name.substring(prefix.length()), flags));
114+
libs.add(new Library(libName, flags));
111115
}
112116
}
113117

0 commit comments

Comments
 (0)