X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=WHATSNEW;h=492896168ae8cf42552ca918777b7653b99ad045;hb=a627eb35864d5c29a3c3300dfe83745ab1e7a00f;hp=a192f56d679227f210b0acc189b505066f35f130;hpb=372a948b8139c6583045b2cd91b6b91fcb2e5881;p=musl diff --git a/WHATSNEW b/WHATSNEW index a192f56d..49289616 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -963,7 +963,7 @@ arch-specific bugs fixed: 0.9.12 release notes -new feastures: +new features: - zoneinfo time zone support - PIE support on all supported archs - named sub-archs for endian and float ABI variants @@ -997,3 +997,148 @@ arch-specific bugs: - wrong SIG_ATOMIC_MIN/MAX macros on x86_64 - erfcl was missing on archs where long double is same as double - broken dynamic-model TLS in static-linked arm/mips/powerpc programs + + + +0.9.13 release notes + +new features: +- iconv support for EUC-KR and Big5 (including HKSCS) encodings +- field widths (POSIX 2008 feature) in strftime +- recursive rpath and $ORIGIN support in dynamic linker +- cpu affinity interfaces +- support for armhf (hardfloat) floating point environment (fenv) +- support for SSE fenv on i386 (for apps using -mfpmath=sse -msse2) +- strftime %s format (seconds since the epoch, future POSIX requirement) +- configure script now saves its command line as a comment in config.mak +- legacy functions valloc and euidaccess + +performance: +- optimized asm memcpy for arm +- optimized asm memset for i386 and x86_64 +- optimized C versions of memcpy and memset for all archs +- eliminated major spurious syscalls from posix_spawn +- some math asm for armhf (hardfloat) + +workarounds for: +- qemu-user's rt_sigaction syscall does not allow old to alias new +- qemu-user's madvise always succeeds (broke pthread_getattr_np) +- passing PT_INTERP to dlopen attempted to double-load libc +- gcc 4.8.x generating self-referential (infinite recursion) memcpy/memset +- linux's lack of support for fchdir, fchmod, fchown, fstat on O_PATH fds + +bugs fixed: +- failure to honor flags for fchmodat and faccessat (linux syscall api flaws) +- SIGEV_THREAD timer id corruption and race condition issues +- timer thread TLS incorrectly keeping values from previous expiry run +- ecvt/fcvt decimal position off-by-one +- in symbol-versioned libs, symbol resolved to oldest instead of newest +- posix_spawn not correctly reporting errno from exec failure +- "make install" was not atomic (overwrote files rather than replacing) +- integer overflows in strftime +- unset/empty TZ variable was mishandled +- strftime could crash if the struct tm did not have valid tm_zone field +- failure of fenv functions to handle invalid arguments (required by ISO C) +- failure of some math functions (C and i386 asm) to raise underflow flag +- broken dn_expand function (previously not used internally) +- race conditions with signals during fork +- incorrect access check in mktemp (obsolete function) +- unnecessary arbitrary limits on size of program headers in dynamic loader +- text formatting bugs in output of err.h functions + +arch-specific bugs: +- fesetenv(FE_DFL_ENV) crashed on i386 +- breakage of arm crt code when libc is compiled as thumb +- arm/armhf (hardfloat) misidentified by configure +- ambiguity of wait (exit status) macros on mips with signal number 127 +- wrong value of _NSIG and SIGRTMAX on mips + + + +0.9.14 release notes + +bugs fixed: +- failure to properly install dynamic linker with DESTDIR set (symlink wrong) +- rare deadlock in libc-internal locking routines +- dynamic linker used fallback paths wrongly on (possibly transient) errors +- popen broken when stdin or stdout was already closed in parent +- deadlock/memory-corruption in multithreaded set*id and setrlimit functions +- realpath failed when file was not readable +- readpath mistakenly had cancellation points in it +- crashes in scanf with invalid %m conversion specifiers +- misclassificiation of some invalid ld80 float representation in fpclassify +- various overflow and underflow flag issues in math functions +- domain handling errors for acoshf and acoshl +- wrong values for some sysconf properties +- lack of proper memory barriers on arm + +mips-specific bugs: +- broken sysv ipc structures +- multiple stack-related bugs in clone, leading to crashes in parent or child +- overflow writing sigset_t in multithreaded set*id and setrlimit functions + +other improvements: +- size and performance improvements to various math functions +- wait.h as a compatibility alias for sys/wait.h +- various header improvements +- support for runtime-variable page size on archs that need it (mainly mips) + + + +0.9.15 release notes + +new features: +- support for mixing IPv4 and v6 nameserver addresses in resolv.conf +- RFC 3678 multicast structures/macros in netinet/in.h +- putspent and fgetspent functions (shadow password API) +- timef function (obsolete, removed in POSIX 2008) +- fanotify syscalls (Linux-specific feature) +- semtimedop syscall (Linux-specific sysvipc extension) +- quotactl syscall and header (filesystem quotas support) +- drem and finite functions (obsolete BSD functions) +- getloadavg function (non-standard) +- herror function (non-standard and obsolete) +- libc.so now stores and prints its version information +- expose constants for new Linux features including O_TMPFILE +- implement FNM_LEADING_DIR option to fnmatch (GNU extension) +- posix_close function (accepted for inclusion in next POSIX issue) + +bugs fixed: +- buffer overflow in mbsrtowcs +- clobbering of gr_name in getgrnam_r and getgrgid_r +- execle ignoring the environment argument +- setenv crash on malloc failure +- out-of-bounds access in fnmatch with FNM_PATHNAME and certain patterns +- failure of malloc to set errno when failing to extend heap +- incorrect errno value from getcwd with zero size +- spurious failure in faccessat with AT_EACCESS flag with suid/sgid programs +- several fd leaks due to missing close-on-exec flag +- misspellings/typos in macro names in several headers +- incorrect failure return value in inet_pton +- various numeric ip address parsing and validation fixes +- namespace conformance issues in several headers +- minor header issues +- zombie processes left by faccessat with AT_EACCESS +- timezone file parser failing/crashing on 64-bit archs +- hang in localtime with near-overflowing time_t values on 64-bit archs +- timezone path search was only trying first path +- incorrect handling of excessive-length TZ environment strings +- timezone file loading was wrongly enforcing O_NOFOLLOW/rejecting symlinks +- iswspace was wrongly returning true for the null character +- various bugs in wordexp +- putgrent could write corrupt lines after write failures +- dn_expand misinterpreted in-packet offsets greater than 255 +- spurious strftime/wcsftime failure on len+1==bufsize case +- incorrect underflow flag in fma corner cases +- log*(0) wrongly returned +inf in downward-rounding mode +- failure of fchmod, fstat, fchdir, and fchown to produce EBADF + +arch-specific bugs fixed: +- i386: failure of fesetround to set sse rounding mode +- i386: floating point limit constants misinterpreted due to excess precision +- powerpc: broken thread pointer access when compiled with clang +- microblaze: dynamic linker entry point code possibly clobbering argv + +strict conformance issues: +- NULL definition re-aligned with POSIX (requires (void *) cast) +- alignment of math.h is* comparison functions with C11 annex F requirements