Musl

Musl

Musl

musl
Description de l'image Musl libc.svg.

Informations
Développé par Rich Felker et al.
Première version 11 février 2011[1]
Dernière version 1.2.6[2] ()
Dépôt https://git.musl-libc.org/cgit/musl
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation LinuxVoir et modifier les données sur Wikidata
Environnement Linux 2.6 ou plus
Type Bibliothèque standard du C
Linux embarqué
Linux pour appareils mobiles (en)
Licence MIT
Site web musl.libc.orgVoir et modifier les données sur Wikidata

musl est une bibliothèque standard C destinée aux systèmes d'exploitation basés sur le noyau Linux, publiée sous licence MIT[3]. Elle a été développée par Rich Felker dans le but de créer une implémentation de la libc propre, efficace et conforme aux normes[4].

Vue d'ensemble

musl a été conçu de zéro pour permettre une liaison statique (en) efficace et offrir une robustesse de qualité temps réel en évitant les situations de compétition, les défaillances internes liées à l'épuisement des ressources et divers autres comportements problématiques en cas de pire scénario présents dans les implémentations existantes[4]. L'environnement d'exécution dynamique se compose d'un fichier unique doté d'une ABI stable, permettant des mises à jour sans conditions de concurrence, tandis que la prise en charge de la liaison statique permet de déployer une application sous la forme d'un binaire portable unique, sans surcoût de taille significatif.

Il revendique la compatibilité avec la spécification POSIX 2008 et la norme C11 (en). Il implémente également la plupart des fonctions non standard largement utilisées de Linux, de BSD et de la glibc[5]. Il existe une compatibilité ABI partielle avec la partie de la glibc requise par la Linux Standard Base[6].

La version 1.2.0 prend en charge la norme Unicode 12.1.0 (désormais obsolète), tout en assurant une prise en charge complète de l'UTF-8[7] (plus conforme et plus stricte que celle de la glibc), tandis que la version 1.2.1 « introduit la nouvelle implémentation de malloc "mallocng", remplaçant l'allocateur original de musl — de type dlmalloc — qui souffrait de problèmes de conception fondamentaux »[2].

Usage

Les distributions Linux qui utilisent musl comme bibliothèque C standard (certaines n'utilisent que musl) incluent, sans s'y limiter :

Une version modifiée de musl est disponible pour le code espace utilisateur écrit pour le micro-noyau seL4 (en)[16], exigeant des utilisateurs qu'ils implémentent les parties de l'interface d'appels système Linux dont dépend le sous-ensemble de musl qu'ils souhaitent utiliser.

Le système d'exploitation HarmonyOS NEXT (en) de Huawei utilise une version dérivée de musl comme implémentation de libc[17].

Pour les binaires liés à glibc, gcompat[18] et glibmus-hq[19] peuvent être utilisés pour les exécuter sur les distributions basées sur musl.

Voir aussi

Références

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Musl » (voir la liste des auteurs).
  1. (en) « musl - obsolete versions », sur www.musl-libc.org, (consulté le )
  2. a et b (en) « musl libc Release History » [archive du ], sur musl.libc.org (consulté le )
  3. (en) Rich Felker et al., « COPYRIGHT » [archive du ], sur git.musl-libc.org, (consulté le )
  4. a et b (en) « Introduction to musl » [archive du ], sur www.musl-libc.org, (consulté le )
  5. (en) « Compatibility » [archive du ], sur wiki.musl-libc.org, (consulté le )
  6. (en) « Comparison of C/POSIX standard library implementations for Linux » [archive du ], sur www.etalabs.net (consulté le )
  7. (en) « musl libc - Functional differences from glibc » [archive du ], sur wiki.musl-libc.org (consulté le )
  8. (en) « About », sur alpinelinux.org (consulté le )
  9. (en) Michael Larabel, « Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms », Phoronix,‎ (lire en ligne, consulté le )
  10. (en) Felix Fietkau, « OpenWrt switches to musl by default » [archive du ], sur permalink.gmane.org, (consulté le )
  11. (en) « About postmarketOS - postmarketOS Wiki » (consulté le )
  12. (en) « README.md », sur GitHub (consulté le )
  13. (en) « morpheus » [archive du ], sur morpheus.2f30.org (consulté le )
  14. (en) « Chimera Linux - About », sur chimera-linux.org (consulté le )
  15. (en) « Enter the void », sur voidlinux.org (consulté le )
  16. (en) « seL4/musllibc » [archive du ], sur GitHub (consulté le )
  17. (en) « A first look at app security on HarmonyOS NEXT », sur promon.io (consulté le )
  18. (en) « Adélie Linux / gcompat » [archive du ], sur GitLab (consulté le )
  19. (en) « Manoel-linux-gitlab / GlibMus-HQ · GitLab », sur GitLab (consulté le )

Liens externes

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.