fix(il2cpp): deduplicate aliased metadata registration

Fixes #6715
This commit is contained in:
morluto
2026-10-23 21:17:27 +08:00
parent 7a93cfd118
commit 8cd10d4727
3 changed files with 27 additions and 1 deletions
@@ -124,6 +124,16 @@ it("still rejects distinct CodeRegistration module table fields", () => {
).toEqual({ reason: "code-registration-not-found", kind: "malformed" });
});
it("still rejects distinct MetadataRegistration fields", () => {
expect(
failure(
createElfFixture(
createIl2cppBinaryFixture({ duplicateMetadataRegistration: true }),
),
),
).toEqual({ reason: "metadata-registration-not-found", kind: "malformed" });
});
it("rejects reused MethodDef tokens within an image but preserves cross-image reuse and folded addresses", () => {
const duplicateTokens = Uint32Array.from(facts.methodTokens);
duplicateTokens[1] = duplicateTokens[0]!;