So uClibc is smaller then glibc? Doesn that mean it completely sucks? How could it be smaller and not suck?
uClibc and glibc have different goals. glibc strives for features and performance, and is targeted for desktops and servers with (these days) lots of resources. It also strives for ABI stability. On the other hand, the goal of uClibc is to provide as much functionality as possible in a small amount of space, and it is intended primarily for embedded use. It is also highly configurable in supported features, at the cost of ABI differences for different configurations. uClibc has been designed from the ground up to be a C library for embedded Linux. We don’t need to worry about things like MS-DOS support, or BeOS, or AmigaOs any other system. This lets us cut out a lot of complexity and very carefully optimize for Linux. In other cases, uClibc leaves certain features (such as full C99 Math library support, wordexp, IPV6, and RPC support) disabled by default. Those features can be enabled for people that need them, but are otherwise disabled to save space.