X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=WHATSNEW;h=3d2fefa157063e3abb551aae1010ab6f12b3ba12;hb=840d45bebd3558cf72ebab6368620a7919641e1d;hp=935c0bb343c81b0f849a191532eb925313e22e64;hpb=9c102700a7b9e743da692d3cb6bfa580fcdd4379;p=musl diff --git a/WHATSNEW b/WHATSNEW index 935c0bb3..3d2fefa1 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1678,3 +1678,187 @@ arch-specific bugs fixed: - possibly misaligned pointer globals on arm (from an asm source file) - mips dynamic linker failed to provide info needed by debugger - mips cancellation asm wrongly assumed validity of $gp register value + + + +1.1.14 release notes + +regressions fixed: +- treatment of empty string argument as error by puts and fputs +- make clean and distclean failure in unconfigured trees +- sh/fdpic dynamic linker entry point hang due to wrong code +- armhf (and arm softfp model) build failure with clang + +other bugs fixed: +- wrongly clamping (rather than failing) excessive rounds in crypt-sha* + + + +1.1.15 release notes + +new features: +- mips64 (full 64-bit and n32) port +- mips r6 isa support (subarch for mips, mips64, and mipsn32 archs) +- powerpc64 port +- powerpc (32-bit) soft-float ABI support (subarch) +- pthread_tryjoin_np and pthread_timedjoin_np (nonstandard extensions) +- header-level support for linux 4.5 and 4.6 features +- sched_getcpu (nonstandard extension) support, including vdso version +- __STDC_ISO_10646__, __STDC_IEC_559__ macros predefined via stdc-predef.h +- support for new elf/arch features in elf.h + +compatibility: +- configure now correctly chooses cross-prefix based on build/host/target +- abort now successfully terminates pid 1 in a container (or top-level) + +bugs fixed: +- memmem read past end of haystack, possible false positives or crashes +- buffer underflow (reverse-overflow) in ungetwc +- double-free under certain usage of putenv +- incorrect treatment by regcomp of * at start of BRE subexpression +- gethostbyname[2][_r] produced ip addresses in misaligned buffers +- looking up some invalid hostnames caused malformed dns queries +- lookups from hosts file were inconsistent with non-matching family +- missing h_length value in gethostbyaddr results +- a64l function produced wrong-signed results on 64-bit archs +- broken padding of string formats to width in wide printf variants +- wrong results for expf(-NAN) and exp2f(-NAN) +- wrong value for RUSAGE_CHILDREN prevented it from working +- abort failed to provide abnormal termination with SIGABRT blocked + +arch-specific bugs fixed: +- broken posix_fadvise on arm and powerpc (32-bit) +- thread structure/dtv corruption on powerpc at thread startup +- various wrong mips and powerpc ioctl and termios constant values + + + +1.1.16 release notes + +new features: +- s390x (64-bit S/390) port +- pthread_setname_np extension function +- limited pthread_setattr_default_np function to set stack size defaults +- header-level support for linux 4.7, 4.8, and 4.9 features +- confstr _CS_V6_ENV and _CS_V7_ENV items + +compatibility: +- public prototypes for abi-compat *_unlocked symbols, etc. +- fflush_unlocked(NULL) now works +- resolv.h __RES version macro now matches supported APIs +- workaround for gdb bugs backtracing across signals on x86_64 +- anchors ^ and $ are now accepted in BRE subexpressions +- building for thumb2-only arm isa levels is now possible + +bugs fixed: +- integer overflows in regexec buffer allocation (CVE-2016-8859) +- failure of regexec to report matches at offsets past INT_MAX +- static-pie executables with initialized thread-local storage crashed +- printf failed to catch EOVERFLOW in some cases, wrongly produced it in others +- printf produced wrong output, result for float with precision near INT_MAX +- printf produced wrong results with alt-form octal, zero flag, & field width +- printf float rounding was wrong for some midpoint cases +- swprintf printed junk after internal (256-byte) buffer filled up +- strtod family rounded incorrectly in several corner cases +- getmntent failed to handle long records +- getopt_long_only wrongly treated "--" as an option +- asctime output wrongly varied by locale +- strftime %y specifier produced wrong output for negative tm_year +- time zone names quoted with <> were misparsed +- corner case integer overflow in tm_year for some date conversions +- failure to load shared libs whose names were prefixes of standard lib names +- wrong error codes for several failure cases in various functions +- various asymptomatic undefined behavior +- various minor namespace issues in headers + +arch-specific bugs fixed: +- tcsetattr regression on mips (completely non-working) +- wrong pread/pwrite syscall calling convention on sh +- wrong preadv2/pwritev2 syscall numbers on x32 +- mrand48/jrand48 produced wrong-signedness results on 64-bit archs + + +1.1.17 release notes + +new features: +- RTLD_LAZY deferred symbol binding, functionally equivalent to lazy binding +- safeguard against dlopen of multiple libc versions/instances +- new posix_spawn flag POSIX_SPAWN_SETSID +- posix_spawnattr_setflags now reports unknown flags as error +- ldso option --argv0 to set argv[0] +- added _NL_LOCALE_NAME extension to nl_langinfo + +compatibility: +- dlopen local-to-global promotion no longer changes existing symbols +- gettext now searches locale name variants for translation files +- increased locale name length limit from 15 to 23 bytes +- setlocale(LC_ALL, 0) returns single name if all categories are same +- realloc no longer fails when mremap doesn't work +- getservby* no longer treat numeric port strings as service records +- mmap now works around incorrect EPERM error codes from kernel +- impact of REG_* namespace pollution in x86[_64] signal.h is reduced +- arm atomic asm now assembles correctly with new binutils +- PAGE_SIZE on arm is no longer constant (quiet upstream ABI relaxation) +- lsearch/lfind now pass args to compare callback in canonical order +- STB_WEAK and STB_GNU_UNIQUE symbols now behave same as STB_GLOBAL +- better clang CFLAGS checks in configure +- global vis.h hack, which made lld refuse to link to libc.so, is disabled + +performance: +- single-instruction optimized math functions for aarch64, s390x, powerpc64 +- fast path for ASCII in towupper/towlower +- new mostly-integer-math fma function + +semantic bugs fixed: +- POSIX-format TZ dst time transitions were wrong for southern hemisphere +- regex REG_NEWLINE semantics were wrong with negated brackets +- various bugs in strptime %j, %p, %C formats +- iconv mapped some characters to legacy 8bit encodings incorrectly +- glob failed to match "/" +- UTF-8 decoder accepted invalid f4 9x xx xx code sequences +- scanf %% conversion failed to consume whitespace +- glob with GLOB_PERIOD wrongly descended into . and .. +- nftw gave incorrect base name offset when pathname ends in "/" +- functional regression in resolv.conf attempts option +- scalbn could produce wrong result due to double rounding in subnormal range +- strftime %y format wrong with negative years +- mbsnrtowcs and wcsnrtombs mishandled input limits +- minor issues with error codes for various functions + +safety/consistency bugs fixed: +- stack-based buffer overflow in dns response processing +- invalid free in regexec on certain error paths +- invalid free in globfree after failed glob +- one-byte buffer overflow in legacy getpass function +- failed dlopen corrupted thread-local storage module list +- race in pthread_create with priority attributes could leave signals masked +- multithreaded set*id() functions could induce spurious EINTRs +- dl_iterate_phdr reported wrong base address in static PIE +- fd leak and wrong cancellation state after dns socket failure +- memory leaks and other issues in environment-modification functions +- read-after-free race in pthread_detach +- memmem performed single-byte over-read in short-needle code paths +- read via uninitialized pointer in gettext core +- bindtextdomain broke bindings for all other domains +- various silent undefined behavior +- getopt clobbered optopt on success + +arch-specific bugs fixed: +- x32 dynamic TLS accesses crashed +- s390x was missing dlsym entry point (needed for RTLD_NEXT) +- powerpc64 ldso startup could crash depending on link order +- powerpc64 setjmp/longjmp didn't properly save/restore TOC pointer +- thumb2 setjmp/longjmp silently broke at ld-time with text not aligned +- fchown was broken on archs without SYS_fchown syscall +- fstatat was broken on mips64 +- various incorrect constants in powerpc64 and mips headers + + +1.1.18 release notes + +regression fixes: +- glob failed to match literal . and .. path components +- build for armv4t ISA level was broken + +other bug fixes: +- stack overflow in posix_spawnp with large PATH variable in environment