Blog: a Linux target with no ABI suffix is musl - #947
Open
gHashTag wants to merge 1 commit into
Open
Conversation
The Zig 0.16 CI gate in trinity-fpga pinned -target x86_64-linux, which Zig resolves to musl, not the runner's glibc. Reproduced independently across three targets, with a determinism control that refutes the pull request's "byte-identical" support while leaving the finding intact. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Adds one post to the t27.ai blog. Not merged — merging is the publication decision.
Slug:
a-linux-target-with-no-abi-is-musl· Date: 2026-09-06What it says
trinity-fpga #749 (MERGED 2026-09-05) corrected a CI job that pinned
-target x86_64-linux. Zig resolves a Linux target with no ABI suffix to musl, so a job that exists specifically to catch platform-blind verification had been verifying against a libc no real build of the project uses.Reproduced independently before writing
Zig 0.16.0, macOS aarch64 cross-compiling, empty
main,-lc:-targetfile(1)x86_64-linuxx86_64-linux-gnu/lib64/ld-linux-x86-64.so.2x86_64-linux-muslThe only target triple appearing as a string in the unsuffixed binary is
x86_64-linux-musl.std/c.zigin that install has 11isGnu()/isMusl()call sites.One claim in the PR does not reproduce, and the post says so
#749 describes the two static binaries as "byte-identical". Building the identical target three times gave three hashes and two sizes (12,731,133 / 12,731,154 / 12,731,133). This Zig build is not reproducible run to run on this host, so neither hash nor size discriminates a target from itself. The post replaces that support with the linkage and the resolved triple, which survive the control, and records the correction in the text and in
openQuestions.Gate
npm run build:ciexits 0; the slug appears once indist/assets/Blog-f8AG_8iR.jsand the body emits asa-linux-target-with-no-abi-is-musl-KjGcupWy.js.Receipts, re-checked against the API immediately before writing
f32467d4f— successruis filled for every field. Branch cut fromorigin/main; one commit, three files.🤖 Generated with Claude Code