musl

From Wikipedia, the free encyclopedia

Template:Short description Script error: No such module "For".

Page Module:Infobox/styles.css has no content.

musl
[[Programmer|DeveloperTemplate:Pluralize from text]]Rich Felker (dalias) and others
Initial releaseFebruary 11, 2011; 15 years ago (2011-02-11)[1]
Template:Infobox software/simple
EnginePage Template:Plainlist/styles.css has no content.Template:EditAtWikidata
Operating systemLinux 2.6 or later
Platformx86, x86_64, ARM, loongarch64, MIPS, Microblaze, PowerPC, powerpc64, x32, RISC-V, OpenRISC, s390x, SuperH
TypePage Template:Plainlist/styles.css has no content.
LicenseMIT License
Websitemusl.libc.org
RepositoryPage Template:Plainlist/styles.css has no content.

Script error: No such module "Check for conflicting parameters".

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.[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]

Use

Linux distributions which use musl as their standard C library (some use only musl) include but are not limited to:

A modified version of musl is available for userspace code written for the seL4 microkernel[16], requiring users to implement the parts of the Linux system call interface that the subset of musl they wish to use depends on.

A modified musl wrapper is also utilized written for OpenHarmony distributed operating systems within its userspace for its standard system devices; while it primarily targets a Linux kernel, it employs a Kernel Abstraction Layer (KAL) to map extended POSIX system calls when running on non-Linux kernels of kernel agnostic core system, such as microkernel-based HarmonyOS's HongMeng Kernel Linux ABI compliant shim for POSIX-like functionalities.[17]

For binaries that have been linked against glibc, gcompat and[18] glibmus-hq[19] can be used to execute them on musl-based distros.

See also

Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

Page Template:Div col/styles.css has no content.

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."musl - obsolete versions". musl-libc.org. 2017-10-31. Retrieved 2018-01-14.>
  2. ^ a b Page Module:Citation/CS1/styles.css has no content."musl libc Release History". musl.libc.org. Archived from the original on 2021-10-16. Retrieved 2020-08-13.
  3. ^ Page Module:Citation/CS1/styles.css has no content.Rich Felker; et al. (2016-04-29). "COPYRIGHT". Archived from the original on 2021-10-16. Retrieved 2016-09-26.
  4. ^ a b Page Module:Citation/CS1/styles.css has no content."Introduction to musl". 2016-04-21. Archived from the original on 2021-10-16. Retrieved 2016-09-26.
  5. ^ Page Module:Citation/CS1/styles.css has no content."Compatibility". wiki.musl-libc.org. 2014-05-27. Archived from the original on 2021-10-16. Retrieved 2016-09-26.
  6. ^ Page Module:Citation/CS1/styles.css has no content."Comparison of C/POSIX standard library implementations for Linux". www.etalabs.net. Archived from the original on 2021-10-16.
  7. ^ Page Module:Citation/CS1/styles.css has no content."musl libc - Functional differences from glibc". wiki.musl-libc.org. Archived from the original on 2021-10-16. Retrieved 2020-08-13.
  8. ^ Page Module:Citation/CS1/styles.css has no content."About". Alpine Linux. Retrieved 18 June 2022.
  9. ^ Page Module:Citation/CS1/styles.css has no content.Larabel, Michael (30 September 2018). "Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms". Phoronix. Phoronix Media. Retrieved 18 June 2022.
  10. ^ Page Module:Citation/CS1/styles.css has no content.Fietkau, Felix (16 Jun 2015). "OpenWrt switches to musl by default". Archived from the original on 28 July 2015.
  11. ^ Page Module:Citation/CS1/styles.css has no content."About postmarketOS - postmarketOS Wiki". wiki.postmarketos.org. Retrieved 2024-08-07.
  12. ^ README.md on GitHub
  13. ^ Page Module:Citation/CS1/styles.css has no content."morpheus". Archived from the original on 2021-10-16. Retrieved 2018-06-15.
  14. ^ Page Module:Citation/CS1/styles.css has no content."Chimera Linux - About". Chimera Linux. Retrieved 2023-05-10.
  15. ^ Page Module:Citation/CS1/styles.css has no content."Enter the void". Void Linux. Retrieved 18 June 2022.
  16. ^ Page Module:Citation/CS1/styles.css has no content.seL4/musllibc, seL4 microkernel and related repositories, 2020-08-30, archived from the original on 2021-10-16, retrieved 2020-09-05
  17. ^ Page Module:Citation/CS1/styles.css has no content."A first look at app security on HarmonyOS NEXT". promon.io. Retrieved 2026-03-24.
  18. ^ Page Module:Citation/CS1/styles.css has no content."Adélie Linux / gcompat". GitLab. Archived from the original on 2021-10-16. Retrieved 2019-10-21.
  19. ^ Page Module:Citation/CS1/styles.css has no content."Manoel-linux-gitlab / GlibMus-HQ · GitLab".

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.