Assert the positions __config_site declares, and repin the C library - #8
Merged
Conversation
`__config_site` is this package's claim about the environment beneath,
and a claim that drifts from what the port provides fails neither the
build nor the link: it produces a program that takes a path the
environment cannot support and reports nothing. `_LIBCPP_HAS_TERMINAL'
is the position where that already happened once.
The hosted configuration declares FILESYSTEM, RANDOM_DEVICE and TERMINAL
and builds the sources behind each, and the bare-metal one declares none
of the three and excludes them --- so the exclusions and the switches
agree. Nothing in examples/cxx exercised any of them.
It does now, and every observation is written so that it can fail:
std::filesystem a directory created, a file written, enumerated,
copied, its size reported, the whole removed
permissions and ⭐⭐ REFUSED, NOT IGNORED. `kal_node_info' carries a
create_symlink boolean `writable' rather than a mode word, and
SURFACE.txt has no operation that creates a link.
A probe checking only the supported operations would
pass just as well for a port that silently accepted
these two --- which is what openkal-linux#13
described as "expected 0600, got 0777".
std::random_device three draws that DIFFER. "A number was produced" is
satisfied by a source stuck at a constant.
hidden, weak, the C++ half of openkal-musl#13. In C++ `hidden' was
weak_alias given C LINKAGE rather than emptied, so it failed
differently from the C case and would not have been
caught by it. The report came from a C++23 workspace.
Measured here: 17 observations held, none failed.
openkal-musl moves to 0.5.0, which is where the routes those refusals
are the other side of now live.
Also translates the outline-atomics and function-multi-versioning notes
in the manifest into English, which is what every other comment in this
ecosystem is written in.
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.
__config_siteis this package's claim about the environment beneath, and aclaim that drifts from what the port provides fails neither the build nor the
link: it produces a program that takes a path the environment cannot support and
reports nothing.
_LIBCPP_HAS_TERMINALis the position where that alreadyhappened once.
Read against each other, the two configurations agree: the hosted one declares
FILESYSTEM,RANDOM_DEVICEandTERMINALand builds the sources behind each;the bare-metal one declares none of the three and excludes them.
Nothing in
examples/cxxexercised any of them. It does now.std::filesystem— a directory created, a file written, enumerated, copied, its size reported, the whole removedopenkal.fspermissionsandcreate_symlinkrefused, not ignoredkal_node_infocarries a booleanwritablerather than a mode word, andSURFACE.txthas no operation that creates a link.openkal-linux#13described as "expected 0600, got 0777"std::random_device— three draws that differhidden,weak,weak_aliasas the program's own identifiersopenkal-musl#13. In C++hiddenwas given C linkage rather than emptied, so it failed differently from the C case and would not have been caught by it. The report came from a C++23 workspaceMeasured here: 17 observations held, none failed.
Repin
openkal-muslmoves to 0.5.0, which is where the routes those refusals arethe other side of now live.
And the manifest's comments are English
The outline-atomics and function-multi-versioning notes were written in Chinese;
every other comment in this ecosystem is not. They are translated, unchanged in
content.
This is one change across seven repositories, and every branch carries the
same name. Each repository's continuous integration substitutes its siblings'
working trees taken from the branch of the name under test, so the graph only
holds together when they agree.
openkal-muslopenkal-macosopenkal-windowsopenkal.spacedeclined in termsopenkal-linuxopenkal-llvm-runtime__config_site's claims asserted by a program, and the C library repinnedopenkalsbaseThe specification does not change. No interface was added, none was altered,
and
SURFACE.txtis untouched — every capability below is composed from atomsopenkal 0.8 already had.