Repository navigation
Conversation
The v52 and v53 rust-musl images shipped C toolchain breakage for musl targets that CI never exercised: consumers only found it when building aws-lc-sys and aws-lc-fips-sys downstream. Add a test/musl-link crate that links both crates for the x86_64 and aarch64 musl targets using the rust-musl image under test, and fails on any glibc-only __isoc23_* symbol. Run it on each arch in dev-build-arch. Signed-off-by: Apoorv Kothari <apoorv@buoyant.io>
The musl C toolchain builds with -nostdinc so it never sees the host glibc headers, but musl-dev ships no kernel headers, so aws-lc-fips-sys could not find linux/random.h. Link each target's kernel headers into a per-target directory and add it to CFLAGS with -idirafter, so musl headers keep precedence and only otherwise-missing kernel headers resolve there. Signed-off-by: Apoorv Kothari <apoorv@buoyant.io>
toidiu
force-pushed
the
ak-dev-musl-ci
branch
from
October 30, 2026 20:21
8a4bf2f to
455d11b
Compare
Signed-off-by: Apoorv Kothari <apoorv@buoyant.io>
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.
The v52 and v53
rust-muslimages shipped C toolchain breakage for musl targets that CI never exercised. This adds a CI check for it.What the job tests
test/musl-linkis a small crate that depends onaws-lc-sysandaws-lc-fips-sysand calls into both so neither archive is dropped at link time.just test-rust-muslbuilds it with therust-muslimage under test, for bothx86_64-unknown-linux-muslandaarch64-unknown-linux-musl.__isoc23_*(glibc-only) symbol shows up in the binary or thelibaws_lc*.aarchives.dev-build-archloads the freshly builtrust-muslimage and runs this test on both amd64 and arm64 runners.Expected CI results
The first commit adds only the test, and is expected to fail: the
aws-lc-fips-sysbuild cannot findlinux/random.h, because the musl C toolchain builds with-nostdincand does not see the kernel headers. A follow-up commit adds theDockerfilefix that exposes the kernel headers to musl C builds, and CI should pass after it.