newlib
Standardowa biblioteka C dla systemów bez systemu operacyjnego, dołączana do niemal każdego kompilatora skrośnego dla ARM-a.
Cygnus Solutions złożył newlib na początku lat dziewięćdziesiątych z kodu na wolnych licencjach o różnym pochodzeniu, bo glibc był zbyt duży i zbyt mocno związany GPL-em dla klientów budujących firmware. Red Hat kupił Cygnusa w 1999 roku i do dziś utrzymuje projekt. Biblioteka leży pod arm-none-eabi-gcc i stanowi też podstawę biblioteki C w Cygwinie.
Sztuczka polega na tym, że newlib nic nie wie o sprzęcie. printf działa, ale sprowadza się do wywołania _write, a malloc prosi o pamięć przez _sbrk — funkcje, które musi dostarczyć autor firmware'u, zwykle w pliku syscalls.c. Gdy ich zabraknie, linker wypisze błędy o zagadkowych nazwach. Dla małych układów istnieje newlib-nano, odchudzony wariant, w którym printf nie zjada już 20 KB flasha.