Modern releases of glibc are very large for a traditional embedded
system. If your application requires only one or two user programs,
you can statically link them to avoid requiring the entire dynamic
library. Another option is to hand-strip the dynamic library to a
bare minimum.

uC-Libc is a C library for embedded systems developed originally for
uClinux and now being ported to other architectures including PowerPC.
It has a different set of design goals from GNU libc, but for many embedded
systems it is a sensible choice.

Newlib is a free C library intended for use on embedded systems, with less
restrictive licensing than the GPL. However, it currently lacks
the libgloss layer necessary to use it as the C library under Linux.