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: 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.
Release Notes: The dynamic linker now supports $ORIGIN and recursive rpath resolution. Field widths and the %s format have been added to strftime. iconv now supports all major non-stateful CJK encodings, including EUC-KR and Big5(+HKSCS), which are new in this release. CPU affinity interfaces have been added. Many floating point improvements have been made, including fenv support on ARM hardfloat targets. Major optimizations have been made to memset and memcpy (all archs). Numerous low- to medium-impact bugs have been fixed.
Release Notes: Notable new features include zoneinfo support, PIE on all targets, simple heap overflow detection in free/realloc, and mildly-improved IPv6 support. Dynamic linker improvements have been made for arch variants and non-root installations. The C++ ABI is now stabilized and compatible with glibcs. Several major bugs have been fixed, including a recent regression in scanf which could pass invalid pointers to free, a flaw in reporting of library headers which could crash C++ exception-handling, and integer overflows in time conversion code which produced incorrect results for certain pre-1935 dates.