Repository navigation
0.29.1: FreeBSD, over openkal-freebsd standalone - #89
Merged
Merged
Conversation
On FreeBSD this C library names openkal-freebsd ^0.1 with the feature standalone, as Linux's and macOS's implementations are named, and links a program above it statically, as on Linux: the rows x86_64-freebsd-musl and aarch64-freebsd-musl.
FreeBSD's ABI states wint_t as int on x86_64 and aarch64 (the compiler's __WINT_TYPE__), where musl's is unsigned; okm_type_identity.c refused the build. musl-generated/<arch>-freebsd differ from <arch> in that one line, and the rows for FreeBSD name them.
A consumer written for FreeBSD reads the auxiliary vector with elf_aux_info (<sys/auxv.h>, FreeBSD 12): compiler-rt's aarch64 cpu_model, built by openkal-llvm-runtime for aarch64-freebsd-musl, stopped at 'call to undeclared function elf_aux_info'. port/include/sys/auxv.h declares it on the FreeBSD rows over musl's header, and port/src/okm_elf_aux_info.c answers over musl's own vector as FreeBSD's does: 0 and the value, ENOENT for an entry the vector does not hold (AT_HWCAP, so compiler-rt keeps its LL/SC atomics), EINVAL otherwise.
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.
Summary
openkal-musl for the rows
x86_64-freebsd-muslandaarch64-freebsd-musl: the C library of a program whose kernel layer is openkal-freebsd in its standalone arrangement (mcpp's FreeBSD route B).openkal-freebsd = { version = "^0.1.0", features = ["standalone"] }, and a static link block. The implementation begins the program.musl-generated/{x86_64,aarch64}-freebsdgivewint_tasint, as FreeBSD's__WINT_TYPE__states. The type-identity checks gain rows foros=freebsd.elf_aux_info(FreeBSD's<sys/auxv.h>) is answered over musl's own auxiliary vector. compiler-rt's aarch64cpu_modelcalls it on FreeBSD (openkal-llvm-runtime). An entry the vector does not hold (AT_HWCAP) answers ENOENT, so compiler-rt keeps its LL/SC atomics.Verification
This PR is merged after openkal-freebsd 0.1.0 is released and indexed, since the FreeBSD condition names it.