Repository navigation
0.28.0: i686-linux-musl, x86_64-uefi, i686-openkal and i686-dos-musl (technical experiment); the family on openkal 0.25.3 - #31
Merged
Conversation
…enkal 0.25.1 The hosted arrangement serves i686-linux-musl: openkal-musl 0.29.5 over openkal-linux 0.26.3's i386 system-call layer, with openkal-llvm-runtime 0.20.2 above it. CI builds and runs the hosted program on Linux x86_64 and runs the specification's conformance suite through the platform over openkal-linux at the group's version. The group follows openkal 0.25.1; its implementations declare the specification by its minor version (openkal-macos 0.23.2, openkal-windows 0.21.2, openkal-freebsd 0.1.2; openkal-image 0.6.2).
…does The released mcpp registers i686-linux-musl as planned and takes the row when the toolchain is named; the conformance step named none and was refused.
… on openkal-musl 0.29.6, openkal-llvm-runtime 0.20.3 and openkal-image 0.6.3; mcpp 2026.11.13.1
…e console; the UEFI machine has 2 GiB The runner's hosts include uefi-x86_64, so a single-file pack for that system builds the carrier as an application of the x86_64-uefi row. The board defines okuefi_board_errors_to_console (OVMF's StdErr reaches no serial reader). dirun boots the row with 2 GiB: the carrier's allocator and the image's each place an arena at a 256 MiB alignment, which 512 MiB did not hold twice. Measured: a carried image that prints, writes to standard error, throws and catches returned status 7 under OVMF in 0.4 s.
…openkal-dos; the seal okdos
…s on the i386 rows The platform serves i686-openkal (openkal 0.25.1, clauses 5.5 and 12.2; openkal-image 0.6.3 loads it). The ok images' link states its addends (`-z rela`), which is i386's one difference from the linker's default. The row is compiled for the Pentium (`-march=i586`) with the stack aligned to sixteen bytes at a call (`-mstack-alignment=16`), the System V i386 convention SPEC 12.2 states; a triple with no system leaves clang at four, and okrun's code, built for Linux, faulted on a `movaps` when such an image called it (measured). The DOS row takes the same alignment: its code calls images and is called by them. The README states the row, how a project selects it while mcpp names it planned, and what openkal-dos's files give a DOS program.
…dos-i686) DOSBox Staging 0.83 executes RDTSC and not CMPXCHG8B under every cputype (measured), and an image's sixty-four bit atomics (mimalloc's statistics) were that instruction under -march=i586, so i686-openkal and i686-dos-musl are compiled for the 486 and such an atomic is compiler-rt's call. The runner's hosts include dos-i686: the core runner as a program of the DOS row, which mcpp 2026.11.13.1 builds as the row the platform defines for the system. Measured: an i686-openkal image packed so ran under DOSBox Staging and returned 7.
checks/i386 builds an i686-openkal image in both modes, checks it with okld and runs it with okrun built for i686-linux-musl from the openkal-image release the group names; packed with --systems dos-i686, the image runs as a DOS program under DOSBox Staging. checks/dos runs a program of i686-dos-musl in both modes through the provider's runner. Both return status 7.
…nkal-dos's tag The family release checks its tag, mirror and index entry as it checks openkal-tools'. The README's statement table names i686-openkal and okdos.
…1): no toolchain named by a project; --target openkal builds every leg
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-platform 0.28.0 adds four rows and moves the family to openkal 0.25.3.
Rows
i686-linux-musl, the hosted arrangement's thirty-two bit Linux row (openkal 0.25.1, clause 5.5). It is openkal-musl over openkal-linux 0.26.3's i386 system-call layer, with openkal-llvm-runtime above it.x86_64-uefi, UEFI applications over openkal-uefi 0.10.0. The row is PE32+ with the EFI application subsystem, and its runner is dirun with xim's OVMF under QEMU q35. An ok image also packs for UEFI as a carried program (uefi-x86_64). The board makes standard error the console, and the UEFI machine has 2 GiB.i686-openkal, the ok image of i386. The image is ELF32 with REL relocations, linked with-z rela.i686-dos-musl, DOS programs. This row is a technical experiment only.okdos(openkal-dos-tools) writes the stub before an ELF32 executable linked at its address.--systems dos-i686).Conventions of the i386 rows
-march=i486). DOSBox Staging 0.83 executes no CMPXCHG8B under anycputype.-mstack-alignment=16), as the System V i386 convention requires. clang keeps 4 bytes for a triple with no system.The group
openkal 0.25.3, openkal-linux 0.26.3, openkal-macos 0.23.3, openkal-windows 0.21.2, openkal-freebsd 0.1.2, openkal-uefi 0.10.0, openkal-dos and openkal-dos-tools 0.1.0, openkal-musl 0.29.6, openkal-llvm-runtime 0.20.3, and openkal-ld/run/tools 0.6.3. mcpp 2026.11.14.1 is the engine this release requires (a planned row is served by the platform's targets).
CI
i686i686-linux-musl, and the specification's conformance suite over openkal-linuxuefii686-openkalchecks/i386in dev and release, checked by okld and run by okrun built for i686-linux-musl from the group's openkal-image tag, status 7doschecks/dosin dev and release under DOSBox Staging, status 7; the i386 image packed with--systems dos-i686and run as a DOS program, status 7The jobs and the
groupcheck pass once mcpp 2026.11.13.1 and the group's members are released and indexed.Measured locally with the family's working trees
i686-linux-musl(full,optional): 408 held, none did not.checks/i386, dev and release: status 7.checks/dos, dev and release: status 7.