Software:Musl
| Developer(s) | Rich Felker (dalias) and others |
|---|---|
| Initial release | February 11, 2011[1] |
| Stable release | 1.2.5[2]
/ February 29, 2024 |
| Operating system | Linux 2.6 or later |
| Platform | x86, x86 64, ARM, loongarch64, MIPS, Microblaze, PowerPC, powerpc64, x32, RISC-V, 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]
Overview
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.Cite error: Closing </ref> missing for <ref> tag 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."Cite error: Closing </ref> missing for <ref> tag
- Dragora 3[6]
- Gentoo Linux (glibc by default, musl can be chosen at install time)[7]
- OpenWrt[8]
- postmarketOS[9]
- Sabotage[10]
- Morpheus Linux[11]
- Chimera Linux[12]
- Void Linux[13]
- KISS Linux
- ↑ "musl - obsolete versions". 2017-10-31. https://www.musl-libc.org/oldversions.html. >
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedRELEASES - ↑ Rich Felker (2016-04-29). "COPYRIGHT". https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT.
- ↑ 4.0 4.1 "Introduction to musl". 2016-04-21. https://www.musl-libc.org/intro.html.
- ↑ "Compatibility". 2014-05-27. http://wiki.musl-libc.org/wiki/Compatibility.
- ↑ Larabel, Michael (30 September 2018). "Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms". Phoronix Media. https://www.phoronix.com/scan.php?page=news_item&px=Dragora-3.0-Alpha-2.
- ↑ "Additional stage downloads for amd64, ppc, x86, arm available". 20 July 2021. https://www.gentoo.org/news/2021/07/20/more-downloads.html.
- ↑ Fietkau, Felix (16 Jun 2015). "OpenWrt switches to musl by default". http://permalink.gmane.org/gmane.comp.embedded.openwrt.devel/32651.
- ↑ "About postmarketOS - postmarketOS Wiki". https://wiki.postmarketos.org/wiki/About_postmarketOS.
- ↑ on GitHub
- ↑ "morpheus". https://morpheus.2f30.org/.
- ↑ "Chimera Linux - About" (in en). https://chimera-linux.org/about/#alternative-userland.
- ↑ "Enter the void". https://voidlinux.org/.
The seL4 microkernel[1] ships with musl.
For binaries that have been linked against glibc, gcompat and[2] glibmus-hq[3] can be used to execute them on musl-based distros.
See also
References
- ↑ seL4/musllibc, seL4 microkernel and related repositories, 2020-08-30, https://github.com/seL4/musllibc, retrieved 2020-09-05
- ↑ "Adélie Linux / gcompat" (in en). https://code.foxkit.us/adelie/gcompat.
- ↑ "Manoel-linux-gitlab / GlibMus-HQ · GitLab". https://gitlab.com/manoel-linux1/GlibMus-HQ.
External links
- Official website
- Comparison of C/POSIX standard library implementations for Linux
- Matrix of C/POSIX standard libraries by architecture
- Project:Musl on Gentoo wiki
