X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=WHATSNEW;h=327a7d11016a5d80af5c87710cc1bc24f73d93dd;hb=ebc87349fef4f460abc3991c58f38d76c309bc6b;hp=b0c319afae86305d0551d6d442995c539811dae6;hpb=dd762cf6e5886ed297886a19a2e2ffd49157a786;p=musl diff --git a/WHATSNEW b/WHATSNEW index b0c319af..327a7d11 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -780,3 +780,220 @@ bug fixes: - getaddrinfo failure with port "0" - dirname handling of trailing slash - vfork race in posix_spawn + + + +0.9.8 release notes + +new features: +- powerpc port +- dl_iterate_phdr interface +- added mips-specific syscalls +- thread priority scheduling +- C11 CMPLX macro in complex.h +- x86 port io functions in sys/io.h + +compatibility: +- improved headers for trace/debugging/machine-access +- stub functions for unsupported thread-related functionality + +bug fixes: +- numerous math bugs (mostly exception flags and excess-precision issues) +- register clobber error in i386 vsyscall asm (did not affect most callers) +- various incorrect definitions in mips headers +- broken dlsym asm on mips +- empty prefix handling in configure script (--prefix="") +- ldso search path logic issues +- lock handling for stdio memory streams at exit time +- invalid SO_REUSEPORT definition in socket.h (not supported by Linux) +- broken redirection attempt to /dev/null in configure script + + + +0.9.9 release notes + +new features: +- tgamma implementation (no longer lgamma wrapper with low precision) +- various gnu extensions: sigandset, sigorset, etc. +- futimesat function (obsolete) +- various linux syscalls: arch_prctl, personality, etc. + +optimizations: +- hyperbolic, inverse hyperbolic, and inverse trig, bessel functions +- is* comparison macros in math.h now expand inline properly + +library bugs fixed: +- calling getenv from shared library ctors was broken +- invalid read in mmap-serviced aligned_alloc/memalign (possible crash) +- wrong errno result in fallback path of pipe2 +- various math functions raising spurious exceptions +- mmap errno value on invalid offsets +- backwards alignment logic in strlcpy +- integer overflows in bessel functions +- large (up to 60ulp) error in erfcf +- dlsym/dlclose crashing on invalid library handles +- failure to handle arch variations for cloexec/nonblock flags +- lio_listio wrong return value for LIO_WAIT mode +- dladdr failure to resolve PLT addresses +- time_t/struct tm conversion off-by-one-day in december +- malloc corruption on nonstandard kernels with non-page-aligned brk + +arch-specific bugs fixed: +- arm ctors/dtors were not working with recent gcc versions +- arm and mips setjmp/longjmp wrongly saved/restored fenv state +- loss of precision in i386/x86_64 expl + +header bugs fixed: +- incorrect PRI/SCN macros in inttypes.h for some types +- arm sys/user.h regressions +- failure of offsetof() to be an integer constant expression +- tgmath return value type problems + +header compatibility improvements: +- _GNU_SOURCE now enables everything; _ALL_SOURCE also works +- scsi/scsi.h and scsi/sg.h are now provided +- additional MAP_* flags for mmap +- additional F_* commands and flags for fcntl +- additional socket option, IPPROTO_* values, and multicase macros +- thread-related waitpid flags +- EHWPOISON added to errno.h +- additional macros for mount, swap, and reboot operations +- expose additional link.h structures +- always ensure sizeof(NULL)==sizeof(void *), even in c++ +- additional flags for poll, epoll, inotify, timerfd, timex, dlfcn +- register names in signal.h/ucontext.h for x86 +- ipc.h ipc_perm nonstandard struct field name compatibility improve + + + +0.9.10 release notes + +new features: +- getifaddrs +- pthread_getattr_np (widely used by garbage collectors) +- mkostemps, mkostemp, mkstemps functions (mkostemp is future-POSIX) +- strcasestr and strverscmp (previously stubs) + +improvements: +- major performance improvements in mbtowc +- avoid filling caller-provided thread stacks with large TLS +- debloat unnecessary static buffers +- robust posix_spawn based on CLONE_VM instead of vfork +- new system() and popen() based on posix_spawn +- better strerror strings +- further emulation of atomic close-on-exec/nonblock options for old kernels +- provide macro constants for new-ish kernel features + +compatibility: +- several nonstandard but widely-available pwd/grp/shadow functions +- program_invocation_[short_]name +- re-added useconds_t type used by some programs +- some legacy arpa headers +- dn_skipname function (legacy resolver API) +- additional ABI aliases for supporting glibc-linked libraries/binaries + +general bugs fixed: +- stale locks and bogus munmap call when pthread_create fails +- uninitialized argument to munmap when dynlink load_library fails +- incorrect error returns in gethostby*_r +- memory leak in gethostbyname family +- blank ai_canonname in getaddrinfo for non-CNAME records +- undefined HZ macro in scsi/sg.h +- wrong return value for wmemmove on forward-copy +- namespace conformance in strings.h +- various utmp.h bugs +- unnecessary DT_SONAME in libc.so caused problems on some systems +- multiple bugs in syslog, some possibly dangerous +- non-functional setpriority function +- slight mishandling of 0xf5 byte in UTF-8 decoder +- misaligned memory accesses in mbsrtowcs + +arch-specific bugs fixed: +- crash in shared library loading on arm +- missing __aeabi_atexit needed by arm eabi +- wrong float_t definition on x86_64 +- various low-impact type size/alignment mismatches in some headers +- epoll struct alignment wrong on non-x86[_64] archs +- broken pipe2 fallback code on mips with old kernels + + + +0.9.11 release notes + +new features: +- %m allocation modifier for scanf +- week number and ISO week-based-year functionality in strftime +- per-process and per-thread cputime clocks +- ethernet address conversion interfaces +- legacy classful ipv4 network address interfaces +- minimal dlinfo function (nonstandard) + +other improvements: +- dynamic linker path file can now use newlines to separate paths +- math optimizations for archs with extended precision (i386) +- musl-gcc wrapper now exposes gcc's intrinsic headers +- quality of rand and rand_r pseudo-random sequences +- support for large device minor numbers (greater than 8 bits) +- various header conformance and compatibility fixes + +directly user-visible bugs fixed: +- scanf losing characters on unbuffered streams and fmemopen streams +- failure of mbsrtowcs to record stop position when dest is full +- failure of iconv to convert to legacy codepages +- non-working pthread_[sg]etschedparam functions (wrong syscall arguments) + +other potentially-serious bugs fixed: +- resource leaks in sem_open +- various bugs in thread exit synchronization +- invalid access in aio notification after aiocb free/reuse +- synchronization in dynamic linker when new thread dlopens during ctors +- lack of error handling for failure to read dynamic linker path file +- creation by mmap or shmget of objects larger than PTRDIFF_MAX + +minor conformance bugs fixed: +- overflow handling for the clock function +- workaround for incorrect exceptions in fma due to compiler bugs +- workaround wrong kernel type for sem_nsems field in struct semid_ds + +arch-specific bugs fixed: +- x86_64 sigsetjmp clobbered the signal mask rather than saving it +- misaligned stack when calling ctors/dtors (crashing on x86_64) + + + +0.9.12 release notes + +new features: +- zoneinfo time zone support +- PIE support on all supported archs +- named sub-archs for endian and float ABI variants +- improved support for non-root installs of the dynamic linker +- ability to selectively build only performance-critical modules with -O3 +- simple buffer overflow detection in free/realloc +- inet_ntop now presents v4-mapped addresses in ::ffff:a.b.c.d form +- ldd now reports libc and the dynamic linker in its output + +compatibility: +- support for new init/fini array (needed for ctors/dtors on newer gcc) +- C++ ABI fully matches glibc/LSB, at least on x86 +- many added ABI compatibility symbols for using glibc-linked libs +- support for STB_GNU_UNIQUE symbol bindings (found in some C++ libs) +- macros/types for new Linux kernel features in headers + +bugs fixed: +- crashes in scanf on literal mismatches (regression from adding %m) +- dl_iterate_phdr was passing invalid phdr pointers to its callback +- getaddrinfo with null host and AF_UNSPEC was failing to report IPv6 +- integer overflows in date/time conversion code +- misinterpretation of pre-1930s dates as post-2038 on 32-bit archs +- make install failed to install bits headers if make was not run first +- shm_open was wrongly cancellable +- low- or no-impact heap corruption in memalign +- explicitly running the dynamic linker on PIE programs did not work +- missing macros and sysconf for some supported POSIX option groups +- missing close-on-exec flags for several internal fd uses + +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