newlib
La libreria standard C per sistemi privi di sistema operativo, quella fornita con quasi ogni cross-compilatore ARM.
Cygnus Solutions mise insieme newlib all'inizio degli anni Novanta partendo da codice con licenze libere di varia provenienza, perché glibc era troppo grande e troppo vincolata dalla GPL per i clienti che sviluppavano firmware. Red Hat acquistò Cygnus nel 1999 e la mantiene tuttora. Sta alla base di arm-none-eabi-gcc ed è anche il fondamento della libreria C di Cygwin.
Il trucco è che newlib non sa nulla dell'hardware. printf funziona, ma in fondo si risolve in una chiamata a _write, e malloc chiede memoria tramite _sbrk: funzioni che lo sviluppatore del firmware deve fornire, di solito in un file chiamato syscalls.c. Se mancano, si ottengono errori del linker dai nomi sconcertanti. Per i microcontrollori più piccoli esiste newlib-nano, una variante snellita in cui printf non si mangia più 20 KB di flash.