Skip to content

The package std module takes the prebuilt C library's tokens, and an unset iOS floor is the located SDK's version (2026.9.14.1) - #633

Merged
Sunrisepeak merged 1 commit into
mainfrom
630/follow-up-graph-libcxx
Sep 13, 2026
Merged

The package std module takes the prebuilt C library's tokens, and an unset iOS floor is the located SDK's version (2026.9.14.1)#633
Sunrisepeak merged 1 commit into
mainfrom
630/follow-up-graph-libcxx

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Two engine gaps that mcpplibs/libcxx's CI surfaced once it measured every row the package claims (#630 follow-up).

The package std module lacked the prebuilt C library. A package that supplies the C++ layer over a prebuilt C library (llvm.libcxx over glibc, or over an Apple SDK) cannot name that library's headers, and the target-side broadcast carries only graph layers. The precompile therefore read whatever the driver found: on Linux the runner's /usr/include rather than the payload's glibc, which no report showed; on macOS nothing, and it stopped on mbstate_t. The command now takes the same tokens every translation unit gets (host_compile_tokens, with the C++ layer marked as the graph's), appended after the package's own directories so that libc++'s headers keep precedence over the C library's. e2e 663 asserts the recorded command names the glibc payload.

An unset ios_deployment_target was an unversioned triple. docs/20 promised the SDK's default; clang's default for arm64-apple-ios with no version is older than any SDK on the machine and refuses thread-local storage, which libc++abi uses. The located SDK's version (xcrun --sdk <name> --show-sdk-version) now fills the slot when the manifest states none; ci-macos-ios's plain fixture drops its floor and asserts LC_BUILD_VERSION minos equals the SDK's version. Docs in both languages restated.

…unset iOS floor is the located SDK's version (2026.9.14.1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants