update readme and release notes for 0.9.0 release (not yet final)

This commit is contained in:
Rich Felker 2012-05-05 02:39:51 -04:00
parent 3f0636970b
commit 8a35deede1
2 changed files with 56 additions and 16 deletions

39
README
View File

@ -12,30 +12,37 @@ comparison chart on the project website,
For installation instructions, see the INSTALL file. For installation instructions, see the INSTALL file.
Please refer to the COPYRIGHT file for details on the copyright status Please refer to the COPYRIGHT file for details on the copyright and
of code included in musl, and the COPYING file for the license (LGPL) license status of code included in musl (standard MIT license).
under which the library as a whole is distributed.
Greetings! Greetings!
As of the 0.8.0 release, musl is in _beta_ status. While some With the 0.9.0 release, musl has reached a milestone in completeness
interfaces remain incomplete or yet to be implemented, the ABI is and compatibility. All interfaces in ISO C99 and POSIX 2008 base exist
intended to be stable at this point, and serious efforts have been in musl, along with a number of non-standardized interfaces based on
made, using three separate test frameworks, to verify the correctness GNU and BSD libraries and syscall interfaces for Linux-kernel-specific
of the implementation. Many major system-level and user-level programs functions. Some interfaces lack obscure or rarely-used functionality
are known to work with musl, either out-of-the-box or with minor needed for strict conformance, but the vast majority of interfaces go
patches to address portability errors. 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 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 allows you to build musl-linked programs using an existing gcc 3.x or
toolchain on the host. There are also now at least two mini 4.x toolchain on the host. There are also now at several mini
distributions (in the form of build scripts) which provide a distributions (in the form of build scripts) which provide a
self-hosting musl-based toolchain and system root: Sabotage Linux and self-hosting musl-based toolchain and system root. These are much
Bootstrap Linux. These are much better options than the wrapper script better options than the wrapper script if you wish to use dynamic
if you wish to use dynamic linking or build packages with many library linking or build packages with many library dependencies. See the musl
dependencies. website for details.
The musl project is actively seeking contributors, mostly in the areas The musl project is actively seeking contributors, mostly in the areas
of porting, testing, and application compatibility improvement. For of porting, testing, and application compatibility improvement. For

View File

@ -529,3 +529,36 @@ bug fixes:
- scanf and strtod wrongly treating "0.00000000001", etc. as 0 - scanf and strtod wrongly treating "0.00000000001", etc. as 0
- many bugs in towupper/towlower (never seriously tested before) - many bugs in towupper/towlower (never seriously tested before)
- int8_t definition was wrong when gcc -funsigned-char was used - 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