Newlib

Implementation of the C standard library for embedded systems


title: "Newlib" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["c-standard-library", "free-computer-libraries", "free-software-programmed-in-c", "interfaces-of-the-linux-kernel", "linux-apis", "amigaos-4-software"] description: "Implementation of the C standard library for embedded systems" topic_path: "technology/operating-systems" source: "https://en.wikipedia.org/wiki/Newlib" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Implementation of the C standard library for embedded systems ::

::data[format=table title="Infobox software"]

FieldValue
nameNewlib
authorCygnus Support
developerRed Hat
latest release version4.6.0
latest release date
operating systemCross-platform
genreRuntime library
licenseVarious MIT/BSD-like licenses
website
::

| name = Newlib | logo = | author = Cygnus Support | developer = Red Hat | latest release version = 4.6.0 | latest release date = | operating system = Cross-platform | genre = Runtime library | license = Various MIT/BSD-like licenses | website =

Newlib is a C standard library implementation intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products.

It was created by Cygnus Support as part of building the first GNU cross-development toolchains. It is now maintained by Red Hat developers Jeff Johnston and Corinna Vinschen, and is used in most commercial and non-commercial GCC ports for non-Linux embedded systems.

System calls

The section System Calls of the Newlib documentation describes how it can be used with many operating systems. Its primary use is on embedded systems that lack any kind of operating system; in that case it calls a board 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.

Inclusion

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 as ARM and Renesas. It is used as the standard C library in Cygwin, as well as being one standard C library among several for AmigaOS 4.

, KallistiOS, an independent SDK targeting the Sega Dreamcast, has used Newlib as its standard C library, shipping it with many commercial titles on the platform.

, devkitARM and devkitPPC, toolchains targeted at homebrew development for commercial game systems, include Newlib as their C library. The Open-R SDK for Sony AIBO is also based on Newlib on top of the non-Unix Aperios.

, Google Native Client SDK (NaCl) includes Newlib as the default C library over glibc.

In 2019, Keith Packard released Picolibc, a library offering standard C library APIs that targets small embedded systems with limited RAM, based on blending code from Newlib and AVR Libc.

References

References

  1. "Newlib releases".
  2. [http://www.sourceware.org/newlib/libc.html#Syscalls System Calls], The Red Hat newlib C Library
  3. "KallistiOS SourceForge Repository".
  4. "Native Client: Getting Started Tutorial".
  5. [https://keithp.com/picolibc/ Picolibc: C Libraries for Smaller Embedded Systems]

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

c-standard-libraryfree-computer-librariesfree-software-programmed-in-cinterfaces-of-the-linux-kernellinux-apisamigaos-4-software