Developer(s) | Rich Felker (dalias) and others |
---|---|
Initial release | February 11, 2011; 13 years ago (2011-02-11)[1] |
Stable release | 1.2.5[2] / February 29, 2024; 4 months ago (2024-02-29) |
Repository | |
Operating system | Linux 2.6 or later |
Platform | x86, x86_64, ARM, MIPS, Microblaze, PowerPC, powerpc64, x32, riscv64, OpenRISC, s390x, SuperH |
Type |
|
License | MIT License |
Website | musl.libc.org |
musl is a C standard library intended for operating systems based on the Linux kernel, released under the MIT License.[3] It was developed by Rich Felker to write a clean, efficient, and standards-conformant libc implementation.[4]
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.[4] 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.[5] There is partial ABI compatibility with the part of glibc required by Linux Standard Base.[6]
Version 1.2.0 has support for (no longer current) Unicode 12.1.0 (while still having full UTF-8 support,[7] 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."[2]
Some Linux distributions that can use or do even use exclusively musl as the standard C library include Alpine Linux,[8] Dragora 3,[9] Gentoo Linux,[10] OpenWrt,[11] Sabotage,[12] Morpheus Linux,[13] Chimera Linux,[14] and Void Linux.[15] The seL4 microkernel[16] ships with musl. For binaries that have been linked against glibc, gcompat,[17] glibmus-hq.[18] can be used to execute them on musl-based distros.
| |||||
---|---|---|---|---|---|
| |||||
Features |
| ||||
Standard library |
| ||||
Compilers |
| ||||
IDEs |
| ||||
Comparison with other languages |
| ||||
Descendant languages |
| ||||
Designer |
| ||||
|