uClibc

uClibc
Developer(s) Erik Andersen
Initial release February 13, 2000 (2000-02-13)
Last release 0.9.33.2 (May 15, 2012 (2012-05-15)) [±][1]
Repository Edit this at Wikidata
Written in C
Operating system Linux
Platform Embedded Linux
Type
License GNU LGPL[2]
Website www.uclibc.org

In computing, uClibc (sometimes written µClibc) is a small C standard library intended for Linux kernel-based operating systems for embedded systems and mobile devices. uClibc was created to support μClinux, a version of Linux not requiring a memory management unit and thus suited for microcontrollers (uCs; the "u" is a Latin script typographical approximation - not a proper romanization, which would be letter "m" - of μ for "micro").[3]

Development on uClibc started around 1999.[4] uClibc was mostly written from scratch,[5] but has incorporated code from glibc and other projects.[6] The project lead is Erik Andersen, and the other main contributor is Manuel Novoa III. Licensed under the GNU Lesser General Public License, uClibc is free and open-source software.

uClibc is a wrapper around the system calls of the Linux kernel and μClinux.

uClibc is much smaller than the glibc, the C library normally used with Linux distributions. While glibc is intended to fully support all relevant C standards across a wide range of hardware and kernel platforms, uClibc is specifically focused on embedded Linux. Features can be enabled or disabled according to space requirements.

uClibc runs on standard and MMU-less Linux systems. It supports i386, x86-64, ARM (big/little endian), AVR32, Blackfin, h8300, m68k, MIPS (big/little endian), PowerPC, SuperH (big/little endian), SPARC, and v850 processors.

uClibc-ng[7] is a fork of uClibc announced on the OpenWRT mailing list in July 2014 after more than two years had passed without a uClibc release, citing a lack of any communication from the maintainer.[8][9][10]

See also

References

  1. "µClibc News". µClibc. 2012-02-01. Retrieved 2012-03-24.
  2. "uClibc FAQ: Licensing". uclibc.org. Retrieved 11 July 2015.
  3. uClibc naming Accessed on February 10, 2008.
  4. http://www.uclibc.org/copyright.txt
  5. "History". uClibc FAQ. Retrieved 2007-06-19.
  6. "uClibc Changelog". Archived from the original on 2007-06-09. Retrieved 2007-06-19. pthreads support (derived from glibc 2.1.3's linuxthreads library) [...] Merged in the random number support (rand, srand, etc) from glibc.
  7. "uClibc-ng". uclibc-ng.org. Retrieved 11 July 2015.
  8. Brodkorb, Waldemar (20 July 2014). "uClibc-ng". openwrt-devel (Mailing list).
  9. Petazzoni, Thomas (21 July 2014). "uClibc-ng". uclibc (Mailing list). Archived from the original on 2017-06-21.
  10. Brodkorb, Waldemar (21 July 2014). "uClibc-ng". openwrt-devel (Mailing list).

Further reading

  • Karim Yaghmour, Jon Masters, Gilad Ben-Yossef, Philippe Gerum (2008). Building Embedded Linux Systems (2 ed.). O'Reilly Media. pp. 115–127. ISBN 0-596-52968-6.
  • von Hagen, William L. (2006). The Definitive Guide to GCC, Second Edition. Berkeley, CA: APress. pp. 290–297. ISBN 1-59059-585-8.
  • Official website
  • uClibc-ng
  • "uClibc". Freecode.
  • Comparison of C/POSIX standard library implementations for Linux
  • Availability of C/POSIX standard libraries on different architectures
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.