Repository navigation
0.25.1: a started program that runs to its end first; thirty-two bit targets - #66
Merged
Merged
Conversation
…P_RUNS_TO_END, clause 7.19); thirty-two bit targets (clause 5.5, 12.2)
…e; the conformance job's version check compares the minor version
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.
openkal 0.25.1, the first patch release under a rule this PR states in clause 8: a patch release adds only what an implementation may decline (an optional property, text that states what was already required), so an implementation written against 0.25.0 conforms to 0.25.1 and the hosted family stays on 0.25.0; the conformance job's version check compares the minor version accordingly. (An implementation's
openkal = "0.25.0"is an exact statement in mcpp; my first description here called it a caret range, which was wrong, and the first CI run failed on that check.)KAL_PROCESS_PROP_RUNS_TO_END(bit 16 of theopenkal.processproperty word): the environment has one task,kal_process_spawnreturns after the started program ended, andkal_process_waitanswers its status at once. Claimed withoutTERMINATEandCHANNEL. Firmware boot services, a disk operating system and a boot chain are the environments; the property is the inverse of every existing implementation's behaviour, so none changes.kal_u64field is 4-aligned), handles that fit the word, time through the environment's 64-bit forms (2038). Images: the i386 System V convention, its floating-point state, and "an image runs on a loader of its architecture". No declaration changes.Conformance:
sections/exec.cppcarries i386's instructions (mov $42, %eax; ret, the same bytes as x86_64's);sections/process.cppchecks, where the property is claimed, thatTERMINATEandCHANNELare not, and that a started copy's status (33) is answered at once (under 100 ms whereopenkal.timeexists).Also: README and the portable example name the current releases of the family (
tools/check-readme-versions.sh; kit's own manifest is left to its release).Local:
tools/run-conformance.sh openkal-linux ../openkal-linux full,optionalagainst these declarations: x86_64 407 held, 0 did not hold, 5 not observed; the same suite built fori686-linux-muslthrough the family's i386 branches (openkal-linux#55, openkal-musl, openkal-llvm-runtime): 407 held, 0 did not hold, the same 5 not observed.check-version.sh,check-declarations.shhold.