From: Rich Felker Date: Mon, 21 Jan 2019 17:30:25 +0000 (-0500) Subject: release 1.1.21 X-Git-Tag: v1.1.21 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1691b23955590d1eb66a11158fdd91c86337e886;p=oweals%2Fmusl.git release 1.1.21 --- diff --git a/VERSION b/VERSION index be5b4c7b..6f182425 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.20 +1.1.21 diff --git a/WHATSNEW b/WHATSNEW index dad17d6e..679b95b0 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1984,3 +1984,55 @@ 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