Harden ABI detection for cross-build wrappers#19
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR hardens Stackman’s ABI detection and cross-build workflows by adding deterministic ABI override support, normalizing Windows ARM64 ABI naming, and improving ABI probe diagnostics to better surface toolchain/flag mismatches during packaging and CI.
Changes:
- Added
STACKMAN_ABIoverride support for deterministic ABI selection (Makefile +tools/abiname.sh). - Normalized Windows ARM64 ABI token to
win_arm64while preservingwin_aarch64as a compatibility alias. - Added target-triple probing and ABI mismatch warnings/diagnostics to the ABI probe script, and documented the behavior in
CHANGELOG.md.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tools/abiname.sh | Adds ABI canonicalization, target-triple probing, override path, and mismatch diagnostics. |
| stackman/platforms/platform.h | Normalizes MSVC ARM64 ABI macro to win_arm64. |
| Makefile | Adds STACKMAN_ABI override path and win_aarch64 → win_arm64 compatibility mapping. |
| CHANGELOG.md | Documents the ABI override and diagnostic changes under Unreleased. |
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.
Summary\n- add explicit STACKMAN_ABI override path for deterministic ABI selection\n- normalize Windows ARM64 ABI token to win_arm64 while preserving win_aarch64 compatibility alias\n- add compiler target-triple diagnostics and mismatch warnings in ABI probe\n- query target triple with CC+CFLAGS (with fallback) so clang cross-target flags are reflected\n- document these changes under Unreleased in CHANGELOG\n\n## Validation\n- make abiname\n- STACKMAN_ABI_DEBUG=1 make abiname\n- STACKMAN_ABI=win_aarch64 make abiname\n- make test (previously run on branch)\n\n## Notes\n- existing local generated artifact and analysis note file were intentionally not included in commits