One of the things I&#x27;m noticing in looking through the musl code in comparison to FreeBSD&#x27;s libc (yes, it&#x27;s not glibc, but it&#x27;s also a full-featured libc) is that musl makes a lot more assumptions about the base system and the results it gets back. Looking through getaddrinfo.c, musl doesn&#x27;t handle systems that don&#x27;t have ipv6 enabled, doesn&#x27;t document the tricky corner cases of the RFCs that cover name resolution, doesn&#x27;t check for order of precedence, doesn&#x27;t handle site local address ranges, etc. Other sticky points offhand look like a much lower amount of i18n support in musl, the inclusion of floating point emulation in the bigger C libraries, and other bits and pieces that are useful when you find yourself on platforms that aren&#x27;t as full featured as other architectures. Aditionally, individual files in musl do not carry licensing and other information, which again pushes up counts of code length.<p>This is just a 10000 foot view of the two, but hopefully is helpful in starting to explain why musl&#x27;s small size may not be all that advantageous if you want the kind of coverage a libc like glibc or freebsd libc has.