diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-09-13 13:41:40 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-09-13 13:41:40 -0400 |
commit | 801b311a5b6f00a9490ae9933439d1e62451fbd3 (patch) | |
tree | 6cd37a89da5a2e3266b3f55c2d45b0b9e4014229 | |
parent | 28af39fe427ffec8b836f4f30450ffc30b03e5c4 (diff) | |
download | musl-801b311a5b6f00a9490ae9933439d1e62451fbd3.tar.gz musl-801b311a5b6f00a9490ae9933439d1e62451fbd3.tar.bz2 musl-801b311a5b6f00a9490ae9933439d1e62451fbd3.tar.xz musl-801b311a5b6f00a9490ae9933439d1e62451fbd3.zip |
0.8.0 releasev0.8.0
-rw-r--r-- | README | 39 | ||||
-rw-r--r-- | WHATSNEW | 43 |
2 files changed, 68 insertions, 14 deletions
@@ -18,24 +18,35 @@ under which the library as a whole is distributed. -Greetings libc hackers! - -This package is an _alpha_ release of musl, intended for the curious -and the adventurous. While it can be used to build a complete small -Linux system (musl is self-hosted on the system I use to develop it), -at this point doing so requires a lot of manual effort. Nonetheless, I -hope low-level Linux enthusiasts will try out building some compact -static binaries with musl using the provided gcc wrapper (which allows -you to link programs with musl on a "standard" glibc Linux system), -find whatever embarassing bugs I've let slip through, and provide -feedback on issues encountered building various software against musl. - -For bug reports, support requests, or to get involved in development, +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; the main remaining applications +which definitely will not work are those which require C++ support, +which will be addressed during the 0.8 or 0.9 development series. + +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 +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. + +The musl project is actively seeking contributors, mostly in the areas +of porting, testing, and application compatibility improvement. For +bug reports, support requests, or to get involved in development, please visit #musl on Freenode IRC or subscribe to the musl mailing list by sending a blank email to musl-subscribe AT lists DOT openwall DOT com. -Thank you for trying out musl. +Thank you for using musl. Cheers, @@ -282,3 +282,46 @@ bug fixes: - workaround for bugs in linux mprotect syscall - thread-safety for random() functions - various minor issues + + + +0.8.0 release notes (in progress) + +new features: +- chinese and japanese legacy charset support in iconv +- zero-syscall clock_gettime support (dynamic-linked x86_64 only) +- futex-based locking for stdio (previously used spinlocks) +- LD_PRELOAD and RTLD_NEXT support in dynamic linker +- strptime (mostly working but incomplete) +- posix aio (mostly working but not entirely conformant) +- memory streams (fmemopen, open_memstream, ...) +- stub/dummy implementations for various useless legacy functions +- if_nameindex + +security hardening: +- setuid, etc. should not longer be able to "partially fail" with threads +- ensure suid programs start with fd 0,1,2 open +- improved openpty/forkpty failure checks + +threads/synchronization bug fixes: +- dangerous spurious wakeup in pthread_join lead to early return +- race condition enabling async cancellation (delayed/lost cancellation) +- destruction/unmapping race conditions in semaphores, mutexes, rwlocks +- recursive rwlock_rdlock deadlock when a writer is waiting +- race condition in sigqueue with fork +- timer expiration thread exit wasn't running dtors +- timer threads weren't blocking signals +- close was wrongly cancellable after succeeding on some devices +- robust mutex list was not reset on fork + +general bug fixes: +- incorrect logic in fread (spurious blocking; crash on write-only files) +- many corner cases and overflow cases for strtol-family functions +- various printf integer formatting issues with flags/width/precision +- incorrect iconv return value on failure +- broken FD_* macros on 64-bit targets +- clock function returning wrong value (real time not cpu time) +- siglongjmp signal mask clobbering (off-by-one pointer error) +- dynamic linker weak symbol resolution issues +- fdopendir failure to set errno +- various minor header fixes |