Repository navigation
Releases
Releases · thooams/uolt
v0.2.0 — Linux aarch64 (arm64) port
Linux aarch64 (arm64) port
The full UOLT suite — 35 core tools + the column extra — now builds fully static for Linux aarch64 and passes the entire test suite under qemu-user, alongside the existing Linux x86_64 and Intel macOS targets.
- Same tools, second architecture. Every libuolt primitive, syscall wrapper, and tool body is re-authored in AArch64 assembly. The aarch64 Linux syscall set (the
*atfamily) is absorbed insys/linux/arm64/so the internal API signatures stay identical (Principle V). - Size discipline held. aarch64 suite ≈ 51 KB (avg ~1.5 KB/tool;
true/false368 B). Byte counts differ from x86_64 by instruction encoding. - Guarded by CI. A
linux-arm64job cross-builds on the x86_64 runner and runs the fullmake testunder binfmt/qemu-user, failing independently of x86_64 (the trace layer is skipped under qemu; the no-heap guarantee stays structural). - Packaging. AUR (
arch=(x86_64 aarch64)) and Nix (x86_64-linux,aarch64-linux) now cover Linux arm64; Homebrew builds on Linux arm too. macOS on Apple Silicon stays out of scope (its direct-syscall model is incompatible).
Build it with make ARCH=arm64 (auto-selected from uname -m on a native arm64 host).
🤖 Generated with Claude Code
UOLT v0.1.0
First tagged release of UOLT — 34 everyday Unix / POSIX tools hand-written in x86_64 assembly. No libc, no heap, direct syscalls.
- Whole suite is ~44 KB on Linux (static ELF) — smaller than a single stock
grep, ~49× smaller than the equivalent coreutils combined. - Each tool is checked byte-for-byte against the system tool (differential) plus unit / POSIX / fuzz / syscall-trace layers, on Linux (GNU) and macOS (BSD).
- Tools:
true false echo pwd cat head tail wc yes basename dirname sleep mkdir rmdir touch ln rm mv cp chmod ls seq grep find sort tee uniq env cut tr comm printf test expr. sort/tail/uniqhandle unbounded input via explicit mmap regions (no silent truncation).- Install: Nix flake, Homebrew tap, AUR, or
make. Binaries install asuolt-<name>(no accidental coreutils shadow);make installsets up a reversible PATH shadow.
x86_64 only for now (Linux and Intel macOS); arm64 is planned. MIT licensed.