Skip to content

fix(tools): integrate origin and module identity audit corrections - #1

Open
joedeangelis533-bot wants to merge 13 commits into
review/import-audit-base-20261025from
review/import-audit-integration-20261025
Open

joedeangelis533-bot wants to merge 13 commits into
review/import-audit-base-20261025from
review/import-audit-integration-20261025

Conversation

@joedeangelis533-bot

Copy link
Copy Markdown
Owner

What

The import audit can reject a present converted module when its dependency contains directories after $ORIGIN/, misclassify declared module identities, or approve a missing physical dependency through an alias. This combined review checks those corrections together.

Review destination: contributor fork. The base is a snapshot of upstream main acb900c194325b9ee8c23c10768a9a491454f0b2, so the review contains three changed files. Upstream authors retain the carrier and landing-order decisions; the agreed #7454 before #6171 order is preserved.

The branch merges Queuse's adopted integration e1d965afd500955f5cc0d0235a6f93e5c8a97d7e onto that main snapshot and adds the directory-path follow-up:

  • Original fix(tools): resolve $ORIGIN-prefixed converted module dependencies in import_audit boykopovar/AnyPS5#7454 11840ad87c by ggkouujere-debug and fix(tools): recognize guest module identities in import audit boykopovar/AnyPS5#6171 35bf15c510 by johnohhh1 remain ancestors.
  • thepoppfish's identity precedence/case correction 18f2abb6aa, the #10933 bare-filename correction, and physical host-sidecar safeguard e1d965afd500 are retained through the integration history.
  • The earlier joedeangelis533-bot directory-path fix ad1a7f5027 is adapted to the newer matcher. Guest lookups match the filename after $ORIGIN/; host dependencies keep prefix-only normalization. Origin-bearing sidecar entries are shortened only when the resulting physical module filename exists in the supplied inventory. Declared aliases continue to fail that physical-file obligation. Original JSON dependency strings are retained.
  • One new integration regression exercises directory-bearing sidecars with SONAME and both SCE identity tags in ELF/PE environments, checking both missing alias-only hosts and successful physical-file resolution.

Tested

Windows, Python 3.12.14, WinLibs GCC 15.2.0, Release:

  • 161 audit tests: 158 passed, three platform skips, repeated after clean application of the exported patch. Skips are two POSIX permissions checks and unavailable Windows symlink privilege.
  • All input test-method names are retained. All 155 methods from the adopted aid retain identical method ASTs.
  • Six production-only negative controls produce 45 expected assertion failures and zero errors: origin paths 5; bare suffixes 6; filename precedence 6; alias case separation 10; physical host sidecars 12; origin/sidecar handoff 6.
  • Built the actual relinker-only converter (88 Ninja steps). The producer was built at integration merge 73010f0710; its C++/CMake inputs are unchanged by the Python-only follow-up.
  • 14 paired native-conversion/audit checks pass. Seven generated Windows programs were executed: three valid cases return 22; four invalid cases fail with the expected missing-module status 0xc0000135. Seven Linux outputs were inspected for their emitted dependencies. Cases cover filename priority, valid identity/SONAME, wrong-case aliases beside valid references, SONAME suffix mismatch, and bare filenames. The Linux SONAME suffix case retains its physical host dependency instead of being incorrectly discharged by the normalized alias.
  • Seven focused CTest checks pass: import_audit, test_registration, test_script_registration, guest_module_directories, guest_module_identity, guest_needed_nested_modules, windows_import_modules. The last was rerun after its required DLL fixtures were built.
  • The exported patch applies to the pinned upstream base and reproduces the entire committed Git tree. Conventions and whitespace pass.

Canonical upstream overlap scan completed. boykopovar#10560 intersects the sectionless ELF fixture signature; a future combination must preserve module_names in its current position and append gnu_buckets. Its separate cache optimization is outside this snapshot. Seven stale USAGE comparisons were inspected manually: launcher, Windows setup, GPU selection, HDR, fonts and shader-cache sections are separate from the added module-identity paragraph.

Synthetic fixtures only. Linux binaries were inspected, not executed. No retail title, console, GPU, full product build or hosted matrix result is claimed.

Checklist

Codex assisted integration, regression testing, native verification and reporting. No independent human review is claimed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants