diff options
-rw-r--r-- | README | 39 | ||||
-rw-r--r-- | WHATSNEW | 33 |
2 files changed, 56 insertions, 16 deletions
@@ -12,30 +12,37 @@ comparison chart on the project website, For installation instructions, see the INSTALL file. -Please refer to the COPYRIGHT file for details on the copyright status -of code included in musl, and the COPYING file for the license (LGPL) -under which the library as a whole is distributed. +Please refer to the COPYRIGHT file for details on the copyright and +license status of code included in musl (standard MIT license). Greetings! -As of the 0.8.0 release, musl is in _beta_ status. While some -interfaces remain incomplete or yet to be implemented, the ABI is -intended to be stable at this point, and serious efforts have been -made, using three separate test frameworks, to verify the correctness -of the implementation. Many major system-level and user-level programs -are known to work with musl, either out-of-the-box or with minor -patches to address portability errors. +With the 0.9.0 release, musl has reached a milestone in completeness +and compatibility. All interfaces in ISO C99 and POSIX 2008 base exist +in musl, along with a number of non-standardized interfaces based on +GNU and BSD libraries and syscall interfaces for Linux-kernel-specific +functions. Some interfaces lack obscure or rarely-used functionality +needed for strict conformance, but the vast majority of interfaces go +above and beyond the requirements for conformance, often promising +success where other implementations can fail under resource exhaustion +or other corner-case conditions. + +At this point, hundreds of packages have been successfully built +against musl, either out-of-the-box or with minor patches to address +portability errors. Testing has been conducted using three separate +test frameworks and numerous additional standalone test cases to +verify the correctness of the implementation. Included with this package is a gcc wrapper script (musl-gcc) which -allows you to build musl-linked programs using an existing gcc 4.x -toolchain on the host. There are also now at least two mini +allows you to build musl-linked programs using an existing gcc 3.x or +4.x toolchain on the host. There are also now at several mini distributions (in the form of build scripts) which provide a -self-hosting musl-based toolchain and system root: Sabotage Linux and -Bootstrap Linux. These are much better options than the wrapper script -if you wish to use dynamic linking or build packages with many library -dependencies. +self-hosting musl-based toolchain and system root. These are much +better options than the wrapper script if you wish to use dynamic +linking or build packages with many library dependencies. See the musl +website for details. The musl project is actively seeking contributors, mostly in the areas of porting, testing, and application compatibility improvement. For @@ -529,3 +529,36 @@ bug fixes: - scanf and strtod wrongly treating "0.00000000001", etc. as 0 - many bugs in towupper/towlower (never seriously tested before) - int8_t definition was wrong when gcc -funsigned-char was used + + + +0.9.0 release notes + +license change: MIT + +new features: +- configure script, improved build system +- full stack protector support +- PIE support on x86 and x86_64 +- new O(1) space, O(nm) time implementation of fnmatch +- improved support for sse2 floating point mode on x86 + +compatibility: +- added linux unshare syscall +- exp10 function +- sqrtl support on arm (previously missing) +- removed minimal linux/*.h headers that could conflict with real ones +- support for _LARGEFILE64_SOURCE (mapped to standard fcns with #define) +- better c89 compatibility in headers +- stub versions of sched_* functions (previously missing) +- pthread stacks no longer executable (compat with hardened kernels) + +optimization: +- additional x86_64 math asm +- better formula for acos use in i386 asm + +bug fixes: +- large (up to a few %) errors in strtod for certain values due to bug +- mbsnrtowcs and wcsnrtombs were completely broken (bad exit logic) +- wide printf %.0s could fail due to uninitialized variable +- missing dlerror strings for dlsym in some cases |