X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=WHATSNEW;h=652176d8c2e508c1a8d456089a9b22925774dac2;hp=ff93ce70ac92378ff77abe6f292306cdfc93319f;hb=328810d32524e4928fec50b57e37e1bf330b2e40;hpb=0bd7ac05d1c6691a7ff33c0145adcafb4f4803df diff --git a/WHATSNEW b/WHATSNEW index ff93ce70..652176d8 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -529,3 +529,180 @@ 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/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 +- 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 + + + +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) + + + +0.9.4 release notes + +new features: +- blowfish crypt +- dynamic linking on mips +- arm hard float support +- BSD fgetln function in stdio +- minor header improvements for compatibility +- support for CROSS_COMPILE variable to configure +- legacy significand function +- better support for SUSv3-targeted programs + +performance: +- assembly (string ops based) memcpy for i386 and x86_64 +- reduce printf overhead + +bug fixes: +- failure of strtod, etc. to process extremely long strings correctly +- read overrun in wcsstr for short needles +- various major mips issues that prevented most software from working +- erroneous floating point exception behavior in i386/x86_64 exp asm +- crashes on null arguments to legacy err.h functions +- various header file/type issues +- extremely rare/obscure race condition with robust mutexes +- crypt now never returns null (most programs don't check, then crash) +- missing xattr remove functions