uClibc est une petite bibliothèque C conçue pour les systèmes Linux embarqués. Il s’agit d’un logiciel libre sous licence LGPL.
uClibc a été créée pour prendre en charge μClinux, une version de Linux pour les systèmes embarqués qui ne nécessite pas d’unité de gestion de la mémoire, ce qui est très pratique pour les microcontrôleurs (d’où le « μC » dans le nom).
Caractéristiques
uClibc est beaucoup plus petit que glibc, la bibliothèque GNU C utilisée par la plupart des distributions Linux. Alors que la glibc est préparée pour mettre en œuvre toutes les normes C pertinentes sur une grande variété de matériel et de plates-formes, uClibc est spécialisée pour les systèmes embarqués. Certaines de ses fonctionnalités peuvent être activées ou désactivées en fonction de l’espace disponible.
uClibc fonctionne sur les systèmes Linux standard ou non-MMU. Il supporte les architectures i386, amd64, ARM (big/little endian), Blackfin, h8300, m68k, MIPS (big/little endian), PowerPC, SuperH (big/little endian), SPARC et V850.
Histoire
uClibc a été largement écrit à partir de zéro bien qu’il incorpore un peu de code de la glibc.
Le chef de projet est Erik Andersen et le principal contributeur est Manuel Novoa III.
Licence
uClibc est sous licence LGPL, ce qui lui permet d’être utilisé par des applications commerciales propriétaires fermées. Il n’est donc pas nécessaire de publier tout le code pour utiliser uClibc sous Linux.