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.
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

View File

@ -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