diff options
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,
+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
+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.
diff --git a/WHATSNEW b/WHATSNEW
index d422df42..5600991c 100644
@@ -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