musl is a new implementation of the standard library for Linux-based systems. It is lightweight, fast, simple, free, and strives to be correct in the sense of standards-conformance and safety. It includes a wrapper for building programs against musl in place of the system standard library (e.g. glibc), making it possible to immediately evaluate the library and build compact statically linked binaries with it.
|Tags||software deployment Libraries Operating Systems Embedded Systems|
Release Notes: New features include support for RELRO protection in the dynamic linker, VDSO acceleration for clock functions on x86_64, and improvements to malloc that avoid early allocation failures specific to PIE binaries. Several important bugs have been fixed, including searches past the end of the buffer in memmem and multiple bugs in printf floating point formatting, one of which may be able to trigger a buffer overflow under certain conditions. Some bugs specific to the MIPS, microblaze, and x32 ports have also been fixed.
Release Notes: This is the first maintenance release in the 1.0 series, and fixes several important bugs including searches past the end of the buffer in memmem and multiple bugs in printf floating point formatting, one of which may be able to trigger a buffer overflow under certain conditions. Some bugs specific to the MIPS and microblaze ports have also been fixed.
Release Notes: This release adds support for a soft-float ABI variant on MIPS as well as new experimental ports to SuperH and x32 (the new 32-bit ABI for x86_64). Two floating point printf bugs have been fixed including a rounding error and off-by-one buffer overflow that could occur only when printing certain denormal values with thousands of places of precision. A second overflow issue was fixed in wcsxfrm where a buffer length of zero was misinterpreted. Several other minor bugfixes and compatibility improvements have also been made.
Release Notes: Major bug fixes include a buffer overflow in mbsrtowcs, group file handling errors, a failure of execle to use the new environment, and timezone parsing crashes on 64-bit systems. Also fixed are several fd leak (close-on-exec) issues, handling of invalid IP address strings, several fnmatch corner cases possibly leading to out-of-bound access, and failure of faccessat with the AT_EACCESS flag. This release also adds support for mixing IPv4 and v6 nameservers in resolv.conf, expanded shadow password API, IPv6 multicast structures, and the ability for libc.so to report the version installed.
Release Notes: This release fixed a regression in installation of the dynamic linker symlink when DESTDIR is used, a rare deadlock in libc-internal locking, incorrect dynamic linker fallback to built-in search paths in certain error cases, popen failures when the caller has closed stdin or stdout, deadlock and memory corruption issues in multi-threaded set*id and setrlimit operations, and multiple low-impact bugs in math functions and other components.