X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=WHATSNEW;h=3b4321c1caec7b945f07b19867e263b7c75be68f;hb=7fe273b2c163e4594221375120c6ce209a783262;hp=e42be6887735f68fae783c2d683d9d20515a3b45;hpb=3ff3a1d541241699f84b52e5ef4bacce2105568f;p=musl diff --git a/WHATSNEW b/WHATSNEW index e42be688..3b4321c1 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1269,3 +1269,202 @@ bugs fixed: arch-specific bugs fixed: - broken kernel side RLIM_INFINITY on mips - incorrect syscall argument 6/7 types for pselect on x32 + + + +1.1.3 release notes + +new features: +- address sorting in getaddrinfo, etc. modeled on rfc 3484/6724 +- default timezone taken from /etc/localtime when $TZ is unset +- getopt double-colon extension for optional arguments +- support for TLSDESC-based (gnu2) TLS dialect on i386 and x86_64 +- sendmmsg/recvmmsg (linux-specific) +- fmtmsg (last mandatory XSI function that was missing) + +compatibility: +- treat dns rcode=2 as temporary failure, not negative result +- working thread-pointer for pre-2.6 kernels on i386 +- further ABI-compat symbols: __xmknod[at], __sysv_signal + +bugs fixed: +- memmem false positives/false negatives/crashes from invalid logic +- gethostby*_r not setting result pointer to null on failure +- aliasing violations in syscall.h SYSLOG_NAMES feature +- fanotify_mark syscall arguments wrong + +arch-specific bugs fixed: +- various subtle relocation bugs in powerpc and sh dynamic linker + + + +1.1.4 release notes + +new features: +- experimental locale support for LC_MESSAGES and LC_TIME +- non-stub gettext family functions for message translation +- or1k (OpenRISC 1000) port +- syslog options LOG_CONS and LOG_PERROR +- issetugid function (from OpenBSD) +- improved if_nameindex and getifaddrs functions + +compatibility: +- work around bug #61144 in gcc 4.9.0 and 4.9.1 +- support getauxval(AT_SECURE) even on kernels without AT_SECURE + +bugs fixed: +- empty dynamic linker error messages (regression in 1.1.3) +- if_nameindex omitted unconfigured and ipv6-only interfaces +- incorrect return value for fwide function +- failure of wide printf/scanf functions to set wide orientation +- multiple issues in legacy function getpass +- dynamic linker did not accept colon as a separator for LD_PRELOAD +- errno clobber in syslog caused wrong output for %m specifier +- crash in regexec for nonzero nmatch argument with REG_NOSUB +- minor bugs in rarely-used nl_langinfo item lookups + +arch-specific bugs fixed: +- broken relocations in mips dynamic linker (regression in 1.1.3) +- register state corruption in setjmp asm for microblaze +- broken struct stat st_ino field on microblaze +- broken struct stat st_dev field on big endian mips +- broken asm register constraints in atomics on powerpc +- missing barriers in atomics on mips, powerpc, microblaze, and sh + + + +1.1.5 release notes + +new features: +- full C11 coverage (threads, UTF-16/32 API, timespec_get, etc.) +- malloc_usable_size function (nonstandard) +- support for new F_OFD_* fcntl operations (linux 3.15, POSIX-future) +- new _DEFAULT_SOURCE feature test macro to request default profile + +performance: +- private-futex support +- redesigned cond var implementation with major performance improvement +- tweaked spinning in userspace before performing futex waits + +bugs fixed: +- failure of dn_expand to null-terminate name for crafted DNS packets +- corruption of cond var mutex state when switching mutexes +- use of uninitialized memory with application-provided thread stacks +- false ownership of orphaned mutexes due to tid reuse +- possible failure-to-wake for robust mutexes on owner death +- subtle errors in robust mutex unrecoverable status handling +- missing memory/compiler barrier spinning to obtain locks +- wrong behavior in various zero-length stdio operations +- buffer overflow in swab with odd argument +- incorrect sequence generation in the rand48 family of prng functions +- missing cancellation check in non-wait paths of sem_wait, pthread_join +- missing barrier in pthread_once fast path +- memory leak in regexec when input contains illegal sequence +- various parser bugs in regcomp +- wrong return value on overflow in some strtoul-family functions +- broken CPU_EQUAL macro in sched.h +- dlerror not working in static-linked programs +- mishandling of negative non-whole-hour TZ offsets +- incorrect case mappings for U+00DF +- namespace pollution via accidentally-non-static function named "dummy" +- missing __fpclassifyl and __signbitl definitions for ld64 archs + + + +1.1.6 release notes + +new features: +- getopt '-' flag for processing non-option arguments +- getopt_long argument permutation extension +- getopt_long abbreviated options +- ns_parserr and related DNS-packet-parsing functions +- fnmatch FNM_CASEFOLD extension +- support for translation of getopt error messages +- login_tty function (legacy) + +performance: +- efficient atomics on armv7+ targets +- pthread_once shrink-wrapping of fast path + +compatibility: +- baseline arm binaries now work on new cpus/kernels without kuser_helper +- dynamic linker now honors DT_RUNPATH without DT_RPATH (new binutils) +- arm asm is now compatible with clang's internal assembler +- suppress macro implementations of functions when headers are used in C++ +- increased message length limit for syslog + +bugs fixed: +- open ignored file creation mode argument for O_TMPFILE +- wrong printf formatting for %#.0o with value zero +- missing private state for uchar.h functions (null ps pointer) +- sched_getaffinity left uninitialized data in output bit array +- wrong return values for pthread_getaffinity_np and pthread_setaffinity_np +- buggy handling of multibyte option chars with arguments in getopt +- printf failed to report or stop on write errors +- printf failed to honor '+' modifier when printing NANs +- wcsnrtombs returned the wrong value in one code path +- syslog failed to check for connect error +- multi-threaded set*id() had spurious failures from ugly workaround code +- various minor header conformance bugs (signedness, constant expressions, ...) + +arch-specific bugs fixed: +- on or1k, some syscalls with 64-bit arguments were broken (misaligned) +- usage of sahf instruction on x86_64 crashed on some early cpu models + + + +1.1.7 release notes + +new features: +- alternate passwd/group backend support via nscd protocol +- masked cancellation mode extension (experimental) +- aio cancellation +- aarch64 port (experimental) + +performance: +- significant memset asm optimizations on i386 and x86_64 + +compatibility: +- suppress EINTR in semaphores for old kernels where futex restart is broken +- always set optarg in getopt_long +- support SOCK_RAW socket type in getaddrinfo +- report success instead of EINPROGRESS when close is interrupted + +bugs fixed: +- multithreaded set*id() was not async-signal safe, had various race bugs +- getspnam_r returned results for partial username matches +- wordexp bad character checker mis-counted parentheses +- close on fd with pending aio could lead to file corruption +- old aio implementation had numerous conformance bugs +- malloc init code could deadlock due to race condition +- pthread_exit did not disable cancellation +- pthread_cond_wait could wrongly consume signal on cancellation +- execvp wrongly stopped path search on EACCESS +- fsync, fdatasync, and msync were not honored as cancellation points +- fchmodat was subject to fd leak race (missing O_CLOEXEC) +- fchmodat failed to report EOPNOTSUPP in race path +- passwd/group lookup functions had various minor error-reporting bugs +- isatty had false-positives/device-state-corruption for OSS sound devices +- configure script failed to detect gcc with translated messages +- FLT_ROUNDS macro failed to reflect rounding mode changes in fenv + +arch-specific bugs fixed: +- mips fesetenv did not handle FE_DFL_ENV +- mips POLLWRNORM and POLLWRBAND macros had wrong values +- x32 pthread synchronization object type definitions were wrong +- powerpc minimum signal stack size was insufficient + + + +1.1.8 release notes + +bugs fixed: +- stack-based buffer overflow in inet_pton (CVE-2015-1817) +- regcomp crash/mem-corruption with illegal bytes after backslash +- regcomp wrongly allowed backrefs in ER +- regcomp miscompiled character class brace-repetitions +- regcomp wrongly processed \0 as an unmatchable backref +- new FLT_ROUNDS definition failed to work in C++ code + +arch-specific bugs fixed: +- aarch64 was missing max_align_t definition