X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=WHATSNEW;h=147229e4911b4ca64b468a05657369f458f8de36;hb=7829f42a2c8944555439380498ab8b924d0f2070;hp=2516be998687602922fb87996cb31aa28360251d;hpb=0fa1e638e87cf257e9f96b4019b2076afd674a19;p=android-x86%2Fexternal-musl-libc.git diff --git a/WHATSNEW b/WHATSNEW index 2516be99..147229e4 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1919,7 +1919,7 @@ new features: - mlock2 syscall wrapper - memfd_create syscall wrapper - explicit_bzero function -- header-level support for new linux features through 4.18 ?? +- header-level support for new linux features through 4.17 - wcsftime now supports padding specifier extensions - dynamic linker's reclaim_gaps now works on fdpic archs - getaddrinfo now honors AI_ADDRCONFIG @@ -1984,3 +1984,96 @@ arch-specfic bugs fixed: - on mips, return from start function passed to clone crashed (runaway exec) - printf %a precision specifier malfunctioned except on ld80 archs - async thread cancellation crashed on powerpc64 and sh-fdpic + + +1.1.21 release notes + +new features: +- setting default thread stack size via PT_GNU_STACK program header +- arm vfork implementation +- arm tlsdesc/gnu2 tls dialect support +- name_to_handle_at and name_to_handle_at syscall wrappers +- header-level support for new linux features through 4.18 + +optimizations: +- glob rewrite with much better performance and stack usage properties +- single-threaded and already-locked fast paths for getc/putc variants +- single-instruction fma implementations for arm, s390x, powerpc, & x86_64 +- single-instruction fabs and sqrt implementations for powerpc +- size and performance from making all internal-only functions/data hidden +- made &errno and pthread_self results cachable again (attribute((const))) +- significant speedup in strtod with short inputs +- new tsearch AVL tree implementation, smaller and faster +- special-cased nop calls to wmemmove +- fixed erroneously suboptimal skip conditions in strstr and memmem + +hardening: +- default thread stack guard size increased from 4k to 8k + +compatibility: +- default thread stack size increased from 80k to 128k +- building for arm as thumb2 with clang internal assembler now works +- aio threads could overflow stack on kernels that break MINSIGSTKSZ ABI +- aio threads no longer call malloc (problematic with malloc replacement) +- pthread_sigmask/sigprocmask now ignore an invalid how when not changing mask + +bugs fixed: +- soft deadlock regression in stdio FILE locks with >2 threads contending +- deadlock and buffered data loss race in fclose +- race condition leading to possible crash in dcngettext plural forms +- glob failed to see past searchable-but-unreadable path components +- getdelim wrongly realloc'd buffer that was already exactly right size +- getdelim failed to set stream orientation on early error +- ttyname[_r] reported wrong error when given bad fd +- pthread_key_delete left old tsd values exposed if slot was reused +- freeaddrinfo failed to support freeing sublists +- access to optopt was broken by copy relocations +- memccpy returned wrong result if first byte past buffer end matched +- wordexp read past end of input string ending in backslash +- sem_wait and sem_timedwait were wrongly not interruptible by signals +- getspnam[_r] wrongly treated not-found as an error + +arch-specfic bugs fixed: +- soft deadlocks (missing futex wake) on powerpc locking +- dlsym returned wrong address for thread-local symbols on ppc/mips/m68k + + +1.1.22 release notes + +new features: +- priority-inheritance mutexes +- membarrier syscall, pre-registration to use it, fallback emulation +- header-level support for new linux features in 4.19, 4.20, 5.0 + +major internal changes: +- complete, async-safe view of all existent threads as global list +- robust __synccall based on new thread list +- new dynamic TLS is installed synchronously at dlopen +- TLSDESC resolver functions no longer make bad ABI assumptions to call C +- resolved shared library dependencies are now recorded + +compatibility & conformance: +- dependency-order shared library constructor execution +- sigaltstack no longer rejects SS_AUTODISARM, future flags +- FILE is now a complete (dummy) type in pre-C11 feature profiles +- setvbuf reports failure on invalid arguments +- TSVTX is exposed unconditionally in tar.h +- multithreaded set*id() no longer depends on /proc +- key slot reuse after pthread_key_delete no longer depends on /proc + +bugs fixed: +- failures in multithreaded set*id() with concurrent thread creation/exit +- interposed free was called from invalid/inconsistent contexts +- freeaddrinfo performed invalid free of some partial results lists +- dlsym dependency order search had false negatives and false positives +- dn_skipname gave wrong results for labels with 8-bit content +- dcngettext clobbered errno, often breaking printing of error messages +- sscanf read past end of buffer under certain conditions (1.1.21 regression) +- pthread_key_create spuriously failed under race condition (1.1.21 regression) +- fdopendir wrongly succeeded with O_PATH file descriptors +- gets behaved incorrectly in presence of null bytes +- namespace violations in c11 tsd and mutex function dependencies +- incorrect prototype for makecontext (unimplemented) + +arch-specfic bugs fixed: +- s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE