musl es una biblioteca estándar de C destinada a sistemas operativos basados en el núcleo Linux, publicada bajo la licencia MIT.[1] Fue desarrollado por Rich Felker con el objetivo de escribir una implementación libc limpia, eficiente y conforme a los estándares.[2]
musl | ||
---|---|---|
Información general | ||
Tipo de programa | Biblioteca estándar de C | |
Desarrollador | Rich Felker | |
Lanzamiento inicial | 11 de febrero de 2011 | |
Licencia | Licencia MIT | |
Información técnica | ||
Programado en | C | |
Versiones | ||
Última versión estable | 1.2.51 de marzo de 2024 | |
Enlaces | ||
Sitio web oficial
Repositorio de código
| ||
musl fue diseñado desde cero para permitir enlazado estático de bibliotecas eficaz y tener robustez de calidad en tiempo real al evitar condiciones de carrera, fallas internas en el agotamiento de los recursos y varios otros comportamientos del peor de los casos presentes en las implementaciones existentes.[2] El tiempo de ejecución dinámico es un solo archivo con ABI estable que permite actualizaciones sin carreras y el soporte de enlazado estático permite implementar una aplicación como un único binario portátil sin una sobrecarga de tamaño significativa.
Afirma compatibilidad con la especificación POSIX 2008 y el estándar C11.[3] También implementa la mayoría de las funciones no estándar Linux, BSD y glibc ampliamente utilizadas.[cita requerida]
La versión 1.2.0 tiene soporte para Unicode 12.1.0 (aunque aún tiene soporte completo para UTF-8,[4] más conforme/estricto que glibc), y la versión 1.2.1 presenta una nueva implementación de malloc
, mallocng
, reemplazando la implementación original dlmalloc
, el que sufría de problemas de diseño fundamentales.[5]
Algunas distribuciones de Linux que usan o pueden usar musl como biblioteca estándar de C incluyen Alpine, Dragora 3, Gentoo Linux, OpenWrt, Sabotage, Morpheus Linux y Void Linux. Para los binarios que se han vinculado contra glibc, gcompat[6] se puede utilizar para ejecutarlos en distribuciones basadas en musl.
|