Linker parsing updates#32
Merged
scheibelp merged 3 commits intospack:mainfrom Apr 28, 2026
Merged
Conversation
73cc111 to
162b41d
Compare
Reduce the degree to which we decompose an incoming command line in the toolchain. The odering and context of CLI arguments is highly fragile and important to the contents and naming of build artifacts, in particular w.r.t. maintaining user expectations and logic regarding name reasoning. Instead toolchain is now a thin wrapper to pass the toolchain commands through the compiler wrapper itself, preserving inputs and order and injecting Spack libs, includes, etc safely. We leave command line parsing to specialized tools designed for the linker/compiler/etc. Signed-off-by: John Parent <john.parent@kitware.com>
* Stop disabiguating between obj, lib, and lo files, they're treated the same by the linker and we don't need extra logic for each, and we need to be able to process them in order. * Carefully parses the command line and .def file to determine the intended output name and ensures the internal modeling of that name in the compiler wrapper is consistent * Adds behavior to allow for extremely long command lines (Paraviews are 75kb) by composing arguments into an RSP file * Adds logic to expand the contents of an RSP file so we can inspect the full command line to better reason about naming and eventual length * Small bug fixes of QOL improvements Signed-off-by: John Parent <john.parent@kitware.com>
162b41d to
13693b5
Compare
scheibelp
approved these changes
Apr 28, 2026
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.
Linker Parsing: Overhaul linker CLI processing
Includes #31