managarm/mlibc
FreePortable C standard library
About managarm/mlibc
mlibc is a fully featured, portable C standard library designed for operating system development. It supports multiple architectures (x86-64, AArch64, RISC-V, IA-32, m68k, LoongArch64) and provides a clean syscall abstraction layer for easy porting to new operating systems. Unlike minimal alternatives like newlib, mlibc aims for feature parity with glibc and musl, including full pthread support and GNU extensions. It is capable of running complex software such as Xorg, Wayland compositors, Mesa, and WebKitGTK. The library is modular, with OS-independent code in 'options/', OS-specific code in 'sysdeps/', and ABI headers in 'abis/'. Ports can enable or disable features via Meson build options. mlibc is open source and has an active community on Discord.
Key Features
Pros & Cons
- Highly portable across multiple architectures and operating systems
- Feature-rich with support for modern standards (GNU extensions, pthreads)
- Modular design allows OS ports to enable only needed features
- Active development and community support via Discord
- Able to run complex real-world software (X11, Wayland, Mesa, WebKit)
- Some features are still missing compared to glibc or musl
- New ports are recommended to pin a specific release to avoid breakage from master changes
- Build system uses Meson, which may be a barrier for contributors unfamiliar with it
- Documentation (user guide) is referenced but not directly included in the repository