crabc-0.1.0 is not a library.
crabc
A Rust musl-compatible libc with a dynamic linker that runs existing, unmodified musl-linked x86_64 Linux binaries.
Requirements
- Rust nightly
musl-gcc(frommusl-tools/musl-dev)
Build
This produces:
target/debug/libc.sotarget/debug/libldso.sotarget/debug/loader
Test
Run all integration tests:
Run a single subsystem:
Run the upstream musl libc-test harness:
Project layout
| Path | Description |
|---|---|
src/ |
loader binary — minimal static-PIE ELF runner |
libc/ |
libc.so / libc.a — no_std libc implementation |
ldso/ |
libldso.so — dynamic linker |
include/ |
Public C headers |
tests/ |
Rust integration tests and C fixtures |
libc-test-harness/ |
Shell harness for upstream musl libc-test |
Notes
long doubleABI is currently 64-bit; math fixtures are compiled with-mlong-double-64.tests/new_functions.rsmay fail in containers where/dev/nullis a regular file instead of a character device.libc-testreports manyBUILDERRORs until the full musl symbol set is exported; this is expected.
License
MIT OR Apache-2.0