Repository navigation
fix(relinker): protect registry output from inputs - #2100
Closed
AaravMehta-07 wants to merge 1 commit into
Closed
AaravMehta-07 wants to merge 1 commit into
AaravMehta-07 wants to merge 1 commit into
Conversation
9 tasks done
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
9 tasks done
AaravMehta-07
force-pushed
the
codex/relinker-correctness
branch
from
October 9, 2026 09:39
f37e7fa to
d60ed99
Compare
9 tasks done
9 tasks done
9 tasks done
Collaborator
|
Closing: this guards against pointing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Reject
--registryoutput paths that refer to either the main executable input or a bundled guest-module input. The relinker now checks the registry path against the exact module input inventory already discovered byGuestModuleBuilder, including filesystem aliases, before writing registry or converted outputs. A missing registry destination remains valid. This prevents a successful conversion from replacing an input ELF with JSON.Tested
f37e7fa3), Windows 11 / WinLibs GCC 15.2 relinker-only build and full relinker CTest suite passed (36/36).tls_function_coveragetook 68.36 seconds locally.f37e7fa3), Ubuntu WSL / GCC 15.2 relinker build and full relinker CTest suite passed (39/39).import_audittook 160.91 seconds on the mounted Windows worktree.d60ed99aond9484c71), Windows relinker-only build passed (151/151 build steps) and focusedcall_registryCTest passed (1/1, 27.74 seconds).d60ed99aond9484c71), Ubuntu WSL relinker build passed (6/6 build steps) and focusedcall_registryCTest passed (1/1, 4.68 seconds).d60ed99acompleted: conventions and eligibility passed; automatic relinker and full-project Linux/Windows jobs were skipped by ci(build): require manual full builds and auto-test relinker for contr #2113's contributor eligibility gate. Full-project builds require manual dispatch.app0output was created.python tools/check_conventions.py --base upstream/mainpassed.mainatd9484c719b2a5ac6201e27f8657e0fb0f01e648c, which includes #2099's SPIRV-Headers include fix and #2113's CI workflow change. At the previous head, hosted relinker jobs passed on Windows, Linux, and macOS and conventions passed. The previous full-project Windows/Linux builds failed in unchangedagc_shader_fusion_testsbecause its include list omitted3rdparty/SPIRV-Headers/include; base and PR blob hashes for the relevant AGC files matched, and a local WinLibs GCC 15.2 compile reproduced the failure and passed with that include root added. The upstream include fix has since merged; no AGC code is part of this PR. Under ci(build): require manual full builds and auto-test relinker for contr #2113, full-project builds are manual rather than automatic for contributor PRs.Checklist
main; no other open PR implements this input-overwrite protection. PR feat(relinker): write a registry for each converted bundled module #1462 adds per-module registry output. PR #1815 changes nested guest-module discovery earlier inGuestModuleBuilder::Build; this preflight follows the completed input inventory and checks its paths, including any newly discovered modules. The behavior is complementary and has no dependency on fix(relinker): discover required modules in nested standard directories #1815.NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository