Repository navigation
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