X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=WHATSNEW;h=2958c623d59a3504e09503225a376dd5e865f2ce;hp=f3db8ad4f208e4993b202da379e7a51c09256b25;hb=0d4d1a96e4fd827267250e469affc7ebfc44324f;hpb=8a35deede1c2c1ca2e24aae676c90cac49eff073 diff --git a/WHATSNEW b/WHATSNEW index f3db8ad4..2958c623 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -545,13 +545,15 @@ new features: compatibility: - added linux unshare syscall -- exp10 function +- exp10/pow10 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) +- new ar.h and lastlog.h (legacy junk) +- various other header improvements optimization: - additional x86_64 math asm @@ -562,3 +564,116 @@ bug fixes: - 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 + + + +0.9.1 release notes + +new features: +- dynamic linker can be used as a program to explicitly load/run executables +- ldd command, usable by making a symlink to the dynamic linker named ldd + +bug fixes: +- major bugs in POSIX BRE parsing inherited from TRE regex code +- character matching bug in regex on ARM: WCHAR_MAX was assumed to be signed +- various obscure fixes related to signals and pthread cancellation +- remquot subnormal remainder bug +- buggy macros in (nonstandard) sys/param.h +- major bug in pthread barriers on x86_64 (out of bounds write) +- utimes (legacy) function was making wrong syscall (utime instead of utimes) +- avoid using "old" syscalls that don't exist on arm eabi linux +- broken strrchr(str, 0) +- broken mbsinit(0) +- broken wcsncmp +- syntax error in nextafter macro in tgmath.h +- missing support for -pie in musl-gcc wrapper +- abort could wrongly fail to terminate the program in some cases + +compatibility: +- increase default thread stack size to 80k +- support _BSD_SOURCE feature test macro +- support _LARGEFILE64_SOURCE feature test macro (merely exposes alt names) +- lots of legacy-compatibility improvements in headers +- various minor GNU extension functions +- sysconf reporting number of available CPUs/cores +- various LSB/glibc ABI interfaces aimed at compatibility with some binaries +- use fistpll asm mnemonic instead of fistpq for compat with clang + + + +0.9.2 release notes + +bug fixes: +- pointer overflow in printf (crash on 32bit userspace, 64bit kernel) +- printf %ls over-read bug +- strtod failure to read -0x as negative zero +- flush stdio after dtors, not before +- wrong file position for buffered input streams on exit +- popen was broken when stdin/out were already closed +- broken wcwidth tables (missing many characters) +- fwrite: wrong return value of partial/failed write +- broken utf-16 conversions +- bad buffer length check in getlogin_r +- bad perror("") behavior; did not match perror(0) +- broken sysinfo syscall/structure +- stdint.h const macro signedness bugs +- broken include guards in some headers +- bogus localeconv values +- cancellation-safety for popen and pclose +- fma corner cases wrong on i386 +- fcntl F_GETOWN errno missing on failure. +- char signedness bug in dynamic linker broke dlopen on arm +- mprotect failure in dynamic linker caused crash instead of error + +build system: +- configure check to work around hacked-up gcc versions +- test for old binutils that can't support musl dynamic linker + +compatibility: +- make _GNU_SOURCE imply _LARGEFILE64_SOURCE +- syscall wrapper for lots of nonstandard and/or legacy linux syscalls +- versionsort stub +- timegm function (inverse of gmtime) +- various minor header tweaks +- make __freading/__fwriting semantics match traditional ones +- added gnulib-compatibility stdio interfaces +- added pthread_attr_setstack interface +- make strerror_r return partial string when buffer is too small +- duplocale should accept LC_GLOBAL_LOCALE +- align ptsname_r to upcoming posix requirements +- support invalid ld80 bit patterns as extra nans. + + + +0.9.3 release notes + +new features: +- mips (32-bit, o32 abi) port, currently static-linked only +- newly overhauled crypt implementation +- improved library pathname info for debugger from the dynamic linker +- getaddrinfo (and getservbyname) now support /etc/services lookups +- pipe2 syscall wrapper +- splice and vmsplice syscall wrappers +- syscall wrappers for extended attribute interfaces +- ioperm/iopl syscall wrappers on archs that support these operations + +bug fixes: +- dlsym RTLD_NEXT library search order was wrong +- multiple dlopen pathname and library name handling errors +- potential race condition in detached thread exit +- broken internal-lock-handling code not updated for futex-based __lock +- sem_trywait spurious EAGAIN errors arising from CAS failures +- workaround kernel bug in cmsghdr size_t vs socklen_t issue (64-bit) +- getservby* crash on null protocol argument +- logic error skipping failed interfaces in if_nameindex +- various minor header/declaration related issues + +arm-specific bug fixes: +- broken crti/crtn startup code when gcc crtbegin/end files are linked +- sigsetjmp tail call optimization failure broke the function +- incorrect little-endian assumptions in atomic.h functions +- use of blx instruction in asm (not supported on pre-v5 arm) + +build system: +- only use expensive -ffloat-store cflag on archs/compilers that need it +- make musl-gcc wrapper support -lgcc (mainly for self-hosting)