uClibc — A Tiny C Library

Available from http://www.uclibc.org/.

  • Designed to run on embedded system, so keeping the size down is an issue.

  • Currently runs on both standard Linux and MMU-less (uClinux), so there are a few memory allotment options internally and these can be configured.

  • Aims to be mostly compatible with GNU libc where practical.

    • Differences are partially documented and the gap is closing.

    • Sets some defines to claim to be glibc. This is because the defines are used in applications to provide checking for a particular interface, rather than a particular library. This "pretense" can be turned off with -D__FORCE_NOGLIBC. This whole hack is really a workaround for slightly broken coding practices, so is excusable.