musl was designed from scratch to allow efficient
static linking and to have realtime-quality robustness by avoiding
race conditions, internal failures on resource exhaustion, and various other bad worst-case behaviors present in existing implementations. The dynamic runtime is a single file with stable
ABI allowing race-free updates and the static linking support allows an application to be deployed as a single portable binary without significant size overhead. It claims compatibility with the
POSIX 2008 specification and the
C11 standard. It also implements most of the widely used non-standard
Linux,
BSD, and
glibc functions. There is partial ABI compatibility with the part of glibc required by
Linux Standard Base. Version 1.2.0 has support for (no longer current)
Unicode 12.1.0 (while still having full
UTF-8 support, more conformant/strict than
glibc), and version 1.2.1 "features the new 'mallocng'
malloc implementation, replacing musl's original
dlmalloc-like allocator that suffered from fundamental design problems." ==Use==