Home

newlib

Newlib is a C standard library implementation designed for use in embedded systems and as the runtime library for cross-compilers. It provides most of the ISO C library interfaces (such as stdio, stdlib, string, math, and time) along with a broad set of POSIX-like facilities, while remaining portable across a wide range of architectures and environments. Newlib is not tied to a single operating system; it uses a retargetable system interface in which the core C library functions rely on a small set of low-level, target-specific calls. This arrangement allows Newlib to run on bare-metal systems as well as on top of various operating systems or kernels.

The project supports multiple targets and architectures, including ARM, MIPS, PowerPC, x86, and RISC-V, and is

Newlib is distributed as part of the GNU project and is licensed under the GNU Lesser General

widely
used
as
the
C
library
component
of
GNU
toolchains,
especially
in
GCC-based
cross-compilers.
It
also
appears
in
other
contexts
such
as
emscripten,
which
compiles
to
JavaScript,
and
various
embedded
Linux
and
RTOS
environments.
Newlib
provides
reentrant
versions
of
many
functions
and
includes
facilities
for
dynamic
memory
management,
while
its
modular
design
enables
minimal
footprints
for
constrained
devices.
Public
License
(LGPL),
which
facilitates
use
in
both
open-source
and
proprietary
software.
It
has
been
maintained
by
Rich
Felker
and
a
community
of
contributors,
with
ongoing
development
aimed
at
expanding
portability,
performance,
and
API
coverage
across
platforms.