Newlib is aC standard library implementation intended for use onembedded systems. It is a conglomeration of several library parts, all underfree software licenses that make them easily usable on embedded products.
It was created byCygnus Support as part of building the first GNU cross-development toolchains. It is now maintained byRed Hat developers Jeff Johnston and Corinna Vinschen, and is used in most commercial and non-commercialGCC ports for non-Linux embedded systems.
The section System Calls[2] of the Newlib documentation describes how it can be used with manyoperating systems. Its primary use is on embedded systems that lack any kind of operating system; in that case it calls aboard support package that can do things like write a byte of output on a serial port, or read a sector from a disk or other memory device.
Newlib is included in commercial GCC distributions by Atollic,CodeSourcery, Code Red, KPIT,Red Hat and others, and receives support from major embedded-processor architecture vendors such asARM andRenesas. It is used as the standard C library inCygwin, as well as being one standard C library among several forAmigaOS 4.
As of 2004[update], KallistiOS, an independentSDK targeting theSega Dreamcast, has used Newlib as its standard C library, shipping it withmany commercial titles on the platform.[3]
As of 2007[update], devkitARM and devkitPPC, toolchains targeted athomebrew development for commercial game systems, include Newlib as their C library. The Open-R SDK forSony AIBO is also based on Newlib on top of the non-Unix Aperios.
As of 2013[update], Google Native Client SDK (NaCl) includes Newlib as the default C library overglibc.[4]
In 2019,Keith Packard releasedPicolibc,[5] a library offering standard C library APIs that targets small embedded systems with limited RAM, based on blending code from Newlib andAVR Libc.