From 801b311a5b6f00a9490ae9933439d1e62451fbd3 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 13 Sep 2011 13:41:40 -0400 Subject: [PATCH] 0.8.0 release --- README | 39 +++++++++++++++++++++++++-------------- WHATSNEW | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 14 deletions(-) diff --git a/README b/README index 76d8926f..db9726a3 100644 --- a/README +++ b/README @@ -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, diff --git a/WHATSNEW b/WHATSNEW index d422df42..5600991c 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -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 -- 2.20.1