1*c9945492SAndroid Build Coastguard Worker0.5.0 - initial release 2*c9945492SAndroid Build Coastguard Worker 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker 5*c9945492SAndroid Build Coastguard Worker0.5.9 - signal ABI bugfix, various cleanup and fixes: 6*c9945492SAndroid Build Coastguard Worker 7*c9945492SAndroid Build Coastguard Workersigset_t was wrongly defined as 1024 bytes instead of 1024 bits, 8*c9945492SAndroid Build Coastguard Workerbreaking the intended ABI compatibility with the LSB/glibc sigaction 9*c9945492SAndroid Build Coastguard Workerstructure. users should upgrade immediately and rebuild any libraries 10*c9945492SAndroid Build Coastguard Workeror object files that might be using the incorrect definitions. 11*c9945492SAndroid Build Coastguard Worker 12*c9945492SAndroid Build Coastguard Workerimproved security against DoS with tcb shadow passwords by checking 13*c9945492SAndroid Build Coastguard Workerthat the file opened was really an ordinary file. 14*c9945492SAndroid Build Coastguard Worker 15*c9945492SAndroid Build Coastguard Workerfixed a bug in the implementation of atomic ops that could have 16*c9945492SAndroid Build Coastguard Workerallowed the compiler to incorrectly reorder them (in practice, gcc 17*c9945492SAndroid Build Coastguard Workerwith the default settings on i386 was not reordering them). 18*c9945492SAndroid Build Coastguard Worker 19*c9945492SAndroid Build Coastguard Workergreatly improved conformance to the C and POSIX standards regarding 20*c9945492SAndroid Build Coastguard Workerwhat the standard header files make visible. _POSIX_C_SOURCE is now 21*c9945492SAndroid Build Coastguard Workerneeded to get POSIX functions in standard C headers, and _XOPEN_SOURCE 22*c9945492SAndroid Build Coastguard Workeror _GNU_SOURCE are required to get XSI interfaces or GNU extensions, 23*c9945492SAndroid Build Coastguard Workerrespectively. 24*c9945492SAndroid Build Coastguard Worker 25*c9945492SAndroid Build Coastguard Workermany internal improvements have been made to the syscall-related code 26*c9945492SAndroid Build Coastguard Workerin preparation for porting to x86_64 and other archs. 27*c9945492SAndroid Build Coastguard Worker 28*c9945492SAndroid Build Coastguard Worker 29*c9945492SAndroid Build Coastguard Worker 30*c9945492SAndroid Build Coastguard Worker0.6.0 - x86_64 port, various important bugs fixed 31*c9945492SAndroid Build Coastguard Worker 32*c9945492SAndroid Build Coastguard Workernew x86_64 (amd64) architecture port, contributed by Nicholas J. Kain, 33*c9945492SAndroid Build Coastguard Workeralong with PORTING guide. source tree layout and build system have 34*c9945492SAndroid Build Coastguard Workerbeen improved to accommodate further ports. 35*c9945492SAndroid Build Coastguard Worker 36*c9945492SAndroid Build Coastguard Workervarious bugs that were introduced while making the headers respect C 37*c9945492SAndroid Build Coastguard Workerand POSIX namespace standards have been fixed. conformance to the 38*c9945492SAndroid Build Coastguard Workerstandards has been improved. 39*c9945492SAndroid Build Coastguard Worker 40*c9945492SAndroid Build Coastguard Workerfixed an inefficiency in qsort that triggered a bug (occasionaly 41*c9945492SAndroid Build Coastguard Workerinternal compiler error) in some versions of gcc. 42*c9945492SAndroid Build Coastguard Worker 43*c9945492SAndroid Build Coastguard Workerfixed a major bug in the printf %n specifier that prevented it from 44*c9945492SAndroid Build Coastguard Workerworking and caused memory corruption. 45*c9945492SAndroid Build Coastguard Worker 46*c9945492SAndroid Build Coastguard Worker 47*c9945492SAndroid Build Coastguard Worker 48*c9945492SAndroid Build Coastguard Worker0.7.0 - major improvements to posix conformance and completeness 49*c9945492SAndroid Build Coastguard Worker 50*c9945492SAndroid Build Coastguard Workerimplemented posix shared memory and semaphore interfaces. 51*c9945492SAndroid Build Coastguard Worker 52*c9945492SAndroid Build Coastguard Workerimplemented all remaining required pthread and clock interfaces. 53*c9945492SAndroid Build Coastguard Worker 54*c9945492SAndroid Build Coastguard Workermajor fixes to signal semantics. 55*c9945492SAndroid Build Coastguard Worker 56*c9945492SAndroid Build Coastguard Workergreatly improved temporary file name generation for safety against 57*c9945492SAndroid Build Coastguard Workerdenial of service due to intentional name collisions. 58*c9945492SAndroid Build Coastguard Worker 59*c9945492SAndroid Build Coastguard Workeradded syscall wrappers for the linux inotify interface. 60*c9945492SAndroid Build Coastguard Worker 61*c9945492SAndroid Build Coastguard Workermalloc(0) now returns a non-null pointer. 62*c9945492SAndroid Build Coastguard Worker 63*c9945492SAndroid Build Coastguard Workerfixed printf %n specifier (again), pthread_once (it was always 64*c9945492SAndroid Build Coastguard Workerhanging), and non-default-type mutex behavior. 65*c9945492SAndroid Build Coastguard Worker 66*c9945492SAndroid Build Coastguard Workeradded ucontext/sigcontext support in headers to facilitate building 67*c9945492SAndroid Build Coastguard Workerlibgcc with dwarf2 unwind support, and possibly other low-level tools. 68*c9945492SAndroid Build Coastguard Worker 69*c9945492SAndroid Build Coastguard Workerimproved musl-gcc compiler wrapper. 70*c9945492SAndroid Build Coastguard Worker 71*c9945492SAndroid Build Coastguard Workerimplemented many small missing functions here and there, minor header 72*c9945492SAndroid Build Coastguard Workerfixes, etc. 73*c9945492SAndroid Build Coastguard Worker 74*c9945492SAndroid Build Coastguard Worker 75*c9945492SAndroid Build Coastguard Worker 76*c9945492SAndroid Build Coastguard Worker0.7.1 - improvements to completeness, bug fixes 77*c9945492SAndroid Build Coastguard Worker 78*c9945492SAndroid Build Coastguard Workerimplemented flockfile, wprintf, and robust mutex functions. 79*c9945492SAndroid Build Coastguard Worker 80*c9945492SAndroid Build Coastguard Workerfixed stack corruption bug in times(), minor header bugs, and some 81*c9945492SAndroid Build Coastguard Workererror return value bugs in thread interfaces. 82*c9945492SAndroid Build Coastguard Worker 83*c9945492SAndroid Build Coastguard Worker 84*c9945492SAndroid Build Coastguard Worker 85*c9945492SAndroid Build Coastguard Worker0.7.5 - new features, major optimization, and robustness 86*c9945492SAndroid Build Coastguard Worker 87*c9945492SAndroid Build Coastguard Workerimplemented POSIX timers. 88*c9945492SAndroid Build Coastguard Worker 89*c9945492SAndroid Build Coastguard Workeroptimized and simplified many thread-related functions. 90*c9945492SAndroid Build Coastguard Worker 91*c9945492SAndroid Build Coastguard Workereliminated resource leak races in thread cancellation. (almost all 92*c9945492SAndroid Build Coastguard Workerexisting implementations, including glibc, have these leaks.) 93*c9945492SAndroid Build Coastguard Worker 94*c9945492SAndroid Build Coastguard Workeroverhauled stdio implementation to take advantage of readv/writev for 95*c9945492SAndroid Build Coastguard Workerreduced syscall load, and improved stdio's handling of error status. 96*c9945492SAndroid Build Coastguard Worker 97*c9945492SAndroid Build Coastguard Workeradded syscall header and interface for applications to use and 98*c9945492SAndroid Build Coastguard Workergreatly simplified internal system for making syscalls. 99*c9945492SAndroid Build Coastguard Worker 100*c9945492SAndroid Build Coastguard Workerstrangthened tmpnam/tempnam/tmpfile filename generation and made the 101*c9945492SAndroid Build Coastguard Workerstraight C functions not depend on POSIX symbols. 102*c9945492SAndroid Build Coastguard Worker 103*c9945492SAndroid Build Coastguard Workerfixed pthread cancellation ABI on i386 to match the LSB/glibc ABI 104*c9945492SAndroid Build Coastguard Worker 105*c9945492SAndroid Build Coastguard Workerbetter double-free handling in malloc 106*c9945492SAndroid Build Coastguard Worker 107*c9945492SAndroid Build Coastguard Workervarious minor bug fixes 108*c9945492SAndroid Build Coastguard Worker 109*c9945492SAndroid Build Coastguard Worker 110*c9945492SAndroid Build Coastguard Worker 111*c9945492SAndroid Build Coastguard Worker0.7.6 - major bug fixes 112*c9945492SAndroid Build Coastguard Worker 113*c9945492SAndroid Build Coastguard Workerfixed rare but serious under-allocation bug in malloc. 114*c9945492SAndroid Build Coastguard Worker 115*c9945492SAndroid Build Coastguard Workerfixed signedness bug in strchr that prevented finding high bytes. 116*c9945492SAndroid Build Coastguard Worker 117*c9945492SAndroid Build Coastguard Workerfixed serious parsing bugs in strtold. 118*c9945492SAndroid Build Coastguard Worker 119*c9945492SAndroid Build Coastguard Workerfixed statvfs syscall (it was always failing with EINVAL). 120*c9945492SAndroid Build Coastguard Worker 121*c9945492SAndroid Build Coastguard Workerfixed race condition in set*id() functions with threads (possible 122*c9945492SAndroid Build Coastguard Workerdeadlock). further audit still needed though. 123*c9945492SAndroid Build Coastguard Worker 124*c9945492SAndroid Build Coastguard Workerfseek no longer sets the stream error flag on failed seeks (this was 125*c9945492SAndroid Build Coastguard Workerwrong and broke some programs, notably GNU m4). 126*c9945492SAndroid Build Coastguard Worker 127*c9945492SAndroid Build Coastguard Workernl_langinfo is no longer a dummy function. (the functionality was 128*c9945492SAndroid Build Coastguard Workerpreviously implemented but accidentally left unused). 129*c9945492SAndroid Build Coastguard Worker 130*c9945492SAndroid Build Coastguard Workervarious small fixes have been made to the implementations and 131*c9945492SAndroid Build Coastguard Workerprototypes for nonstandard and obsolete functions 132*c9945492SAndroid Build Coastguard Worker 133*c9945492SAndroid Build Coastguard Worker 134*c9945492SAndroid Build Coastguard Worker 135*c9945492SAndroid Build Coastguard Worker0.7.7 - more bug fixes and program-compatibility improvements 136*c9945492SAndroid Build Coastguard Worker 137*c9945492SAndroid Build Coastguard Workerfixed floating point formatting and rounding bugs in printf. 138*c9945492SAndroid Build Coastguard Worker 139*c9945492SAndroid Build Coastguard Workerfixed broken %N$ positional argument specifiers in printf. 140*c9945492SAndroid Build Coastguard Worker 141*c9945492SAndroid Build Coastguard Workerfixed misaligned read/overread bug in strchr which could lead to 142*c9945492SAndroid Build Coastguard Workercrashes scanning tiny strings at the end of a page when the next page 143*c9945492SAndroid Build Coastguard Workeris not readable, or on archs (not yet supported) that forbid 144*c9945492SAndroid Build Coastguard Workermisaligned reads. 145*c9945492SAndroid Build Coastguard Worker 146*c9945492SAndroid Build Coastguard Workerfixed breakage of statvfs on x86_64 147*c9945492SAndroid Build Coastguard Worker 148*c9945492SAndroid Build Coastguard Workerfixed crash in getmntent_r 149*c9945492SAndroid Build Coastguard Worker 150*c9945492SAndroid Build Coastguard Workerfixed bug in POSIX timers created with NULL sigevent argument 151*c9945492SAndroid Build Coastguard Worker 152*c9945492SAndroid Build Coastguard Workerimproved semaphore performance, and sem_wait is now interruptable by 153*c9945492SAndroid Build Coastguard Workersignals, as required by POSIX. 154*c9945492SAndroid Build Coastguard Worker 155*c9945492SAndroid Build Coastguard Workeradded many compatibility and system-level interfaces, increasing the 156*c9945492SAndroid Build Coastguard Workerproportion of busybox that works with musl. 157*c9945492SAndroid Build Coastguard Worker 158*c9945492SAndroid Build Coastguard Worker 159*c9945492SAndroid Build Coastguard Worker 160*c9945492SAndroid Build Coastguard Worker0.7.8 - more bug fixes and compatibility improvements 161*c9945492SAndroid Build Coastguard Worker 162*c9945492SAndroid Build Coastguard Workerfixed problems with ipv6 dns and address printing code that made ipv6 163*c9945492SAndroid Build Coastguard Workersupport practically unusable, and some other getaddrinfo bugs. 164*c9945492SAndroid Build Coastguard Worker 165*c9945492SAndroid Build Coastguard Workerfixed broken sendmsg/recvmsg functions on x86_64 (caused by incorrect 166*c9945492SAndroid Build Coastguard Workermsghdr structure). 167*c9945492SAndroid Build Coastguard Worker 168*c9945492SAndroid Build Coastguard Workerfixed broken sigsetjmp asm on x86_64. 169*c9945492SAndroid Build Coastguard Worker 170*c9945492SAndroid Build Coastguard Workerworked around a problem with input buffering on terminals reblocking 171*c9945492SAndroid Build Coastguard Workerafter getting a blank line, due to a bug in the linux readv syscall. 172*c9945492SAndroid Build Coastguard Worker 173*c9945492SAndroid Build Coastguard Workervarious improvements to the "rsyscall" system used to implement 174*c9945492SAndroid Build Coastguard Workerthreaded setuid, setgid, etc. 175*c9945492SAndroid Build Coastguard Worker 176*c9945492SAndroid Build Coastguard Workerexiting/cancelling the a timer handler thread no longer kills the 177*c9945492SAndroid Build Coastguard Workertimer. 178*c9945492SAndroid Build Coastguard Worker 179*c9945492SAndroid Build Coastguard Workerfixed incorrect trailing zeros on some %g conversions in printf. 180*c9945492SAndroid Build Coastguard Worker 181*c9945492SAndroid Build Coastguard Workerfixed buggy byte-swapping functions and moved them to inlines in 182*c9945492SAndroid Build Coastguard Workerbyteswap.h. 183*c9945492SAndroid Build Coastguard Worker 184*c9945492SAndroid Build Coastguard Workermany small improvements to header/application compatibility, support 185*c9945492SAndroid Build Coastguard Workerfor nonstandard macros, etc. 186*c9945492SAndroid Build Coastguard Worker 187*c9945492SAndroid Build Coastguard Worker 188*c9945492SAndroid Build Coastguard Worker 189*c9945492SAndroid Build Coastguard Worker0.7.9 release notes 190*c9945492SAndroid Build Coastguard Worker 191*c9945492SAndroid Build Coastguard Workernew pthread cancellation implementation: 192*c9945492SAndroid Build Coastguard Worker- safe against resource-leak/side-effect-leak race conditions 193*c9945492SAndroid Build Coastguard Worker- safe against interruption by signal handlers 194*c9945492SAndroid Build Coastguard Worker- reduced bloat in all cancellable functions 195*c9945492SAndroid Build Coastguard Worker- reduced bloat for blocking cancellation 196*c9945492SAndroid Build Coastguard Worker 197*c9945492SAndroid Build Coastguard Workernew interfaces implemented: 198*c9945492SAndroid Build Coastguard Worker- realpath (limited functionality) 199*c9945492SAndroid Build Coastguard Worker- wordexp (limited functionality) 200*c9945492SAndroid Build Coastguard Worker- flock (nonstandard) 201*c9945492SAndroid Build Coastguard Worker- forkpty (nonstandard) 202*c9945492SAndroid Build Coastguard Worker- posix_fadvise 203*c9945492SAndroid Build Coastguard Worker- posix_fallocate 204*c9945492SAndroid Build Coastguard Worker 205*c9945492SAndroid Build Coastguard Workergeneral bug fixes: 206*c9945492SAndroid Build Coastguard Worker- syslog function failure to communicate with syslogd 207*c9945492SAndroid Build Coastguard Worker- bug in siginfo_t definition if wait.h was included before signal.h 208*c9945492SAndroid Build Coastguard Worker- incorrect struct definitions for most of sysv ipc 209*c9945492SAndroid Build Coastguard Worker- pthread_exit/cancel on timer handler wrongly destroying the timer 210*c9945492SAndroid Build Coastguard Worker- linux dup2 ebusy workaround 211*c9945492SAndroid Build Coastguard Worker- obscure issues in non-threaded programs using some pthread functions 212*c9945492SAndroid Build Coastguard Worker- getopt_long allowed mismatch in last char of option name 213*c9945492SAndroid Build Coastguard Worker- incorrect parsing of obscure ip address forms 214*c9945492SAndroid Build Coastguard Worker- initgroups not working reliably (uninitialized var) 215*c9945492SAndroid Build Coastguard Worker- shadow pass treating empty expiry field as pass-expired-in-1970 216*c9945492SAndroid Build Coastguard Worker- bogus longjmp if pthread_exit was called from cancellation handlers 217*c9945492SAndroid Build Coastguard Worker 218*c9945492SAndroid Build Coastguard Workerx86_64-specific bug fixes: 219*c9945492SAndroid Build Coastguard Worker- fcntl file locking 220*c9945492SAndroid Build Coastguard Worker- thread stack alignment 221*c9945492SAndroid Build Coastguard Worker- broken select timeouts due to incorrect timeval definition 222*c9945492SAndroid Build Coastguard Worker 223*c9945492SAndroid Build Coastguard Worker 224*c9945492SAndroid Build Coastguard Worker 225*c9945492SAndroid Build Coastguard Worker0.7.10 release notes 226*c9945492SAndroid Build Coastguard Worker 227*c9945492SAndroid Build Coastguard Workernew features: 228*c9945492SAndroid Build Coastguard Worker- ipv6 numeric string parsing 229*c9945492SAndroid Build Coastguard Worker- eventfd syscall wrappers 230*c9945492SAndroid Build Coastguard Worker 231*c9945492SAndroid Build Coastguard Workeroptimizations: 232*c9945492SAndroid Build Coastguard Worker- new qsort implementation using the smoothsort algorithm 233*c9945492SAndroid Build Coastguard Worker- much smaller/faster sigset_t handling functions 234*c9945492SAndroid Build Coastguard Worker- lowered spin count before futex wait in synchronization functions 235*c9945492SAndroid Build Coastguard Worker 236*c9945492SAndroid Build Coastguard Workergeneral bug fixes: 237*c9945492SAndroid Build Coastguard Worker- incorrect floating point round-to-even behavior in printf 238*c9945492SAndroid Build Coastguard Worker- major bugs in pthread barrier implementation 239*c9945492SAndroid Build Coastguard Worker- off-by-one error in scanf %n results 240*c9945492SAndroid Build Coastguard Worker- scanf failure to report EOF when scanning for literal text 241*c9945492SAndroid Build Coastguard Worker- minor missing/incorrect prototype issues 242*c9945492SAndroid Build Coastguard Worker- dependency on undefined call order in fclose 243*c9945492SAndroid Build Coastguard Worker 244*c9945492SAndroid Build Coastguard Workercompiler issue workarounds: 245*c9945492SAndroid Build Coastguard Worker- incorrect inlining of variadic functions on recent gcc versions 246*c9945492SAndroid Build Coastguard Worker- pcc preprocessor bug with recursive macro expansion 247*c9945492SAndroid Build Coastguard Worker 248*c9945492SAndroid Build Coastguard Worker 249*c9945492SAndroid Build Coastguard Worker 250*c9945492SAndroid Build Coastguard Worker0.7.11 release notes 251*c9945492SAndroid Build Coastguard Worker 252*c9945492SAndroid Build Coastguard Workernew features: 253*c9945492SAndroid Build Coastguard Worker- integrated dynamic linker 254*c9945492SAndroid Build Coastguard Worker- dynamic loading (dlopen/dlsym) (for dynamic-linked programs only) 255*c9945492SAndroid Build Coastguard Worker- XSI search.h API 256*c9945492SAndroid Build Coastguard Worker- POSIX message queues 257*c9945492SAndroid Build Coastguard Worker- POSIX spawn interfaces 258*c9945492SAndroid Build Coastguard Worker- BSD pseudo-random number generator API (random/srandom/initstate/etc.) 259*c9945492SAndroid Build Coastguard Worker- floating point environment (limited usefulness due to gcc bugs) 260*c9945492SAndroid Build Coastguard Worker 261*c9945492SAndroid Build Coastguard Workergeneral bug fixes: 262*c9945492SAndroid Build Coastguard Worker- possible crashes with wordexp due to uninitialized variable 263*c9945492SAndroid Build Coastguard Worker- race condition in pthread_kill (also present and unfixed in glibc/nptl) 264*c9945492SAndroid Build Coastguard Worker- pthread exit destructors called too late 265*c9945492SAndroid Build Coastguard Worker- dangerous unbounded vla in glob 266*c9945492SAndroid Build Coastguard Worker- brk/sbrk legacy functions mismatching legacy semantics 267*c9945492SAndroid Build Coastguard Worker- wcsncpy dest buffer overflow 268*c9945492SAndroid Build Coastguard Worker- strncat and wcsncat possible overflows due to double-termination 269*c9945492SAndroid Build Coastguard Worker 270*c9945492SAndroid Build Coastguard Worker 271*c9945492SAndroid Build Coastguard Worker 272*c9945492SAndroid Build Coastguard Worker0.7.12 release notes 273*c9945492SAndroid Build Coastguard Worker 274*c9945492SAndroid Build Coastguard Workernew features: 275*c9945492SAndroid Build Coastguard Worker- support for textrels in shared objects 276*c9945492SAndroid Build Coastguard Worker- rpath support in dynamic linker 277*c9945492SAndroid Build Coastguard Worker- stdio_ext.h functions (for better gnu software compatibility) 278*c9945492SAndroid Build Coastguard Worker 279*c9945492SAndroid Build Coastguard Workerbug fixes: 280*c9945492SAndroid Build Coastguard Worker- some compilers miscompiling dlopen due to misuse of longjmp 281*c9945492SAndroid Build Coastguard Worker- safe handling of invalid long-double bit patterns (affects printf) 282*c9945492SAndroid Build Coastguard Worker- workaround for bugs in linux mprotect syscall 283*c9945492SAndroid Build Coastguard Worker- thread-safety for random() functions 284*c9945492SAndroid Build Coastguard Worker- various minor issues 285*c9945492SAndroid Build Coastguard Worker 286*c9945492SAndroid Build Coastguard Worker 287*c9945492SAndroid Build Coastguard Worker 288*c9945492SAndroid Build Coastguard Worker0.8.0 release notes 289*c9945492SAndroid Build Coastguard Worker 290*c9945492SAndroid Build Coastguard Workernew features: 291*c9945492SAndroid Build Coastguard Worker- chinese and japanese legacy charset support in iconv 292*c9945492SAndroid Build Coastguard Worker- zero-syscall clock_gettime support (dynamic-linked x86_64 only) 293*c9945492SAndroid Build Coastguard Worker- futex-based locking for stdio (previously used spinlocks) 294*c9945492SAndroid Build Coastguard Worker- LD_PRELOAD and RTLD_NEXT support in dynamic linker 295*c9945492SAndroid Build Coastguard Worker- strptime (mostly working but incomplete) 296*c9945492SAndroid Build Coastguard Worker- posix aio (mostly working but not entirely conformant) 297*c9945492SAndroid Build Coastguard Worker- memory streams (fmemopen, open_memstream, ...) 298*c9945492SAndroid Build Coastguard Worker- stub/dummy implementations for various useless legacy functions 299*c9945492SAndroid Build Coastguard Worker- if_nameindex 300*c9945492SAndroid Build Coastguard Worker 301*c9945492SAndroid Build Coastguard Workersecurity hardening: 302*c9945492SAndroid Build Coastguard Worker- setuid, etc. should not longer be able to "partially fail" with threads 303*c9945492SAndroid Build Coastguard Worker- ensure suid programs start with fd 0,1,2 open 304*c9945492SAndroid Build Coastguard Worker- improved openpty/forkpty failure checks 305*c9945492SAndroid Build Coastguard Worker 306*c9945492SAndroid Build Coastguard Workerthreads/synchronization bug fixes: 307*c9945492SAndroid Build Coastguard Worker- dangerous spurious wakeup in pthread_join lead to early return 308*c9945492SAndroid Build Coastguard Worker- race condition enabling async cancellation (delayed/lost cancellation) 309*c9945492SAndroid Build Coastguard Worker- destruction/unmapping race conditions in semaphores, mutexes, rwlocks 310*c9945492SAndroid Build Coastguard Worker- recursive rwlock_rdlock deadlock when a writer is waiting 311*c9945492SAndroid Build Coastguard Worker- race condition in sigqueue with fork 312*c9945492SAndroid Build Coastguard Worker- timer expiration thread exit wasn't running dtors 313*c9945492SAndroid Build Coastguard Worker- timer threads weren't blocking signals 314*c9945492SAndroid Build Coastguard Worker- close was wrongly cancellable after succeeding on some devices 315*c9945492SAndroid Build Coastguard Worker- robust mutex list was not reset on fork 316*c9945492SAndroid Build Coastguard Worker 317*c9945492SAndroid Build Coastguard Workergeneral bug fixes: 318*c9945492SAndroid Build Coastguard Worker- incorrect logic in fread (spurious blocking; crash on write-only files) 319*c9945492SAndroid Build Coastguard Worker- many corner cases and overflow cases for strtol-family functions 320*c9945492SAndroid Build Coastguard Worker- various printf integer formatting issues with flags/width/precision 321*c9945492SAndroid Build Coastguard Worker- incorrect iconv return value on failure 322*c9945492SAndroid Build Coastguard Worker- broken FD_* macros on 64-bit targets 323*c9945492SAndroid Build Coastguard Worker- clock function returning wrong value (real time not cpu time) 324*c9945492SAndroid Build Coastguard Worker- siglongjmp signal mask clobbering (off-by-one pointer error) 325*c9945492SAndroid Build Coastguard Worker- dynamic linker weak symbol resolution issues 326*c9945492SAndroid Build Coastguard Worker- fdopendir failure to set errno 327*c9945492SAndroid Build Coastguard Worker- various minor header fixes 328*c9945492SAndroid Build Coastguard Worker 329*c9945492SAndroid Build Coastguard Worker 330*c9945492SAndroid Build Coastguard Worker 331*c9945492SAndroid Build Coastguard Worker0.8.1 release notes 332*c9945492SAndroid Build Coastguard Worker 333*c9945492SAndroid Build Coastguard Workerbug fixes: 334*c9945492SAndroid Build Coastguard Worker- mismatching prototypes caused build failure on 64-bit 335*c9945492SAndroid Build Coastguard Worker- other minor prototype errors in the headers have been fixed 336*c9945492SAndroid Build Coastguard Worker- various other small omissions fixed 337*c9945492SAndroid Build Coastguard Worker 338*c9945492SAndroid Build Coastguard Worker 339*c9945492SAndroid Build Coastguard Worker 340*c9945492SAndroid Build Coastguard Worker0.8.2 release notes 341*c9945492SAndroid Build Coastguard Worker 342*c9945492SAndroid Build Coastguard Workernew features: 343*c9945492SAndroid Build Coastguard Worker- ptrace syscall support 344*c9945492SAndroid Build Coastguard Worker 345*c9945492SAndroid Build Coastguard Workerbug fixes: 346*c9945492SAndroid Build Coastguard Worker- const error (only a warning with many compilers) in lio_listio 347*c9945492SAndroid Build Coastguard Worker- minor portability fixes aimed at supporting new arch targets 348*c9945492SAndroid Build Coastguard Worker 349*c9945492SAndroid Build Coastguard Worker 350*c9945492SAndroid Build Coastguard Worker 351*c9945492SAndroid Build Coastguard Worker0.8.3 release notes 352*c9945492SAndroid Build Coastguard Worker 353*c9945492SAndroid Build Coastguard Workernew features: 354*c9945492SAndroid Build Coastguard Worker- arm port (experimental) 355*c9945492SAndroid Build Coastguard Worker- better musl-gcc wrapper script for building against musl 356*c9945492SAndroid Build Coastguard Worker- added clone system call 357*c9945492SAndroid Build Coastguard Worker 358*c9945492SAndroid Build Coastguard Workerbug fixes: 359*c9945492SAndroid Build Coastguard Worker- numerous header file typos, copy/paste errors, omissions 360*c9945492SAndroid Build Coastguard Worker- statfs and statvfs ABI are now LSB-conformant (and actually work) 361*c9945492SAndroid Build Coastguard Worker 362*c9945492SAndroid Build Coastguard Worker 363*c9945492SAndroid Build Coastguard Worker 364*c9945492SAndroid Build Coastguard Worker0.8.4 release notes 365*c9945492SAndroid Build Coastguard Worker 366*c9945492SAndroid Build Coastguard Workernew features: 367*c9945492SAndroid Build Coastguard Worker- arm dynamic linker support 368*c9945492SAndroid Build Coastguard Worker- process-shared pthread barriers now work 369*c9945492SAndroid Build Coastguard Worker- efficient futex-requeue-based cond var broadcast 370*c9945492SAndroid Build Coastguard Worker- more optional cancellation points are now cancellable 371*c9945492SAndroid Build Coastguard Worker- printf accepts null pointers with %s, prints as "(null)" 372*c9945492SAndroid Build Coastguard Worker- recursive mutexes are now fully reentrant 373*c9945492SAndroid Build Coastguard Worker- __cxa_atexit support 374*c9945492SAndroid Build Coastguard Worker- real vfork 375*c9945492SAndroid Build Coastguard Worker- dynamic linker now gold-compatible 376*c9945492SAndroid Build Coastguard Worker- prlimit syscall 377*c9945492SAndroid Build Coastguard Worker- support for large limits with setrlimit/getrlimit (even on 32-bit) 378*c9945492SAndroid Build Coastguard Worker- glob now supports GLOB_PERIOD option (GNU extension) 379*c9945492SAndroid Build Coastguard Worker 380*c9945492SAndroid Build Coastguard Workerbug fixes: 381*c9945492SAndroid Build Coastguard Worker- many serious issues in condition variables 382*c9945492SAndroid Build Coastguard Worker- rwlock failure-to-wake deadlock issues 383*c9945492SAndroid Build Coastguard Worker- various small header files bugs/omissions 384*c9945492SAndroid Build Coastguard Worker- wrong failure return for pthread_create 385*c9945492SAndroid Build Coastguard Worker- path handling issues on execvp 386*c9945492SAndroid Build Coastguard Worker- lock count corruption with robust recursive mutexes on owner death 387*c9945492SAndroid Build Coastguard Worker- integer overflows in atoi, etc. reading most-negative value 388*c9945492SAndroid Build Coastguard Worker- spurious mremaps on every realloc of large memory chunks 389*c9945492SAndroid Build Coastguard Worker- pthread cancellation failure in single-threaded programs 390*c9945492SAndroid Build Coastguard Worker 391*c9945492SAndroid Build Coastguard Workersecurity: 392*c9945492SAndroid Build Coastguard Worker- avoid fd_set overflow in dns lookups 393*c9945492SAndroid Build Coastguard Worker 394*c9945492SAndroid Build Coastguard Worker 395*c9945492SAndroid Build Coastguard Worker 396*c9945492SAndroid Build Coastguard Worker0.8.5 release notes 397*c9945492SAndroid Build Coastguard Worker 398*c9945492SAndroid Build Coastguard Workernew features: 399*c9945492SAndroid Build Coastguard Worker- stdio operations are now cancellable (only when low-level io happens) 400*c9945492SAndroid Build Coastguard Worker- global ctor/dtor support in main program start code and shared libs 401*c9945492SAndroid Build Coastguard Worker- dynamic linker support for PIE executables (but missing startup code) 402*c9945492SAndroid Build Coastguard Worker- vfork support on x86_64 403*c9945492SAndroid Build Coastguard Worker- complete set of locale_t functions (all ignore the locale argument) 404*c9945492SAndroid Build Coastguard Worker- provide define float_t and double_t in math.h 405*c9945492SAndroid Build Coastguard Worker- lighter/faster cancellation cleanup handler register/unregister 406*c9945492SAndroid Build Coastguard Worker 407*c9945492SAndroid Build Coastguard Workerbug fixes: 408*c9945492SAndroid Build Coastguard Worker- gcc wrapper now supports -shared, -nostdlib, -nostartfiles 409*c9945492SAndroid Build Coastguard Worker- removed one wrongly-classified character from iswspace set (zwsp) 410*c9945492SAndroid Build Coastguard Worker- fixed crashes in dns lookup on some errors, e.g. resolv.conf missing 411*c9945492SAndroid Build Coastguard Worker- "make install" no longer tries to build shared libc if disabled 412*c9945492SAndroid Build Coastguard Worker- ptrace argument handling bugs fixed 413*c9945492SAndroid Build Coastguard Worker- work around visibility-hidden bugs in gcc 3.x 414*c9945492SAndroid Build Coastguard Worker- fix thread-pointer-loss issue when it's initialized in signal handlers 415*c9945492SAndroid Build Coastguard Worker- various minor typo/misc fixes in headers 416*c9945492SAndroid Build Coastguard Worker 417*c9945492SAndroid Build Coastguard Workercompatibility: 418*c9945492SAndroid Build Coastguard Worker- glob behaves more like traditional implementations w.r.t. GLOB_MARK 419*c9945492SAndroid Build Coastguard Worker- added legacy futimes, lutimes functions 420*c9945492SAndroid Build Coastguard Worker- more compatibility macros in sys/param.h (nonstandard header) 421*c9945492SAndroid Build Coastguard Worker- setfs[ug]id syscall wrappers (linux specific) 422*c9945492SAndroid Build Coastguard Worker- fgetpwent function (nonstandard) 423*c9945492SAndroid Build Coastguard Worker- utmp.h matches traditional version more closely 424*c9945492SAndroid Build Coastguard Worker- caddr_t now matches glibc type (void * instead of long) 425*c9945492SAndroid Build Coastguard Worker- dummy (always-fail) dlopen and dlsym functions for static linked programs 426*c9945492SAndroid Build Coastguard Worker- [efg]cvt functions (previously posix, removed from standard) 427*c9945492SAndroid Build Coastguard Worker- get_current_dir_name function (nonstandard) 428*c9945492SAndroid Build Coastguard Worker 429*c9945492SAndroid Build Coastguard Worker 430*c9945492SAndroid Build Coastguard Worker 431*c9945492SAndroid Build Coastguard Worker0.8.6 release notes 432*c9945492SAndroid Build Coastguard Worker 433*c9945492SAndroid Build Coastguard Workerbug fixes: 434*c9945492SAndroid Build Coastguard Worker- fix crash in dns lookups for all static-linked, non-threaded programs 435*c9945492SAndroid Build Coastguard Worker 436*c9945492SAndroid Build Coastguard Worker 437*c9945492SAndroid Build Coastguard Worker 438*c9945492SAndroid Build Coastguard Worker0.8.7 release notes 439*c9945492SAndroid Build Coastguard Worker 440*c9945492SAndroid Build Coastguard Workernew features: 441*c9945492SAndroid Build Coastguard Worker- c++ support with g++'s libstdc++ 442*c9945492SAndroid Build Coastguard Worker- c99 math library (float, long double, complex, etc.) 443*c9945492SAndroid Build Coastguard Worker- numerous wchar_t functions 444*c9945492SAndroid Build Coastguard Worker- a64l, l64a functions 445*c9945492SAndroid Build Coastguard Worker- getdate function 446*c9945492SAndroid Build Coastguard Worker 447*c9945492SAndroid Build Coastguard Workercompatibility: 448*c9945492SAndroid Build Coastguard Worker- c89 compatibility in math.h 449*c9945492SAndroid Build Coastguard Worker- syscall.h alias for sys/syscall.h 450*c9945492SAndroid Build Coastguard Worker- memory.h alias for string.h 451*c9945492SAndroid Build Coastguard Worker- getcwd supports null buffer argument (auto-allocation) 452*c9945492SAndroid Build Coastguard Worker 453*c9945492SAndroid Build Coastguard Workerbug fixes: 454*c9945492SAndroid Build Coastguard Worker- major fenv (floating point environment) fixes and optimizations 455*c9945492SAndroid Build Coastguard Worker- strptime mishandling of day/month names 456*c9945492SAndroid Build Coastguard Worker- strtoull wrongly rejecting the highest 16 possible values as overflow 457*c9945492SAndroid Build Coastguard Worker- math.h constant expression fixes for INFINITY/NAN/etc. 458*c9945492SAndroid Build Coastguard Worker- scanf mishandling of "0" with "%x" 459*c9945492SAndroid Build Coastguard Worker 460*c9945492SAndroid Build Coastguard Worker 461*c9945492SAndroid Build Coastguard Worker 462*c9945492SAndroid Build Coastguard Worker0.8.8 release notes 463*c9945492SAndroid Build Coastguard Worker 464*c9945492SAndroid Build Coastguard Workernew feature: 465*c9945492SAndroid Build Coastguard Worker- major math correctness and performance improvements 466*c9945492SAndroid Build Coastguard Worker- many math functions implemented in asm for i386 467*c9945492SAndroid Build Coastguard Worker- some math functions (mostly long double) in asm for x86_64 468*c9945492SAndroid Build Coastguard Worker- new floating point parser/converter with correct rounding 469*c9945492SAndroid Build Coastguard Worker- implement wcstod, wcstof, and wcstold 470*c9945492SAndroid Build Coastguard Worker- new scanf implementation - cleaner, faster, more correct 471*c9945492SAndroid Build Coastguard Worker- minimal/incomplete strfmon implementation 472*c9945492SAndroid Build Coastguard Worker 473*c9945492SAndroid Build Coastguard Workercompatibility: 474*c9945492SAndroid Build Coastguard Worker- header fixes for c++ 475*c9945492SAndroid Build Coastguard Worker- regex code resync with TRE; support common regex extensions 476*c9945492SAndroid Build Coastguard Worker- support for compiling apps with gcc's -funsigned-char 477*c9945492SAndroid Build Coastguard Worker- sysconf now returns dynamic limits for open files, processes 478*c9945492SAndroid Build Coastguard Worker- give dlerror proper error status stickiness 479*c9945492SAndroid Build Coastguard Worker- make alloca work even with -fno-builtin 480*c9945492SAndroid Build Coastguard Worker 481*c9945492SAndroid Build Coastguard Workercritical security fixes: 482*c9945492SAndroid Build Coastguard Worker- stack-based buffer overflow in fprintf on unbuffered files 483*c9945492SAndroid Build Coastguard Worker 484*c9945492SAndroid Build Coastguard Workerother bug fixes: 485*c9945492SAndroid Build Coastguard Worker- rare gcc register allocation (miscompilation) bug in syscall wrappers 486*c9945492SAndroid Build Coastguard Worker- printf was rejecting the valid (but redundant) %lf format specifier 487*c9945492SAndroid Build Coastguard Worker- fixed big data bloat (missing const) in math functions 488*c9945492SAndroid Build Coastguard Worker- many math fixes related to floating point exceptions and rounding 489*c9945492SAndroid Build Coastguard Worker- corrected DECIMAL_DIG definitions 490*c9945492SAndroid Build Coastguard Worker- tgammal was wrongly setting global signgam 491*c9945492SAndroid Build Coastguard Worker- crash in wordfree with uninitialized we_offs 492*c9945492SAndroid Build Coastguard Worker- fix wordexp not null-initializing the we_offs initial slots 493*c9945492SAndroid Build Coastguard Worker 494*c9945492SAndroid Build Coastguard Worker 495*c9945492SAndroid Build Coastguard Worker 496*c9945492SAndroid Build Coastguard Worker0.8.9 release notes 497*c9945492SAndroid Build Coastguard Worker 498*c9945492SAndroid Build Coastguard Workerbug fixes: 499*c9945492SAndroid Build Coastguard Worker- major breakage in strtol and family: failure to accept leading spaces 500*c9945492SAndroid Build Coastguard Worker- incorrect name for MATH_ERREXCEPT in math.h 501*c9945492SAndroid Build Coastguard Worker 502*c9945492SAndroid Build Coastguard Workercompatibility: 503*c9945492SAndroid Build Coastguard Worker- prototypes for a few additional nonstandard functions 504*c9945492SAndroid Build Coastguard Worker 505*c9945492SAndroid Build Coastguard Worker 506*c9945492SAndroid Build Coastguard Worker 507*c9945492SAndroid Build Coastguard Worker0.8.10 release notes 508*c9945492SAndroid Build Coastguard Worker 509*c9945492SAndroid Build Coastguard Workernew features: 510*c9945492SAndroid Build Coastguard Worker- correct over/underflow detection (ERANGE setting) for strtod 511*c9945492SAndroid Build Coastguard Worker- new musl-gcc wrapper, specfile based, faster and more robust 512*c9945492SAndroid Build Coastguard Worker- meaningful return strings for dlerror 513*c9945492SAndroid Build Coastguard Worker- new iswalpha, iswpunct, and wcwidth; sync'd to Unicode 6.1 514*c9945492SAndroid Build Coastguard Worker- towupper/towlower sync'd with Unicode 6.1 515*c9945492SAndroid Build Coastguard Worker- new futex-based libc-internal locks instead of spinlocks 516*c9945492SAndroid Build Coastguard Worker- experimental stack protector support (minimal; no random canary) 517*c9945492SAndroid Build Coastguard Worker- experimental gdb shared library tracking support 518*c9945492SAndroid Build Coastguard Worker 519*c9945492SAndroid Build Coastguard Workercompatibility: 520*c9945492SAndroid Build Coastguard Worker- getusershell family functions 521*c9945492SAndroid Build Coastguard Worker- getresuid and getresgid syscall wrappers 522*c9945492SAndroid Build Coastguard Worker- byte swapping macros in endian.h 523*c9945492SAndroid Build Coastguard Worker- getdtablesize was wrongly declared in unistd.h for _XOPEN_SOURCE 524*c9945492SAndroid Build Coastguard Worker 525*c9945492SAndroid Build Coastguard Workerbug fixes: 526*c9945492SAndroid Build Coastguard Worker- iconv_open wrongly rejecting most dest charsets (broken in 0.8.0) 527*c9945492SAndroid Build Coastguard Worker- sysconf failure when correct value is -1 (broken in 0.8.8) 528*c9945492SAndroid Build Coastguard Worker- scanf and strtod family functions overreading past NAN (4 bytes vs 3) 529*c9945492SAndroid Build Coastguard Worker- scanf and strtod wrongly treating "0.00000000001", etc. as 0 530*c9945492SAndroid Build Coastguard Worker- many bugs in towupper/towlower (never seriously tested before) 531*c9945492SAndroid Build Coastguard Worker- int8_t definition was wrong when gcc -funsigned-char was used 532*c9945492SAndroid Build Coastguard Worker 533*c9945492SAndroid Build Coastguard Worker 534*c9945492SAndroid Build Coastguard Worker 535*c9945492SAndroid Build Coastguard Worker0.9.0 release notes 536*c9945492SAndroid Build Coastguard Worker 537*c9945492SAndroid Build Coastguard Workerlicense change: MIT 538*c9945492SAndroid Build Coastguard Worker 539*c9945492SAndroid Build Coastguard Workernew features: 540*c9945492SAndroid Build Coastguard Worker- configure script, improved build system 541*c9945492SAndroid Build Coastguard Worker- full stack protector support 542*c9945492SAndroid Build Coastguard Worker- PIE support on x86 and x86_64 543*c9945492SAndroid Build Coastguard Worker- new O(1) space, O(nm) time implementation of fnmatch 544*c9945492SAndroid Build Coastguard Worker- improved support for sse2 floating point mode on x86 545*c9945492SAndroid Build Coastguard Worker 546*c9945492SAndroid Build Coastguard Workercompatibility: 547*c9945492SAndroid Build Coastguard Worker- added linux unshare syscall 548*c9945492SAndroid Build Coastguard Worker- exp10/pow10 function 549*c9945492SAndroid Build Coastguard Worker- sqrtl support on arm (previously missing) 550*c9945492SAndroid Build Coastguard Worker- removed minimal linux/*.h headers that could conflict with real ones 551*c9945492SAndroid Build Coastguard Worker- support for _LARGEFILE64_SOURCE (mapped to standard fcns with #define) 552*c9945492SAndroid Build Coastguard Worker- better c89 compatibility in headers 553*c9945492SAndroid Build Coastguard Worker- stub versions of sched_* functions (previously missing) 554*c9945492SAndroid Build Coastguard Worker- pthread stacks no longer executable (compat with hardened kernels) 555*c9945492SAndroid Build Coastguard Worker- new ar.h and lastlog.h (legacy junk) 556*c9945492SAndroid Build Coastguard Worker- various other header improvements 557*c9945492SAndroid Build Coastguard Worker 558*c9945492SAndroid Build Coastguard Workeroptimization: 559*c9945492SAndroid Build Coastguard Worker- additional x86_64 math asm 560*c9945492SAndroid Build Coastguard Worker- better formula for acos use in i386 asm 561*c9945492SAndroid Build Coastguard Worker 562*c9945492SAndroid Build Coastguard Workerbug fixes: 563*c9945492SAndroid Build Coastguard Worker- large (up to a few %) errors in strtod for certain values due to bug 564*c9945492SAndroid Build Coastguard Worker- mbsnrtowcs and wcsnrtombs were completely broken (bad exit logic) 565*c9945492SAndroid Build Coastguard Worker- wide printf %.0s could fail due to uninitialized variable 566*c9945492SAndroid Build Coastguard Worker- missing dlerror strings for dlsym in some cases 567*c9945492SAndroid Build Coastguard Worker 568*c9945492SAndroid Build Coastguard Worker 569*c9945492SAndroid Build Coastguard Worker 570*c9945492SAndroid Build Coastguard Worker0.9.1 release notes 571*c9945492SAndroid Build Coastguard Worker 572*c9945492SAndroid Build Coastguard Workernew features: 573*c9945492SAndroid Build Coastguard Worker- dynamic linker can be used as a program to explicitly load/run executables 574*c9945492SAndroid Build Coastguard Worker- ldd command, usable by making a symlink to the dynamic linker named ldd 575*c9945492SAndroid Build Coastguard Worker 576*c9945492SAndroid Build Coastguard Workerbug fixes: 577*c9945492SAndroid Build Coastguard Worker- major bugs in POSIX BRE parsing inherited from TRE regex code 578*c9945492SAndroid Build Coastguard Worker- character matching bug in regex on ARM: WCHAR_MAX was assumed to be signed 579*c9945492SAndroid Build Coastguard Worker- various obscure fixes related to signals and pthread cancellation 580*c9945492SAndroid Build Coastguard Worker- remquot subnormal remainder bug 581*c9945492SAndroid Build Coastguard Worker- buggy macros in (nonstandard) sys/param.h 582*c9945492SAndroid Build Coastguard Worker- major bug in pthread barriers on x86_64 (out of bounds write) 583*c9945492SAndroid Build Coastguard Worker- utimes (legacy) function was making wrong syscall (utime instead of utimes) 584*c9945492SAndroid Build Coastguard Worker- avoid using "old" syscalls that don't exist on arm eabi linux 585*c9945492SAndroid Build Coastguard Worker- broken strrchr(str, 0) 586*c9945492SAndroid Build Coastguard Worker- broken mbsinit(0) 587*c9945492SAndroid Build Coastguard Worker- broken wcsncmp 588*c9945492SAndroid Build Coastguard Worker- syntax error in nextafter macro in tgmath.h 589*c9945492SAndroid Build Coastguard Worker- missing support for -pie in musl-gcc wrapper 590*c9945492SAndroid Build Coastguard Worker- abort could wrongly fail to terminate the program in some cases 591*c9945492SAndroid Build Coastguard Worker 592*c9945492SAndroid Build Coastguard Workercompatibility: 593*c9945492SAndroid Build Coastguard Worker- increase default thread stack size to 80k 594*c9945492SAndroid Build Coastguard Worker- support _BSD_SOURCE feature test macro 595*c9945492SAndroid Build Coastguard Worker- support _LARGEFILE64_SOURCE feature test macro (merely exposes alt names) 596*c9945492SAndroid Build Coastguard Worker- lots of legacy-compatibility improvements in headers 597*c9945492SAndroid Build Coastguard Worker- various minor GNU extension functions 598*c9945492SAndroid Build Coastguard Worker- sysconf reporting number of available CPUs/cores 599*c9945492SAndroid Build Coastguard Worker- various LSB/glibc ABI interfaces aimed at compatibility with some binaries 600*c9945492SAndroid Build Coastguard Worker- use fistpll asm mnemonic instead of fistpq for compat with clang 601*c9945492SAndroid Build Coastguard Worker 602*c9945492SAndroid Build Coastguard Worker 603*c9945492SAndroid Build Coastguard Worker 604*c9945492SAndroid Build Coastguard Worker0.9.2 release notes 605*c9945492SAndroid Build Coastguard Worker 606*c9945492SAndroid Build Coastguard Workerbug fixes: 607*c9945492SAndroid Build Coastguard Worker- pointer overflow in printf (crash on 32bit userspace, 64bit kernel) 608*c9945492SAndroid Build Coastguard Worker- printf %ls over-read bug 609*c9945492SAndroid Build Coastguard Worker- strtod failure to read -0x as negative zero 610*c9945492SAndroid Build Coastguard Worker- flush stdio after dtors, not before 611*c9945492SAndroid Build Coastguard Worker- wrong file position for buffered input streams on exit 612*c9945492SAndroid Build Coastguard Worker- popen was broken when stdin/out were already closed 613*c9945492SAndroid Build Coastguard Worker- broken wcwidth tables (missing many characters) 614*c9945492SAndroid Build Coastguard Worker- fwrite: wrong return value of partial/failed write 615*c9945492SAndroid Build Coastguard Worker- broken utf-16 conversions 616*c9945492SAndroid Build Coastguard Worker- bad buffer length check in getlogin_r 617*c9945492SAndroid Build Coastguard Worker- bad perror("") behavior; did not match perror(0) 618*c9945492SAndroid Build Coastguard Worker- broken sysinfo syscall/structure 619*c9945492SAndroid Build Coastguard Worker- stdint.h const macro signedness bugs 620*c9945492SAndroid Build Coastguard Worker- broken include guards in some headers 621*c9945492SAndroid Build Coastguard Worker- bogus localeconv values 622*c9945492SAndroid Build Coastguard Worker- cancellation-safety for popen and pclose 623*c9945492SAndroid Build Coastguard Worker- fma corner cases wrong on i386 624*c9945492SAndroid Build Coastguard Worker- fcntl F_GETOWN errno missing on failure. 625*c9945492SAndroid Build Coastguard Worker- char signedness bug in dynamic linker broke dlopen on arm 626*c9945492SAndroid Build Coastguard Worker- mprotect failure in dynamic linker caused crash instead of error 627*c9945492SAndroid Build Coastguard Worker 628*c9945492SAndroid Build Coastguard Workerbuild system: 629*c9945492SAndroid Build Coastguard Worker- configure check to work around hacked-up gcc versions 630*c9945492SAndroid Build Coastguard Worker- test for old binutils that can't support musl dynamic linker 631*c9945492SAndroid Build Coastguard Worker 632*c9945492SAndroid Build Coastguard Workercompatibility: 633*c9945492SAndroid Build Coastguard Worker- make _GNU_SOURCE imply _LARGEFILE64_SOURCE 634*c9945492SAndroid Build Coastguard Worker- syscall wrapper for lots of nonstandard and/or legacy linux syscalls 635*c9945492SAndroid Build Coastguard Worker- versionsort stub 636*c9945492SAndroid Build Coastguard Worker- timegm function (inverse of gmtime) 637*c9945492SAndroid Build Coastguard Worker- various minor header tweaks 638*c9945492SAndroid Build Coastguard Worker- make __freading/__fwriting semantics match traditional ones 639*c9945492SAndroid Build Coastguard Worker- added gnulib-compatibility stdio interfaces 640*c9945492SAndroid Build Coastguard Worker- added pthread_attr_setstack interface 641*c9945492SAndroid Build Coastguard Worker- make strerror_r return partial string when buffer is too small 642*c9945492SAndroid Build Coastguard Worker- duplocale should accept LC_GLOBAL_LOCALE 643*c9945492SAndroid Build Coastguard Worker- align ptsname_r to upcoming posix requirements 644*c9945492SAndroid Build Coastguard Worker- support invalid ld80 bit patterns as extra nans. 645*c9945492SAndroid Build Coastguard Worker 646*c9945492SAndroid Build Coastguard Worker 647*c9945492SAndroid Build Coastguard Worker 648*c9945492SAndroid Build Coastguard Worker0.9.3 release notes 649*c9945492SAndroid Build Coastguard Worker 650*c9945492SAndroid Build Coastguard Workernew features: 651*c9945492SAndroid Build Coastguard Worker- mips (32-bit, o32 abi) port, currently static-linked only 652*c9945492SAndroid Build Coastguard Worker- newly overhauled crypt implementation 653*c9945492SAndroid Build Coastguard Worker- improved library pathname info for debugger from the dynamic linker 654*c9945492SAndroid Build Coastguard Worker- getaddrinfo (and getservbyname) now support /etc/services lookups 655*c9945492SAndroid Build Coastguard Worker- pipe2 syscall wrapper 656*c9945492SAndroid Build Coastguard Worker- splice and vmsplice syscall wrappers 657*c9945492SAndroid Build Coastguard Worker- syscall wrappers for extended attribute interfaces 658*c9945492SAndroid Build Coastguard Worker- ioperm/iopl syscall wrappers on archs that support these operations 659*c9945492SAndroid Build Coastguard Worker 660*c9945492SAndroid Build Coastguard Workerbug fixes: 661*c9945492SAndroid Build Coastguard Worker- dlsym RTLD_NEXT library search order was wrong 662*c9945492SAndroid Build Coastguard Worker- multiple dlopen pathname and library name handling errors 663*c9945492SAndroid Build Coastguard Worker- potential race condition in detached thread exit 664*c9945492SAndroid Build Coastguard Worker- broken internal-lock-handling code not updated for futex-based __lock 665*c9945492SAndroid Build Coastguard Worker- sem_trywait spurious EAGAIN errors arising from CAS failures 666*c9945492SAndroid Build Coastguard Worker- workaround kernel bug in cmsghdr size_t vs socklen_t issue (64-bit) 667*c9945492SAndroid Build Coastguard Worker- getservby* crash on null protocol argument 668*c9945492SAndroid Build Coastguard Worker- logic error skipping failed interfaces in if_nameindex 669*c9945492SAndroid Build Coastguard Worker- various minor header/declaration related issues 670*c9945492SAndroid Build Coastguard Worker 671*c9945492SAndroid Build Coastguard Workerarm-specific bug fixes: 672*c9945492SAndroid Build Coastguard Worker- broken crti/crtn startup code when gcc crtbegin/end files are linked 673*c9945492SAndroid Build Coastguard Worker- sigsetjmp tail call optimization failure broke the function 674*c9945492SAndroid Build Coastguard Worker- incorrect little-endian assumptions in atomic.h functions 675*c9945492SAndroid Build Coastguard Worker- use of blx instruction in asm (not supported on pre-v5 arm) 676*c9945492SAndroid Build Coastguard Worker 677*c9945492SAndroid Build Coastguard Workerbuild system: 678*c9945492SAndroid Build Coastguard Worker- only use expensive -ffloat-store cflag on archs/compilers that need it 679*c9945492SAndroid Build Coastguard Worker- make musl-gcc wrapper support -lgcc (mainly for self-hosting) 680*c9945492SAndroid Build Coastguard Worker 681*c9945492SAndroid Build Coastguard Worker 682*c9945492SAndroid Build Coastguard Worker 683*c9945492SAndroid Build Coastguard Worker0.9.4 release notes 684*c9945492SAndroid Build Coastguard Worker 685*c9945492SAndroid Build Coastguard Workernew features: 686*c9945492SAndroid Build Coastguard Worker- blowfish crypt 687*c9945492SAndroid Build Coastguard Worker- dynamic linking on mips 688*c9945492SAndroid Build Coastguard Worker- arm hard float support 689*c9945492SAndroid Build Coastguard Worker- BSD fgetln function in stdio 690*c9945492SAndroid Build Coastguard Worker- minor header improvements for compatibility 691*c9945492SAndroid Build Coastguard Worker- support for CROSS_COMPILE variable to configure 692*c9945492SAndroid Build Coastguard Worker- legacy significand function 693*c9945492SAndroid Build Coastguard Worker- better support for SUSv3-targeted programs 694*c9945492SAndroid Build Coastguard Worker 695*c9945492SAndroid Build Coastguard Workerperformance: 696*c9945492SAndroid Build Coastguard Worker- assembly (string ops based) memcpy for i386 and x86_64 697*c9945492SAndroid Build Coastguard Worker- reduce printf overhead 698*c9945492SAndroid Build Coastguard Worker 699*c9945492SAndroid Build Coastguard Workerbug fixes: 700*c9945492SAndroid Build Coastguard Worker- failure of strtod, etc. to process extremely long strings correctly 701*c9945492SAndroid Build Coastguard Worker- read overrun in wcsstr for short needles 702*c9945492SAndroid Build Coastguard Worker- various major mips issues that prevented most software from working 703*c9945492SAndroid Build Coastguard Worker- erroneous floating point exception behavior in i386/x86_64 exp asm 704*c9945492SAndroid Build Coastguard Worker- crashes on null arguments to legacy err.h functions 705*c9945492SAndroid Build Coastguard Worker- various header file/type issues 706*c9945492SAndroid Build Coastguard Worker- extremely rare/obscure race condition with robust mutexes 707*c9945492SAndroid Build Coastguard Worker- crypt now never returns null (most programs don't check, then crash) 708*c9945492SAndroid Build Coastguard Worker- missing xattr remove functions 709*c9945492SAndroid Build Coastguard Worker 710*c9945492SAndroid Build Coastguard Worker 711*c9945492SAndroid Build Coastguard Worker 712*c9945492SAndroid Build Coastguard Worker0.9.5 release notes 713*c9945492SAndroid Build Coastguard Worker 714*c9945492SAndroid Build Coastguard Workercompatibility and headers: 715*c9945492SAndroid Build Coastguard Worker- POSIX+XSI+BSD features enabled by default with no macros defined 716*c9945492SAndroid Build Coastguard Worker- most programs can now be built without adding -D_GNU_SOURCE 717*c9945492SAndroid Build Coastguard Worker- added C99 restrict keyword where required in all prototypes 718*c9945492SAndroid Build Coastguard Worker- greater C89 compatibility 719*c9945492SAndroid Build Coastguard Worker- cleaner, more-compatible public syscall.h 720*c9945492SAndroid Build Coastguard Worker- many other header fixes 721*c9945492SAndroid Build Coastguard Worker- support for compiling musl with clang/llvm 722*c9945492SAndroid Build Coastguard Worker 723*c9945492SAndroid Build Coastguard Workernew features: 724*c9945492SAndroid Build Coastguard Worker- sha 256/512 password hash functions in crypt 725*c9945492SAndroid Build Coastguard Worker- GNU hash support in dynamic linker 726*c9945492SAndroid Build Coastguard Worker- partial C11 coverage 727*c9945492SAndroid Build Coastguard Worker- dladdr function added 728*c9945492SAndroid Build Coastguard Worker- dynamic linker reports all errors instead of exiting on first error 729*c9945492SAndroid Build Coastguard Worker- syscall wrappers added for most remaining linux syscalls 730*c9945492SAndroid Build Coastguard Worker- provide POSIX O_SEARCH open mode using linux O_PATH 731*c9945492SAndroid Build Coastguard Worker 732*c9945492SAndroid Build Coastguard Workerbug fixes: 733*c9945492SAndroid Build Coastguard Worker- most atexit functions were being skipped when exiting 734*c9945492SAndroid Build Coastguard Worker- some BSD functions were not being exposed under _BSD_SOURCE 735*c9945492SAndroid Build Coastguard Worker- issues loading ssp-protected DSO into non-ssp program with dlopen 736*c9945492SAndroid Build Coastguard Worker 737*c9945492SAndroid Build Coastguard Workerdebloating: 738*c9945492SAndroid Build Coastguard Worker- eliminate .eh_frame (10-15% loaded size bloat) 739*c9945492SAndroid Build Coastguard Worker- optimal inline syscall asm for ARM and MIPS 740*c9945492SAndroid Build Coastguard Worker- no longer force -O3 for shared libs 741*c9945492SAndroid Build Coastguard Worker 742*c9945492SAndroid Build Coastguard Worker 743*c9945492SAndroid Build Coastguard Worker 744*c9945492SAndroid Build Coastguard Worker0.9.6 release notes 745*c9945492SAndroid Build Coastguard Worker 746*c9945492SAndroid Build Coastguard Workerbug fixes: 747*c9945492SAndroid Build Coastguard Worker- serious breakage in definition of O_ACCMODE mask (missing a bit) 748*c9945492SAndroid Build Coastguard Worker 749*c9945492SAndroid Build Coastguard Workernew features: 750*c9945492SAndroid Build Coastguard Worker- O_EXEC open mode 751*c9945492SAndroid Build Coastguard Worker- md5 crypt hash function 752*c9945492SAndroid Build Coastguard Worker 753*c9945492SAndroid Build Coastguard Worker 754*c9945492SAndroid Build Coastguard Worker 755*c9945492SAndroid Build Coastguard Worker0.9.7 release notes 756*c9945492SAndroid Build Coastguard Worker 757*c9945492SAndroid Build Coastguard Workernew features: 758*c9945492SAndroid Build Coastguard Worker- thread-local storage (__thread/_Thread_local) 759*c9945492SAndroid Build Coastguard Worker- microblaze port 760*c9945492SAndroid Build Coastguard Worker- getopt option parsing reset support 761*c9945492SAndroid Build Coastguard Worker- vsyscall (sysenter, etc.) support on i386 (faster syscalls) 762*c9945492SAndroid Build Coastguard Worker- memmem function (GNU extension) 763*c9945492SAndroid Build Coastguard Worker- mips fenv support 764*c9945492SAndroid Build Coastguard Worker- accept "nan(n-char-sequence)" in strtod/scanf family functions 765*c9945492SAndroid Build Coastguard Worker- configure now supports compiling with pcc 766*c9945492SAndroid Build Coastguard Worker 767*c9945492SAndroid Build Coastguard Workerquality and correctness improvements: 768*c9945492SAndroid Build Coastguard Worker- close-on-exec flag for all library-internal file descriptors 769*c9945492SAndroid Build Coastguard Worker- cancellation-safety and corner-case overhaul in shm_open/sem_open 770*c9945492SAndroid Build Coastguard Worker- close EINTR vs EINPROGRESS issue 771*c9945492SAndroid Build Coastguard Worker- mark binaries as not requiring executable stack 772*c9945492SAndroid Build Coastguard Worker- better gdb compatibility in dynamic linker 773*c9945492SAndroid Build Coastguard Worker- support recursive dlopen (dlopen called from constructors) 774*c9945492SAndroid Build Coastguard Worker- posix_spawn/system/popen no longer momentarily double commit charge 775*c9945492SAndroid Build Coastguard Worker- all stdio functions wait for locks 776*c9945492SAndroid Build Coastguard Worker 777*c9945492SAndroid Build Coastguard Workerbug fixes: 778*c9945492SAndroid Build Coastguard Worker- broken sysvipc *ctl functions on 64-bit archs 779*c9945492SAndroid Build Coastguard Worker- broken shmdt on some archs 780*c9945492SAndroid Build Coastguard Worker- getaddrinfo failure with port "0" 781*c9945492SAndroid Build Coastguard Worker- dirname handling of trailing slash 782*c9945492SAndroid Build Coastguard Worker- vfork race in posix_spawn 783*c9945492SAndroid Build Coastguard Worker 784*c9945492SAndroid Build Coastguard Worker 785*c9945492SAndroid Build Coastguard Worker 786*c9945492SAndroid Build Coastguard Worker0.9.8 release notes 787*c9945492SAndroid Build Coastguard Worker 788*c9945492SAndroid Build Coastguard Workernew features: 789*c9945492SAndroid Build Coastguard Worker- powerpc port 790*c9945492SAndroid Build Coastguard Worker- dl_iterate_phdr interface 791*c9945492SAndroid Build Coastguard Worker- added mips-specific syscalls 792*c9945492SAndroid Build Coastguard Worker- thread priority scheduling 793*c9945492SAndroid Build Coastguard Worker- C11 CMPLX macro in complex.h 794*c9945492SAndroid Build Coastguard Worker- x86 port io functions in sys/io.h 795*c9945492SAndroid Build Coastguard Worker 796*c9945492SAndroid Build Coastguard Workercompatibility: 797*c9945492SAndroid Build Coastguard Worker- improved headers for trace/debugging/machine-access 798*c9945492SAndroid Build Coastguard Worker- stub functions for unsupported thread-related functionality 799*c9945492SAndroid Build Coastguard Worker 800*c9945492SAndroid Build Coastguard Workerbug fixes: 801*c9945492SAndroid Build Coastguard Worker- numerous math bugs (mostly exception flags and excess-precision issues) 802*c9945492SAndroid Build Coastguard Worker- register clobber error in i386 vsyscall asm (did not affect most callers) 803*c9945492SAndroid Build Coastguard Worker- various incorrect definitions in mips headers 804*c9945492SAndroid Build Coastguard Worker- broken dlsym asm on mips 805*c9945492SAndroid Build Coastguard Worker- empty prefix handling in configure script (--prefix="") 806*c9945492SAndroid Build Coastguard Worker- ldso search path logic issues 807*c9945492SAndroid Build Coastguard Worker- lock handling for stdio memory streams at exit time 808*c9945492SAndroid Build Coastguard Worker- invalid SO_REUSEPORT definition in socket.h (not supported by Linux) 809*c9945492SAndroid Build Coastguard Worker- broken redirection attempt to /dev/null in configure script 810*c9945492SAndroid Build Coastguard Worker 811*c9945492SAndroid Build Coastguard Worker 812*c9945492SAndroid Build Coastguard Worker 813*c9945492SAndroid Build Coastguard Worker0.9.9 release notes 814*c9945492SAndroid Build Coastguard Worker 815*c9945492SAndroid Build Coastguard Workernew features: 816*c9945492SAndroid Build Coastguard Worker- tgamma implementation (no longer lgamma wrapper with low precision) 817*c9945492SAndroid Build Coastguard Worker- various gnu extensions: sigandset, sigorset, etc. 818*c9945492SAndroid Build Coastguard Worker- futimesat function (obsolete) 819*c9945492SAndroid Build Coastguard Worker- various linux syscalls: arch_prctl, personality, etc. 820*c9945492SAndroid Build Coastguard Worker 821*c9945492SAndroid Build Coastguard Workeroptimizations: 822*c9945492SAndroid Build Coastguard Worker- hyperbolic, inverse hyperbolic, and inverse trig, bessel functions 823*c9945492SAndroid Build Coastguard Worker- is* comparison macros in math.h now expand inline properly 824*c9945492SAndroid Build Coastguard Worker 825*c9945492SAndroid Build Coastguard Workerlibrary bugs fixed: 826*c9945492SAndroid Build Coastguard Worker- calling getenv from shared library ctors was broken 827*c9945492SAndroid Build Coastguard Worker- invalid read in mmap-serviced aligned_alloc/memalign (possible crash) 828*c9945492SAndroid Build Coastguard Worker- wrong errno result in fallback path of pipe2 829*c9945492SAndroid Build Coastguard Worker- various math functions raising spurious exceptions 830*c9945492SAndroid Build Coastguard Worker- mmap errno value on invalid offsets 831*c9945492SAndroid Build Coastguard Worker- backwards alignment logic in strlcpy 832*c9945492SAndroid Build Coastguard Worker- integer overflows in bessel functions 833*c9945492SAndroid Build Coastguard Worker- large (up to 60ulp) error in erfcf 834*c9945492SAndroid Build Coastguard Worker- dlsym/dlclose crashing on invalid library handles 835*c9945492SAndroid Build Coastguard Worker- failure to handle arch variations for cloexec/nonblock flags 836*c9945492SAndroid Build Coastguard Worker- lio_listio wrong return value for LIO_WAIT mode 837*c9945492SAndroid Build Coastguard Worker- dladdr failure to resolve PLT addresses 838*c9945492SAndroid Build Coastguard Worker- time_t/struct tm conversion off-by-one-day in december 839*c9945492SAndroid Build Coastguard Worker- malloc corruption on nonstandard kernels with non-page-aligned brk 840*c9945492SAndroid Build Coastguard Worker 841*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 842*c9945492SAndroid Build Coastguard Worker- arm ctors/dtors were not working with recent gcc versions 843*c9945492SAndroid Build Coastguard Worker- arm and mips setjmp/longjmp wrongly saved/restored fenv state 844*c9945492SAndroid Build Coastguard Worker- loss of precision in i386/x86_64 expl 845*c9945492SAndroid Build Coastguard Worker 846*c9945492SAndroid Build Coastguard Workerheader bugs fixed: 847*c9945492SAndroid Build Coastguard Worker- incorrect PRI/SCN macros in inttypes.h for some types 848*c9945492SAndroid Build Coastguard Worker- arm sys/user.h regressions 849*c9945492SAndroid Build Coastguard Worker- failure of offsetof() to be an integer constant expression 850*c9945492SAndroid Build Coastguard Worker- tgmath return value type problems 851*c9945492SAndroid Build Coastguard Worker 852*c9945492SAndroid Build Coastguard Workerheader compatibility improvements: 853*c9945492SAndroid Build Coastguard Worker- _GNU_SOURCE now enables everything; _ALL_SOURCE also works 854*c9945492SAndroid Build Coastguard Worker- scsi/scsi.h and scsi/sg.h are now provided 855*c9945492SAndroid Build Coastguard Worker- additional MAP_* flags for mmap 856*c9945492SAndroid Build Coastguard Worker- additional F_* commands and flags for fcntl 857*c9945492SAndroid Build Coastguard Worker- additional socket option, IPPROTO_* values, and multicase macros 858*c9945492SAndroid Build Coastguard Worker- thread-related waitpid flags 859*c9945492SAndroid Build Coastguard Worker- EHWPOISON added to errno.h 860*c9945492SAndroid Build Coastguard Worker- additional macros for mount, swap, and reboot operations 861*c9945492SAndroid Build Coastguard Worker- expose additional link.h structures 862*c9945492SAndroid Build Coastguard Worker- always ensure sizeof(NULL)==sizeof(void *), even in c++ 863*c9945492SAndroid Build Coastguard Worker- additional flags for poll, epoll, inotify, timerfd, timex, dlfcn 864*c9945492SAndroid Build Coastguard Worker- register names in signal.h/ucontext.h for x86 865*c9945492SAndroid Build Coastguard Worker- ipc.h ipc_perm nonstandard struct field name compatibility improve 866*c9945492SAndroid Build Coastguard Worker 867*c9945492SAndroid Build Coastguard Worker 868*c9945492SAndroid Build Coastguard Worker 869*c9945492SAndroid Build Coastguard Worker0.9.10 release notes 870*c9945492SAndroid Build Coastguard Worker 871*c9945492SAndroid Build Coastguard Workernew features: 872*c9945492SAndroid Build Coastguard Worker- getifaddrs 873*c9945492SAndroid Build Coastguard Worker- pthread_getattr_np (widely used by garbage collectors) 874*c9945492SAndroid Build Coastguard Worker- mkostemps, mkostemp, mkstemps functions (mkostemp is future-POSIX) 875*c9945492SAndroid Build Coastguard Worker- strcasestr and strverscmp (previously stubs) 876*c9945492SAndroid Build Coastguard Worker 877*c9945492SAndroid Build Coastguard Workerimprovements: 878*c9945492SAndroid Build Coastguard Worker- major performance improvements in mbtowc 879*c9945492SAndroid Build Coastguard Worker- avoid filling caller-provided thread stacks with large TLS 880*c9945492SAndroid Build Coastguard Worker- debloat unnecessary static buffers 881*c9945492SAndroid Build Coastguard Worker- robust posix_spawn based on CLONE_VM instead of vfork 882*c9945492SAndroid Build Coastguard Worker- new system() and popen() based on posix_spawn 883*c9945492SAndroid Build Coastguard Worker- better strerror strings 884*c9945492SAndroid Build Coastguard Worker- further emulation of atomic close-on-exec/nonblock options for old kernels 885*c9945492SAndroid Build Coastguard Worker- provide macro constants for new-ish kernel features 886*c9945492SAndroid Build Coastguard Worker 887*c9945492SAndroid Build Coastguard Workercompatibility: 888*c9945492SAndroid Build Coastguard Worker- several nonstandard but widely-available pwd/grp/shadow functions 889*c9945492SAndroid Build Coastguard Worker- program_invocation_[short_]name 890*c9945492SAndroid Build Coastguard Worker- re-added useconds_t type used by some programs 891*c9945492SAndroid Build Coastguard Worker- some legacy arpa headers 892*c9945492SAndroid Build Coastguard Worker- dn_skipname function (legacy resolver API) 893*c9945492SAndroid Build Coastguard Worker- additional ABI aliases for supporting glibc-linked libraries/binaries 894*c9945492SAndroid Build Coastguard Worker 895*c9945492SAndroid Build Coastguard Workergeneral bugs fixed: 896*c9945492SAndroid Build Coastguard Worker- stale locks and bogus munmap call when pthread_create fails 897*c9945492SAndroid Build Coastguard Worker- uninitialized argument to munmap when dynlink load_library fails 898*c9945492SAndroid Build Coastguard Worker- incorrect error returns in gethostby*_r 899*c9945492SAndroid Build Coastguard Worker- memory leak in gethostbyname family 900*c9945492SAndroid Build Coastguard Worker- blank ai_canonname in getaddrinfo for non-CNAME records 901*c9945492SAndroid Build Coastguard Worker- undefined HZ macro in scsi/sg.h 902*c9945492SAndroid Build Coastguard Worker- wrong return value for wmemmove on forward-copy 903*c9945492SAndroid Build Coastguard Worker- namespace conformance in strings.h 904*c9945492SAndroid Build Coastguard Worker- various utmp.h bugs 905*c9945492SAndroid Build Coastguard Worker- unnecessary DT_SONAME in libc.so caused problems on some systems 906*c9945492SAndroid Build Coastguard Worker- multiple bugs in syslog, some possibly dangerous 907*c9945492SAndroid Build Coastguard Worker- non-functional setpriority function 908*c9945492SAndroid Build Coastguard Worker- slight mishandling of 0xf5 byte in UTF-8 decoder 909*c9945492SAndroid Build Coastguard Worker- misaligned memory accesses in mbsrtowcs 910*c9945492SAndroid Build Coastguard Worker 911*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 912*c9945492SAndroid Build Coastguard Worker- crash in shared library loading on arm 913*c9945492SAndroid Build Coastguard Worker- missing __aeabi_atexit needed by arm eabi 914*c9945492SAndroid Build Coastguard Worker- wrong float_t definition on x86_64 915*c9945492SAndroid Build Coastguard Worker- various low-impact type size/alignment mismatches in some headers 916*c9945492SAndroid Build Coastguard Worker- epoll struct alignment wrong on non-x86[_64] archs 917*c9945492SAndroid Build Coastguard Worker- broken pipe2 fallback code on mips with old kernels 918*c9945492SAndroid Build Coastguard Worker 919*c9945492SAndroid Build Coastguard Worker 920*c9945492SAndroid Build Coastguard Worker 921*c9945492SAndroid Build Coastguard Worker0.9.11 release notes 922*c9945492SAndroid Build Coastguard Worker 923*c9945492SAndroid Build Coastguard Workernew features: 924*c9945492SAndroid Build Coastguard Worker- %m allocation modifier for scanf 925*c9945492SAndroid Build Coastguard Worker- week number and ISO week-based-year functionality in strftime 926*c9945492SAndroid Build Coastguard Worker- per-process and per-thread cputime clocks 927*c9945492SAndroid Build Coastguard Worker- ethernet address conversion interfaces 928*c9945492SAndroid Build Coastguard Worker- legacy classful ipv4 network address interfaces 929*c9945492SAndroid Build Coastguard Worker- minimal dlinfo function (nonstandard) 930*c9945492SAndroid Build Coastguard Worker 931*c9945492SAndroid Build Coastguard Workerother improvements: 932*c9945492SAndroid Build Coastguard Worker- dynamic linker path file can now use newlines to separate paths 933*c9945492SAndroid Build Coastguard Worker- math optimizations for archs with extended precision (i386) 934*c9945492SAndroid Build Coastguard Worker- musl-gcc wrapper now exposes gcc's intrinsic headers 935*c9945492SAndroid Build Coastguard Worker- quality of rand and rand_r pseudo-random sequences 936*c9945492SAndroid Build Coastguard Worker- support for large device minor numbers (greater than 8 bits) 937*c9945492SAndroid Build Coastguard Worker- various header conformance and compatibility fixes 938*c9945492SAndroid Build Coastguard Worker 939*c9945492SAndroid Build Coastguard Workerdirectly user-visible bugs fixed: 940*c9945492SAndroid Build Coastguard Worker- scanf losing characters on unbuffered streams and fmemopen streams 941*c9945492SAndroid Build Coastguard Worker- failure of mbsrtowcs to record stop position when dest is full 942*c9945492SAndroid Build Coastguard Worker- failure of iconv to convert to legacy codepages 943*c9945492SAndroid Build Coastguard Worker- non-working pthread_[sg]etschedparam functions (wrong syscall arguments) 944*c9945492SAndroid Build Coastguard Worker 945*c9945492SAndroid Build Coastguard Workerother potentially-serious bugs fixed: 946*c9945492SAndroid Build Coastguard Worker- resource leaks in sem_open 947*c9945492SAndroid Build Coastguard Worker- various bugs in thread exit synchronization 948*c9945492SAndroid Build Coastguard Worker- invalid access in aio notification after aiocb free/reuse 949*c9945492SAndroid Build Coastguard Worker- synchronization in dynamic linker when new thread dlopens during ctors 950*c9945492SAndroid Build Coastguard Worker- lack of error handling for failure to read dynamic linker path file 951*c9945492SAndroid Build Coastguard Worker- creation by mmap or shmget of objects larger than PTRDIFF_MAX 952*c9945492SAndroid Build Coastguard Worker 953*c9945492SAndroid Build Coastguard Workerminor conformance bugs fixed: 954*c9945492SAndroid Build Coastguard Worker- overflow handling for the clock function 955*c9945492SAndroid Build Coastguard Worker- workaround for incorrect exceptions in fma due to compiler bugs 956*c9945492SAndroid Build Coastguard Worker- workaround wrong kernel type for sem_nsems field in struct semid_ds 957*c9945492SAndroid Build Coastguard Worker 958*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 959*c9945492SAndroid Build Coastguard Worker- x86_64 sigsetjmp clobbered the signal mask rather than saving it 960*c9945492SAndroid Build Coastguard Worker- misaligned stack when calling ctors/dtors (crashing on x86_64) 961*c9945492SAndroid Build Coastguard Worker 962*c9945492SAndroid Build Coastguard Worker 963*c9945492SAndroid Build Coastguard Worker 964*c9945492SAndroid Build Coastguard Worker0.9.12 release notes 965*c9945492SAndroid Build Coastguard Worker 966*c9945492SAndroid Build Coastguard Workernew features: 967*c9945492SAndroid Build Coastguard Worker- zoneinfo time zone support 968*c9945492SAndroid Build Coastguard Worker- PIE support on all supported archs 969*c9945492SAndroid Build Coastguard Worker- named sub-archs for endian and float ABI variants 970*c9945492SAndroid Build Coastguard Worker- improved support for non-root installs of the dynamic linker 971*c9945492SAndroid Build Coastguard Worker- ability to selectively build only performance-critical modules with -O3 972*c9945492SAndroid Build Coastguard Worker- simple buffer overflow detection in free/realloc 973*c9945492SAndroid Build Coastguard Worker- inet_ntop now presents v4-mapped addresses in ::ffff:a.b.c.d form 974*c9945492SAndroid Build Coastguard Worker- ldd now reports libc and the dynamic linker in its output 975*c9945492SAndroid Build Coastguard Worker 976*c9945492SAndroid Build Coastguard Workercompatibility: 977*c9945492SAndroid Build Coastguard Worker- support for new init/fini array (needed for ctors/dtors on newer gcc) 978*c9945492SAndroid Build Coastguard Worker- C++ ABI fully matches glibc/LSB, at least on x86 979*c9945492SAndroid Build Coastguard Worker- many added ABI compatibility symbols for using glibc-linked libs 980*c9945492SAndroid Build Coastguard Worker- support for STB_GNU_UNIQUE symbol bindings (found in some C++ libs) 981*c9945492SAndroid Build Coastguard Worker- macros/types for new Linux kernel features in headers 982*c9945492SAndroid Build Coastguard Worker 983*c9945492SAndroid Build Coastguard Workerbugs fixed: 984*c9945492SAndroid Build Coastguard Worker- crashes in scanf on literal mismatches (regression from adding %m) 985*c9945492SAndroid Build Coastguard Worker- dl_iterate_phdr was passing invalid phdr pointers to its callback 986*c9945492SAndroid Build Coastguard Worker- getaddrinfo with null host and AF_UNSPEC was failing to report IPv6 987*c9945492SAndroid Build Coastguard Worker- integer overflows in date/time conversion code 988*c9945492SAndroid Build Coastguard Worker- misinterpretation of pre-1930s dates as post-2038 on 32-bit archs 989*c9945492SAndroid Build Coastguard Worker- make install failed to install bits headers if make was not run first 990*c9945492SAndroid Build Coastguard Worker- shm_open was wrongly cancellable 991*c9945492SAndroid Build Coastguard Worker- low- or no-impact heap corruption in memalign 992*c9945492SAndroid Build Coastguard Worker- explicitly running the dynamic linker on PIE programs did not work 993*c9945492SAndroid Build Coastguard Worker- missing macros and sysconf for some supported POSIX option groups 994*c9945492SAndroid Build Coastguard Worker- missing close-on-exec flags for several internal fd uses 995*c9945492SAndroid Build Coastguard Worker 996*c9945492SAndroid Build Coastguard Workerarch-specific bugs: 997*c9945492SAndroid Build Coastguard Worker- wrong SIG_ATOMIC_MIN/MAX macros on x86_64 998*c9945492SAndroid Build Coastguard Worker- erfcl was missing on archs where long double is same as double 999*c9945492SAndroid Build Coastguard Worker- broken dynamic-model TLS in static-linked arm/mips/powerpc programs 1000*c9945492SAndroid Build Coastguard Worker 1001*c9945492SAndroid Build Coastguard Worker 1002*c9945492SAndroid Build Coastguard Worker 1003*c9945492SAndroid Build Coastguard Worker0.9.13 release notes 1004*c9945492SAndroid Build Coastguard Worker 1005*c9945492SAndroid Build Coastguard Workernew features: 1006*c9945492SAndroid Build Coastguard Worker- iconv support for EUC-KR and Big5 (including HKSCS) encodings 1007*c9945492SAndroid Build Coastguard Worker- field widths (POSIX 2008 feature) in strftime 1008*c9945492SAndroid Build Coastguard Worker- recursive rpath and $ORIGIN support in dynamic linker 1009*c9945492SAndroid Build Coastguard Worker- cpu affinity interfaces 1010*c9945492SAndroid Build Coastguard Worker- support for armhf (hardfloat) floating point environment (fenv) 1011*c9945492SAndroid Build Coastguard Worker- support for SSE fenv on i386 (for apps using -mfpmath=sse -msse2) 1012*c9945492SAndroid Build Coastguard Worker- strftime %s format (seconds since the epoch, future POSIX requirement) 1013*c9945492SAndroid Build Coastguard Worker- configure script now saves its command line as a comment in config.mak 1014*c9945492SAndroid Build Coastguard Worker- legacy functions valloc and euidaccess 1015*c9945492SAndroid Build Coastguard Worker 1016*c9945492SAndroid Build Coastguard Workerperformance: 1017*c9945492SAndroid Build Coastguard Worker- optimized asm memcpy for arm 1018*c9945492SAndroid Build Coastguard Worker- optimized asm memset for i386 and x86_64 1019*c9945492SAndroid Build Coastguard Worker- optimized C versions of memcpy and memset for all archs 1020*c9945492SAndroid Build Coastguard Worker- eliminated major spurious syscalls from posix_spawn 1021*c9945492SAndroid Build Coastguard Worker- some math asm for armhf (hardfloat) 1022*c9945492SAndroid Build Coastguard Worker 1023*c9945492SAndroid Build Coastguard Workerworkarounds for: 1024*c9945492SAndroid Build Coastguard Worker- qemu-user's rt_sigaction syscall does not allow old to alias new 1025*c9945492SAndroid Build Coastguard Worker- qemu-user's madvise always succeeds (broke pthread_getattr_np) 1026*c9945492SAndroid Build Coastguard Worker- passing PT_INTERP to dlopen attempted to double-load libc 1027*c9945492SAndroid Build Coastguard Worker- gcc 4.8.x generating self-referential (infinite recursion) memcpy/memset 1028*c9945492SAndroid Build Coastguard Worker- linux's lack of support for fchdir, fchmod, fchown, fstat on O_PATH fds 1029*c9945492SAndroid Build Coastguard Worker 1030*c9945492SAndroid Build Coastguard Workerbugs fixed: 1031*c9945492SAndroid Build Coastguard Worker- failure to honor flags for fchmodat and faccessat (linux syscall api flaws) 1032*c9945492SAndroid Build Coastguard Worker- SIGEV_THREAD timer id corruption and race condition issues 1033*c9945492SAndroid Build Coastguard Worker- timer thread TLS incorrectly keeping values from previous expiry run 1034*c9945492SAndroid Build Coastguard Worker- ecvt/fcvt decimal position off-by-one 1035*c9945492SAndroid Build Coastguard Worker- in symbol-versioned libs, symbol resolved to oldest instead of newest 1036*c9945492SAndroid Build Coastguard Worker- posix_spawn not correctly reporting errno from exec failure 1037*c9945492SAndroid Build Coastguard Worker- "make install" was not atomic (overwrote files rather than replacing) 1038*c9945492SAndroid Build Coastguard Worker- integer overflows in strftime 1039*c9945492SAndroid Build Coastguard Worker- unset/empty TZ variable was mishandled 1040*c9945492SAndroid Build Coastguard Worker- strftime could crash if the struct tm did not have valid tm_zone field 1041*c9945492SAndroid Build Coastguard Worker- failure of fenv functions to handle invalid arguments (required by ISO C) 1042*c9945492SAndroid Build Coastguard Worker- failure of some math functions (C and i386 asm) to raise underflow flag 1043*c9945492SAndroid Build Coastguard Worker- broken dn_expand function (previously not used internally) 1044*c9945492SAndroid Build Coastguard Worker- race conditions with signals during fork 1045*c9945492SAndroid Build Coastguard Worker- incorrect access check in mktemp (obsolete function) 1046*c9945492SAndroid Build Coastguard Worker- unnecessary arbitrary limits on size of program headers in dynamic loader 1047*c9945492SAndroid Build Coastguard Worker- text formatting bugs in output of err.h functions 1048*c9945492SAndroid Build Coastguard Worker 1049*c9945492SAndroid Build Coastguard Workerarch-specific bugs: 1050*c9945492SAndroid Build Coastguard Worker- fesetenv(FE_DFL_ENV) crashed on i386 1051*c9945492SAndroid Build Coastguard Worker- breakage of arm crt code when libc is compiled as thumb 1052*c9945492SAndroid Build Coastguard Worker- arm/armhf (hardfloat) misidentified by configure 1053*c9945492SAndroid Build Coastguard Worker- ambiguity of wait (exit status) macros on mips with signal number 127 1054*c9945492SAndroid Build Coastguard Worker- wrong value of _NSIG and SIGRTMAX on mips 1055*c9945492SAndroid Build Coastguard Worker 1056*c9945492SAndroid Build Coastguard Worker 1057*c9945492SAndroid Build Coastguard Worker 1058*c9945492SAndroid Build Coastguard Worker0.9.14 release notes 1059*c9945492SAndroid Build Coastguard Worker 1060*c9945492SAndroid Build Coastguard Workerbugs fixed: 1061*c9945492SAndroid Build Coastguard Worker- failure to properly install dynamic linker with DESTDIR set (symlink wrong) 1062*c9945492SAndroid Build Coastguard Worker- rare deadlock in libc-internal locking routines 1063*c9945492SAndroid Build Coastguard Worker- dynamic linker used fallback paths wrongly on (possibly transient) errors 1064*c9945492SAndroid Build Coastguard Worker- popen broken when stdin or stdout was already closed in parent 1065*c9945492SAndroid Build Coastguard Worker- deadlock/memory-corruption in multithreaded set*id and setrlimit functions 1066*c9945492SAndroid Build Coastguard Worker- realpath failed when file was not readable 1067*c9945492SAndroid Build Coastguard Worker- readpath mistakenly had cancellation points in it 1068*c9945492SAndroid Build Coastguard Worker- crashes in scanf with invalid %m conversion specifiers 1069*c9945492SAndroid Build Coastguard Worker- misclassificiation of some invalid ld80 float representation in fpclassify 1070*c9945492SAndroid Build Coastguard Worker- various overflow and underflow flag issues in math functions 1071*c9945492SAndroid Build Coastguard Worker- domain handling errors for acoshf and acoshl 1072*c9945492SAndroid Build Coastguard Worker- wrong values for some sysconf properties 1073*c9945492SAndroid Build Coastguard Worker- lack of proper memory barriers on arm 1074*c9945492SAndroid Build Coastguard Worker 1075*c9945492SAndroid Build Coastguard Workermips-specific bugs: 1076*c9945492SAndroid Build Coastguard Worker- broken sysv ipc structures 1077*c9945492SAndroid Build Coastguard Worker- multiple stack-related bugs in clone, leading to crashes in parent or child 1078*c9945492SAndroid Build Coastguard Worker- overflow writing sigset_t in multithreaded set*id and setrlimit functions 1079*c9945492SAndroid Build Coastguard Worker 1080*c9945492SAndroid Build Coastguard Workerother improvements: 1081*c9945492SAndroid Build Coastguard Worker- size and performance improvements to various math functions 1082*c9945492SAndroid Build Coastguard Worker- wait.h as a compatibility alias for sys/wait.h 1083*c9945492SAndroid Build Coastguard Worker- various header improvements 1084*c9945492SAndroid Build Coastguard Worker- support for runtime-variable page size on archs that need it (mainly mips) 1085*c9945492SAndroid Build Coastguard Worker 1086*c9945492SAndroid Build Coastguard Worker 1087*c9945492SAndroid Build Coastguard Worker 1088*c9945492SAndroid Build Coastguard Worker0.9.15 release notes 1089*c9945492SAndroid Build Coastguard Worker 1090*c9945492SAndroid Build Coastguard Workernew features: 1091*c9945492SAndroid Build Coastguard Worker- support for mixing IPv4 and v6 nameserver addresses in resolv.conf 1092*c9945492SAndroid Build Coastguard Worker- RFC 3678 multicast structures/macros in netinet/in.h 1093*c9945492SAndroid Build Coastguard Worker- putspent and fgetspent functions (shadow password API) 1094*c9945492SAndroid Build Coastguard Worker- timef function (obsolete, removed in POSIX 2008) 1095*c9945492SAndroid Build Coastguard Worker- fanotify syscalls (Linux-specific feature) 1096*c9945492SAndroid Build Coastguard Worker- semtimedop syscall (Linux-specific sysvipc extension) 1097*c9945492SAndroid Build Coastguard Worker- quotactl syscall and header (filesystem quotas support) 1098*c9945492SAndroid Build Coastguard Worker- drem and finite functions (obsolete BSD functions) 1099*c9945492SAndroid Build Coastguard Worker- getloadavg function (non-standard) 1100*c9945492SAndroid Build Coastguard Worker- herror function (non-standard and obsolete) 1101*c9945492SAndroid Build Coastguard Worker- libc.so now stores and prints its version information 1102*c9945492SAndroid Build Coastguard Worker- expose constants for new Linux features including O_TMPFILE 1103*c9945492SAndroid Build Coastguard Worker- implement FNM_LEADING_DIR option to fnmatch (GNU extension) 1104*c9945492SAndroid Build Coastguard Worker- posix_close function (accepted for inclusion in next POSIX issue) 1105*c9945492SAndroid Build Coastguard Worker 1106*c9945492SAndroid Build Coastguard Workerbugs fixed: 1107*c9945492SAndroid Build Coastguard Worker- buffer overflow in mbsrtowcs 1108*c9945492SAndroid Build Coastguard Worker- clobbering of gr_name in getgrnam_r and getgrgid_r 1109*c9945492SAndroid Build Coastguard Worker- execle ignoring the environment argument 1110*c9945492SAndroid Build Coastguard Worker- setenv crash on malloc failure 1111*c9945492SAndroid Build Coastguard Worker- out-of-bounds access in fnmatch with FNM_PATHNAME and certain patterns 1112*c9945492SAndroid Build Coastguard Worker- failure of malloc to set errno when failing to extend heap 1113*c9945492SAndroid Build Coastguard Worker- incorrect errno value from getcwd with zero size 1114*c9945492SAndroid Build Coastguard Worker- spurious failure in faccessat with AT_EACCESS flag with suid/sgid programs 1115*c9945492SAndroid Build Coastguard Worker- several fd leaks due to missing close-on-exec flag 1116*c9945492SAndroid Build Coastguard Worker- misspellings/typos in macro names in several headers 1117*c9945492SAndroid Build Coastguard Worker- incorrect failure return value in inet_pton 1118*c9945492SAndroid Build Coastguard Worker- various numeric ip address parsing and validation fixes 1119*c9945492SAndroid Build Coastguard Worker- namespace conformance issues in several headers 1120*c9945492SAndroid Build Coastguard Worker- minor header issues 1121*c9945492SAndroid Build Coastguard Worker- zombie processes left by faccessat with AT_EACCESS 1122*c9945492SAndroid Build Coastguard Worker- timezone file parser failing/crashing on 64-bit archs 1123*c9945492SAndroid Build Coastguard Worker- hang in localtime with near-overflowing time_t values on 64-bit archs 1124*c9945492SAndroid Build Coastguard Worker- timezone path search was only trying first path 1125*c9945492SAndroid Build Coastguard Worker- incorrect handling of excessive-length TZ environment strings 1126*c9945492SAndroid Build Coastguard Worker- timezone file loading was wrongly enforcing O_NOFOLLOW/rejecting symlinks 1127*c9945492SAndroid Build Coastguard Worker- iswspace was wrongly returning true for the null character 1128*c9945492SAndroid Build Coastguard Worker- various bugs in wordexp 1129*c9945492SAndroid Build Coastguard Worker- putgrent could write corrupt lines after write failures 1130*c9945492SAndroid Build Coastguard Worker- dn_expand misinterpreted in-packet offsets greater than 255 1131*c9945492SAndroid Build Coastguard Worker- spurious strftime/wcsftime failure on len+1==bufsize case 1132*c9945492SAndroid Build Coastguard Worker- incorrect underflow flag in fma corner cases 1133*c9945492SAndroid Build Coastguard Worker- log*(0) wrongly returned +inf in downward-rounding mode 1134*c9945492SAndroid Build Coastguard Worker- failure of fchmod, fstat, fchdir, and fchown to produce EBADF 1135*c9945492SAndroid Build Coastguard Worker 1136*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1137*c9945492SAndroid Build Coastguard Worker- i386: failure of fesetround to set sse rounding mode 1138*c9945492SAndroid Build Coastguard Worker- i386: floating point limit constants misinterpreted due to excess precision 1139*c9945492SAndroid Build Coastguard Worker- powerpc: broken thread pointer access when compiled with clang 1140*c9945492SAndroid Build Coastguard Worker- microblaze: dynamic linker entry point code possibly clobbering argv 1141*c9945492SAndroid Build Coastguard Worker 1142*c9945492SAndroid Build Coastguard Workerstrict conformance issues: 1143*c9945492SAndroid Build Coastguard Worker- NULL definition re-aligned with POSIX (requires (void *) cast) 1144*c9945492SAndroid Build Coastguard Worker- alignment of math.h is* comparison functions with C11 annex F requirements 1145*c9945492SAndroid Build Coastguard Worker 1146*c9945492SAndroid Build Coastguard Worker 1147*c9945492SAndroid Build Coastguard Worker 1148*c9945492SAndroid Build Coastguard Worker1.0.0 release notes 1149*c9945492SAndroid Build Coastguard Worker 1150*c9945492SAndroid Build Coastguard Workernew features: 1151*c9945492SAndroid Build Coastguard Worker- support for mips softfloat ABI variant 1152*c9945492SAndroid Build Coastguard Worker- legacy setkey and encrypt API for DES 1153*c9945492SAndroid Build Coastguard Worker- support for BSD version of struct tcphdr in addition to GNU version 1154*c9945492SAndroid Build Coastguard Worker- added ipv6 and icmpv6 protocol lookups to getprotoent-family functions 1155*c9945492SAndroid Build Coastguard Worker 1156*c9945492SAndroid Build Coastguard Workernew experimental ports: 1157*c9945492SAndroid Build Coastguard Worker- sh (SuperH) 1158*c9945492SAndroid Build Coastguard Worker- x32 (ILP32 ABI for x86_64) 1159*c9945492SAndroid Build Coastguard Worker 1160*c9945492SAndroid Build Coastguard Workercompatibility: 1161*c9945492SAndroid Build Coastguard Worker- improved c89 compiler support in math.h 1162*c9945492SAndroid Build Coastguard Worker- eliminate some compiler warnings in public headers 1163*c9945492SAndroid Build Coastguard Worker- added some missing things for LFS64 APIs 1164*c9945492SAndroid Build Coastguard Worker- added fallback emulation of accept4 for older kernels 1165*c9945492SAndroid Build Coastguard Worker 1166*c9945492SAndroid Build Coastguard Workerbugs fixed: 1167*c9945492SAndroid Build Coastguard Worker- buffer overflow in printf when printing smallest denormal exactly 1168*c9945492SAndroid Build Coastguard Worker- rounding errors in printf in some just-over-halfway cases 1169*c9945492SAndroid Build Coastguard Worker- posix_spawn did not accept null pid pointer (crashed) 1170*c9945492SAndroid Build Coastguard Worker- ftello gave incorrect result for unflushed append-mode streams 1171*c9945492SAndroid Build Coastguard Worker- mishandling of n=0 case in wcsxfrm (wild buffer overrun) 1172*c9945492SAndroid Build Coastguard Worker- possible system breakage during libc upgrade due to install.sh bugs 1173*c9945492SAndroid Build Coastguard Worker- nftw FTW_MOUNT flag prevented walking any directories at all 1174*c9945492SAndroid Build Coastguard Worker- ptsname/ptsname_r returned negated error codes 1175*c9945492SAndroid Build Coastguard Worker- getprotoent function returned junk after listing valid protocols 1176*c9945492SAndroid Build Coastguard Worker- wrong error code from readdir when the directory has been deleted 1177*c9945492SAndroid Build Coastguard Worker- various prototype/argument-type fixes, mostly to legacy functions 1178*c9945492SAndroid Build Coastguard Worker- various header namespace violations 1179*c9945492SAndroid Build Coastguard Worker 1180*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1181*c9945492SAndroid Build Coastguard Worker- fesetenv(FE_DFL_ENV) was broken on i386 and x86_64 1182*c9945492SAndroid Build Coastguard Worker- strerror(EDQUOT) did not work on mips 1183*c9945492SAndroid Build Coastguard Worker- recvmsg/sendmsg were broken on powerpc 1184*c9945492SAndroid Build Coastguard Worker- sysv ipc was broken on powerpc and mips 1185*c9945492SAndroid Build Coastguard Worker- statfs/statvfs were broken on mips 1186*c9945492SAndroid Build Coastguard Worker- sigaltstack was broken on mips 1187*c9945492SAndroid Build Coastguard Worker 1188*c9945492SAndroid Build Coastguard Worker 1189*c9945492SAndroid Build Coastguard Worker 1190*c9945492SAndroid Build Coastguard Worker1.1.0 release notes 1191*c9945492SAndroid Build Coastguard Worker 1192*c9945492SAndroid Build Coastguard Workernew features: 1193*c9945492SAndroid Build Coastguard Worker- relro memory protection in dynamic linker 1194*c9945492SAndroid Build Coastguard Worker- malloc can now extend heap with mmap if brk fails 1195*c9945492SAndroid Build Coastguard Worker- vdso clock_gettime/gettimeofday/time acceleration on x86_64 1196*c9945492SAndroid Build Coastguard Worker- thread/library-safe versions of search.h functions (nonstandard) 1197*c9945492SAndroid Build Coastguard Worker- getauxval function (nonstandard) 1198*c9945492SAndroid Build Coastguard Worker- sysconf extensions to query physical memory size 1199*c9945492SAndroid Build Coastguard Worker 1200*c9945492SAndroid Build Coastguard Workerbugs fixed: 1201*c9945492SAndroid Build Coastguard Worker- floating point printf output corruption from carry into uninitialized slot 1202*c9945492SAndroid Build Coastguard Worker- possible runaway carry overflow in printf floating point 1203*c9945492SAndroid Build Coastguard Worker- printf %g failure to strip trailing zeros in some cases 1204*c9945492SAndroid Build Coastguard Worker- search past end of haystack in memmem 1205*c9945492SAndroid Build Coastguard Worker- off-by-one error in confstr return value 1206*c9945492SAndroid Build Coastguard Worker- crashes in some near-empty static programs that use stack protector 1207*c9945492SAndroid Build Coastguard Worker- deadlock race in pthread_once 1208*c9945492SAndroid Build Coastguard Worker- non-working clock_gettime fallback for old kernels 1209*c9945492SAndroid Build Coastguard Worker 1210*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1211*c9945492SAndroid Build Coastguard Worker- crash from missing syscall asm register clobbers on real microblaze kernel 1212*c9945492SAndroid Build Coastguard Worker- crash in all nontrivial dynamic linker use on microblaze 1213*c9945492SAndroid Build Coastguard Worker- incorrect rlimit constants on mips 1214*c9945492SAndroid Build Coastguard Worker- broken, possibly dangerous, use of getrlimit syscall on x32 in sysconf 1215*c9945492SAndroid Build Coastguard Worker 1216*c9945492SAndroid Build Coastguard Worker 1217*c9945492SAndroid Build Coastguard Worker 1218*c9945492SAndroid Build Coastguard Worker1.1.1 release notes 1219*c9945492SAndroid Build Coastguard Worker 1220*c9945492SAndroid Build Coastguard Workernew features: 1221*c9945492SAndroid Build Coastguard Worker- new options --preload and --library-path to dynamic linker 1222*c9945492SAndroid Build Coastguard Worker- public execvpe function (nonstandard extension) 1223*c9945492SAndroid Build Coastguard Worker- iconv support for cp437 and cp850 1224*c9945492SAndroid Build Coastguard Worker 1225*c9945492SAndroid Build Coastguard Workerbugs fixed: 1226*c9945492SAndroid Build Coastguard Worker- false negatives with some periodic needles in strstr, wcsstr, and memmem 1227*c9945492SAndroid Build Coastguard Worker- crash on invalid zoneinfo files 1228*c9945492SAndroid Build Coastguard Worker- incorrect zero-padding of some outputs for strftime %s specifier 1229*c9945492SAndroid Build Coastguard Worker- misreporting of errors in configure script when $CC does not work at all 1230*c9945492SAndroid Build Coastguard Worker- treating not-yet-implemented strptime specifiers as errors 1231*c9945492SAndroid Build Coastguard Worker 1232*c9945492SAndroid Build Coastguard Workercompatibility: 1233*c9945492SAndroid Build Coastguard Worker- configure now detects serious constant-folding bug in gcc 4.9.0 1234*c9945492SAndroid Build Coastguard Worker- removed __yield symbol (unused) that clashed with some compilers 1235*c9945492SAndroid Build Coastguard Worker- improvements to sysconf's handling of unsupported/invalid arguments 1236*c9945492SAndroid Build Coastguard Worker 1237*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1238*c9945492SAndroid Build Coastguard Worker- misdetection of superh ABI variant by configure on gcc 3.x 1239*c9945492SAndroid Build Coastguard Worker- missing SO_RCVBUFFORCE and SO_SNDBUFFORCE in mips socket.h 1240*c9945492SAndroid Build Coastguard Worker- build regression on armv6 and later with -mthumb 1241*c9945492SAndroid Build Coastguard Worker 1242*c9945492SAndroid Build Coastguard Worker 1243*c9945492SAndroid Build Coastguard Worker 1244*c9945492SAndroid Build Coastguard Worker1.1.2 release notes 1245*c9945492SAndroid Build Coastguard Worker 1246*c9945492SAndroid Build Coastguard Workernew features: 1247*c9945492SAndroid Build Coastguard Worker- multi-protocol matches (tcp and udp) in getaddrinfo 1248*c9945492SAndroid Build Coastguard Worker- support for AI_V4MAPPED and AI_ALL flags to getaddrinfo 1249*c9945492SAndroid Build Coastguard Worker- reverse name lookups from /etc/hosts 1250*c9945492SAndroid Build Coastguard Worker- reverse service lookups from /etc/services 1251*c9945492SAndroid Build Coastguard Worker- support for service aliases in /etc/services 1252*c9945492SAndroid Build Coastguard Worker- ipsec and tunneling protocols to getprotoent-family functions 1253*c9945492SAndroid Build Coastguard Worker- res_send, res_mkquery, res_querydomain, and dn_comp functions 1254*c9945492SAndroid Build Coastguard Worker- ipv6 scope id handling for link-local scope addresses 1255*c9945492SAndroid Build Coastguard Worker- previously-unimplemented %C and %y in strptime now work 1256*c9945492SAndroid Build Coastguard Worker- vdso clock_gettime acceleration on i386 (new kernel feature) 1257*c9945492SAndroid Build Coastguard Worker- better O_CLOEXEC/SOCK_CLOEXEC fallbacks for old kernels 1258*c9945492SAndroid Build Coastguard Worker 1259*c9945492SAndroid Build Coastguard Workerbugs fixed: 1260*c9945492SAndroid Build Coastguard Worker- buffer overflow in dns response parsing (CVE-2014-3484) 1261*c9945492SAndroid Build Coastguard Worker- possible infinite loop in dns response parsing 1262*c9945492SAndroid Build Coastguard Worker- sendfile off_t 32/64-bit size mismatch 1263*c9945492SAndroid Build Coastguard Worker- incorrect end pointer in some cases when wcsrtombs stops early 1264*c9945492SAndroid Build Coastguard Worker- incorrect if_nametoindex return value when interface does not exist 1265*c9945492SAndroid Build Coastguard Worker- dummy "ent" function aliases that possibly shadowed real ones 1266*c9945492SAndroid Build Coastguard Worker- tmpfile fd leak on memory exhaustion 1267*c9945492SAndroid Build Coastguard Worker- getaddrinfo returning EAI_NONAME for some transient failures 1268*c9945492SAndroid Build Coastguard Worker 1269*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1270*c9945492SAndroid Build Coastguard Worker- broken kernel side RLIM_INFINITY on mips 1271*c9945492SAndroid Build Coastguard Worker- incorrect syscall argument 6/7 types for pselect on x32 1272*c9945492SAndroid Build Coastguard Worker 1273*c9945492SAndroid Build Coastguard Worker 1274*c9945492SAndroid Build Coastguard Worker 1275*c9945492SAndroid Build Coastguard Worker1.1.3 release notes 1276*c9945492SAndroid Build Coastguard Worker 1277*c9945492SAndroid Build Coastguard Workernew features: 1278*c9945492SAndroid Build Coastguard Worker- address sorting in getaddrinfo, etc. modeled on rfc 3484/6724 1279*c9945492SAndroid Build Coastguard Worker- default timezone taken from /etc/localtime when $TZ is unset 1280*c9945492SAndroid Build Coastguard Worker- getopt double-colon extension for optional arguments 1281*c9945492SAndroid Build Coastguard Worker- support for TLSDESC-based (gnu2) TLS dialect on i386 and x86_64 1282*c9945492SAndroid Build Coastguard Worker- sendmmsg/recvmmsg (linux-specific) 1283*c9945492SAndroid Build Coastguard Worker- fmtmsg (last mandatory XSI function that was missing) 1284*c9945492SAndroid Build Coastguard Worker 1285*c9945492SAndroid Build Coastguard Workercompatibility: 1286*c9945492SAndroid Build Coastguard Worker- treat dns rcode=2 as temporary failure, not negative result 1287*c9945492SAndroid Build Coastguard Worker- working thread-pointer for pre-2.6 kernels on i386 1288*c9945492SAndroid Build Coastguard Worker- further ABI-compat symbols: __xmknod[at], __sysv_signal 1289*c9945492SAndroid Build Coastguard Worker 1290*c9945492SAndroid Build Coastguard Workerbugs fixed: 1291*c9945492SAndroid Build Coastguard Worker- memmem false positives/false negatives/crashes from invalid logic 1292*c9945492SAndroid Build Coastguard Worker- gethostby*_r not setting result pointer to null on failure 1293*c9945492SAndroid Build Coastguard Worker- aliasing violations in syscall.h SYSLOG_NAMES feature 1294*c9945492SAndroid Build Coastguard Worker- fanotify_mark syscall arguments wrong 1295*c9945492SAndroid Build Coastguard Worker 1296*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1297*c9945492SAndroid Build Coastguard Worker- various subtle relocation bugs in powerpc and sh dynamic linker 1298*c9945492SAndroid Build Coastguard Worker 1299*c9945492SAndroid Build Coastguard Worker 1300*c9945492SAndroid Build Coastguard Worker 1301*c9945492SAndroid Build Coastguard Worker1.1.4 release notes 1302*c9945492SAndroid Build Coastguard Worker 1303*c9945492SAndroid Build Coastguard Workernew features: 1304*c9945492SAndroid Build Coastguard Worker- experimental locale support for LC_MESSAGES and LC_TIME 1305*c9945492SAndroid Build Coastguard Worker- non-stub gettext family functions for message translation 1306*c9945492SAndroid Build Coastguard Worker- or1k (OpenRISC 1000) port 1307*c9945492SAndroid Build Coastguard Worker- syslog options LOG_CONS and LOG_PERROR 1308*c9945492SAndroid Build Coastguard Worker- issetugid function (from OpenBSD) 1309*c9945492SAndroid Build Coastguard Worker- improved if_nameindex and getifaddrs functions 1310*c9945492SAndroid Build Coastguard Worker 1311*c9945492SAndroid Build Coastguard Workercompatibility: 1312*c9945492SAndroid Build Coastguard Worker- work around bug #61144 in gcc 4.9.0 and 4.9.1 1313*c9945492SAndroid Build Coastguard Worker- support getauxval(AT_SECURE) even on kernels without AT_SECURE 1314*c9945492SAndroid Build Coastguard Worker 1315*c9945492SAndroid Build Coastguard Workerbugs fixed: 1316*c9945492SAndroid Build Coastguard Worker- empty dynamic linker error messages (regression in 1.1.3) 1317*c9945492SAndroid Build Coastguard Worker- if_nameindex omitted unconfigured and ipv6-only interfaces 1318*c9945492SAndroid Build Coastguard Worker- incorrect return value for fwide function 1319*c9945492SAndroid Build Coastguard Worker- failure of wide printf/scanf functions to set wide orientation 1320*c9945492SAndroid Build Coastguard Worker- multiple issues in legacy function getpass 1321*c9945492SAndroid Build Coastguard Worker- dynamic linker did not accept colon as a separator for LD_PRELOAD 1322*c9945492SAndroid Build Coastguard Worker- errno clobber in syslog caused wrong output for %m specifier 1323*c9945492SAndroid Build Coastguard Worker- crash in regexec for nonzero nmatch argument with REG_NOSUB 1324*c9945492SAndroid Build Coastguard Worker- minor bugs in rarely-used nl_langinfo item lookups 1325*c9945492SAndroid Build Coastguard Worker 1326*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1327*c9945492SAndroid Build Coastguard Worker- broken relocations in mips dynamic linker (regression in 1.1.3) 1328*c9945492SAndroid Build Coastguard Worker- register state corruption in setjmp asm for microblaze 1329*c9945492SAndroid Build Coastguard Worker- broken struct stat st_ino field on microblaze 1330*c9945492SAndroid Build Coastguard Worker- broken struct stat st_dev field on big endian mips 1331*c9945492SAndroid Build Coastguard Worker- broken asm register constraints in atomics on powerpc 1332*c9945492SAndroid Build Coastguard Worker- missing barriers in atomics on mips, powerpc, microblaze, and sh 1333*c9945492SAndroid Build Coastguard Worker 1334*c9945492SAndroid Build Coastguard Worker 1335*c9945492SAndroid Build Coastguard Worker 1336*c9945492SAndroid Build Coastguard Worker1.1.5 release notes 1337*c9945492SAndroid Build Coastguard Worker 1338*c9945492SAndroid Build Coastguard Workernew features: 1339*c9945492SAndroid Build Coastguard Worker- full C11 coverage (threads, UTF-16/32 API, timespec_get, etc.) 1340*c9945492SAndroid Build Coastguard Worker- malloc_usable_size function (nonstandard) 1341*c9945492SAndroid Build Coastguard Worker- support for new F_OFD_* fcntl operations (linux 3.15, POSIX-future) 1342*c9945492SAndroid Build Coastguard Worker- new _DEFAULT_SOURCE feature test macro to request default profile 1343*c9945492SAndroid Build Coastguard Worker 1344*c9945492SAndroid Build Coastguard Workerperformance: 1345*c9945492SAndroid Build Coastguard Worker- private-futex support 1346*c9945492SAndroid Build Coastguard Worker- redesigned cond var implementation with major performance improvement 1347*c9945492SAndroid Build Coastguard Worker- tweaked spinning in userspace before performing futex waits 1348*c9945492SAndroid Build Coastguard Worker 1349*c9945492SAndroid Build Coastguard Workerbugs fixed: 1350*c9945492SAndroid Build Coastguard Worker- failure of dn_expand to null-terminate name for crafted DNS packets 1351*c9945492SAndroid Build Coastguard Worker- corruption of cond var mutex state when switching mutexes 1352*c9945492SAndroid Build Coastguard Worker- use of uninitialized memory with application-provided thread stacks 1353*c9945492SAndroid Build Coastguard Worker- false ownership of orphaned mutexes due to tid reuse 1354*c9945492SAndroid Build Coastguard Worker- possible failure-to-wake for robust mutexes on owner death 1355*c9945492SAndroid Build Coastguard Worker- subtle errors in robust mutex unrecoverable status handling 1356*c9945492SAndroid Build Coastguard Worker- missing memory/compiler barrier spinning to obtain locks 1357*c9945492SAndroid Build Coastguard Worker- wrong behavior in various zero-length stdio operations 1358*c9945492SAndroid Build Coastguard Worker- buffer overflow in swab with odd argument 1359*c9945492SAndroid Build Coastguard Worker- incorrect sequence generation in the rand48 family of prng functions 1360*c9945492SAndroid Build Coastguard Worker- missing cancellation check in non-wait paths of sem_wait, pthread_join 1361*c9945492SAndroid Build Coastguard Worker- missing barrier in pthread_once fast path 1362*c9945492SAndroid Build Coastguard Worker- memory leak in regexec when input contains illegal sequence 1363*c9945492SAndroid Build Coastguard Worker- various parser bugs in regcomp 1364*c9945492SAndroid Build Coastguard Worker- wrong return value on overflow in some strtoul-family functions 1365*c9945492SAndroid Build Coastguard Worker- broken CPU_EQUAL macro in sched.h 1366*c9945492SAndroid Build Coastguard Worker- dlerror not working in static-linked programs 1367*c9945492SAndroid Build Coastguard Worker- mishandling of negative non-whole-hour TZ offsets 1368*c9945492SAndroid Build Coastguard Worker- incorrect case mappings for U+00DF 1369*c9945492SAndroid Build Coastguard Worker- namespace pollution via accidentally-non-static function named "dummy" 1370*c9945492SAndroid Build Coastguard Worker- missing __fpclassifyl and __signbitl definitions for ld64 archs 1371*c9945492SAndroid Build Coastguard Worker 1372*c9945492SAndroid Build Coastguard Worker 1373*c9945492SAndroid Build Coastguard Worker 1374*c9945492SAndroid Build Coastguard Worker1.1.6 release notes 1375*c9945492SAndroid Build Coastguard Worker 1376*c9945492SAndroid Build Coastguard Workernew features: 1377*c9945492SAndroid Build Coastguard Worker- getopt '-' flag for processing non-option arguments 1378*c9945492SAndroid Build Coastguard Worker- getopt_long argument permutation extension 1379*c9945492SAndroid Build Coastguard Worker- getopt_long abbreviated options 1380*c9945492SAndroid Build Coastguard Worker- ns_parserr and related DNS-packet-parsing functions 1381*c9945492SAndroid Build Coastguard Worker- fnmatch FNM_CASEFOLD extension 1382*c9945492SAndroid Build Coastguard Worker- support for translation of getopt error messages 1383*c9945492SAndroid Build Coastguard Worker- login_tty function (legacy) 1384*c9945492SAndroid Build Coastguard Worker 1385*c9945492SAndroid Build Coastguard Workerperformance: 1386*c9945492SAndroid Build Coastguard Worker- efficient atomics on armv7+ targets 1387*c9945492SAndroid Build Coastguard Worker- pthread_once shrink-wrapping of fast path 1388*c9945492SAndroid Build Coastguard Worker 1389*c9945492SAndroid Build Coastguard Workercompatibility: 1390*c9945492SAndroid Build Coastguard Worker- baseline arm binaries now work on new cpus/kernels without kuser_helper 1391*c9945492SAndroid Build Coastguard Worker- dynamic linker now honors DT_RUNPATH without DT_RPATH (new binutils) 1392*c9945492SAndroid Build Coastguard Worker- arm asm is now compatible with clang's internal assembler 1393*c9945492SAndroid Build Coastguard Worker- suppress macro implementations of functions when headers are used in C++ 1394*c9945492SAndroid Build Coastguard Worker- increased message length limit for syslog 1395*c9945492SAndroid Build Coastguard Worker 1396*c9945492SAndroid Build Coastguard Workerbugs fixed: 1397*c9945492SAndroid Build Coastguard Worker- open ignored file creation mode argument for O_TMPFILE 1398*c9945492SAndroid Build Coastguard Worker- wrong printf formatting for %#.0o with value zero 1399*c9945492SAndroid Build Coastguard Worker- missing private state for uchar.h functions (null ps pointer) 1400*c9945492SAndroid Build Coastguard Worker- sched_getaffinity left uninitialized data in output bit array 1401*c9945492SAndroid Build Coastguard Worker- wrong return values for pthread_getaffinity_np and pthread_setaffinity_np 1402*c9945492SAndroid Build Coastguard Worker- buggy handling of multibyte option chars with arguments in getopt 1403*c9945492SAndroid Build Coastguard Worker- printf failed to report or stop on write errors 1404*c9945492SAndroid Build Coastguard Worker- printf failed to honor '+' modifier when printing NANs 1405*c9945492SAndroid Build Coastguard Worker- wcsnrtombs returned the wrong value in one code path 1406*c9945492SAndroid Build Coastguard Worker- syslog failed to check for connect error 1407*c9945492SAndroid Build Coastguard Worker- multi-threaded set*id() had spurious failures from ugly workaround code 1408*c9945492SAndroid Build Coastguard Worker- various minor header conformance bugs (signedness, constant expressions, ...) 1409*c9945492SAndroid Build Coastguard Worker 1410*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1411*c9945492SAndroid Build Coastguard Worker- on or1k, some syscalls with 64-bit arguments were broken (misaligned) 1412*c9945492SAndroid Build Coastguard Worker- usage of sahf instruction on x86_64 crashed on some early cpu models 1413*c9945492SAndroid Build Coastguard Worker 1414*c9945492SAndroid Build Coastguard Worker 1415*c9945492SAndroid Build Coastguard Worker 1416*c9945492SAndroid Build Coastguard Worker1.1.7 release notes 1417*c9945492SAndroid Build Coastguard Worker 1418*c9945492SAndroid Build Coastguard Workernew features: 1419*c9945492SAndroid Build Coastguard Worker- alternate passwd/group backend support via nscd protocol 1420*c9945492SAndroid Build Coastguard Worker- masked cancellation mode extension (experimental) 1421*c9945492SAndroid Build Coastguard Worker- aio cancellation 1422*c9945492SAndroid Build Coastguard Worker- aarch64 port (experimental) 1423*c9945492SAndroid Build Coastguard Worker 1424*c9945492SAndroid Build Coastguard Workerperformance: 1425*c9945492SAndroid Build Coastguard Worker- significant memset asm optimizations on i386 and x86_64 1426*c9945492SAndroid Build Coastguard Worker 1427*c9945492SAndroid Build Coastguard Workercompatibility: 1428*c9945492SAndroid Build Coastguard Worker- suppress EINTR in semaphores for old kernels where futex restart is broken 1429*c9945492SAndroid Build Coastguard Worker- always set optarg in getopt_long 1430*c9945492SAndroid Build Coastguard Worker- support SOCK_RAW socket type in getaddrinfo 1431*c9945492SAndroid Build Coastguard Worker- report success instead of EINPROGRESS when close is interrupted 1432*c9945492SAndroid Build Coastguard Worker 1433*c9945492SAndroid Build Coastguard Workerbugs fixed: 1434*c9945492SAndroid Build Coastguard Worker- multithreaded set*id() was not async-signal safe, had various race bugs 1435*c9945492SAndroid Build Coastguard Worker- getspnam_r returned results for partial username matches 1436*c9945492SAndroid Build Coastguard Worker- wordexp bad character checker mis-counted parentheses 1437*c9945492SAndroid Build Coastguard Worker- close on fd with pending aio could lead to file corruption 1438*c9945492SAndroid Build Coastguard Worker- old aio implementation had numerous conformance bugs 1439*c9945492SAndroid Build Coastguard Worker- malloc init code could deadlock due to race condition 1440*c9945492SAndroid Build Coastguard Worker- pthread_exit did not disable cancellation 1441*c9945492SAndroid Build Coastguard Worker- pthread_cond_wait could wrongly consume signal on cancellation 1442*c9945492SAndroid Build Coastguard Worker- execvp wrongly stopped path search on EACCESS 1443*c9945492SAndroid Build Coastguard Worker- fsync, fdatasync, and msync were not honored as cancellation points 1444*c9945492SAndroid Build Coastguard Worker- fchmodat was subject to fd leak race (missing O_CLOEXEC) 1445*c9945492SAndroid Build Coastguard Worker- fchmodat failed to report EOPNOTSUPP in race path 1446*c9945492SAndroid Build Coastguard Worker- passwd/group lookup functions had various minor error-reporting bugs 1447*c9945492SAndroid Build Coastguard Worker- isatty had false-positives/device-state-corruption for OSS sound devices 1448*c9945492SAndroid Build Coastguard Worker- configure script failed to detect gcc with translated messages 1449*c9945492SAndroid Build Coastguard Worker- FLT_ROUNDS macro failed to reflect rounding mode changes in fenv 1450*c9945492SAndroid Build Coastguard Worker 1451*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1452*c9945492SAndroid Build Coastguard Worker- mips fesetenv did not handle FE_DFL_ENV 1453*c9945492SAndroid Build Coastguard Worker- mips POLLWRNORM and POLLWRBAND macros had wrong values 1454*c9945492SAndroid Build Coastguard Worker- x32 pthread synchronization object type definitions were wrong 1455*c9945492SAndroid Build Coastguard Worker- powerpc minimum signal stack size was insufficient 1456*c9945492SAndroid Build Coastguard Worker 1457*c9945492SAndroid Build Coastguard Worker 1458*c9945492SAndroid Build Coastguard Worker 1459*c9945492SAndroid Build Coastguard Worker1.1.8 release notes 1460*c9945492SAndroid Build Coastguard Worker 1461*c9945492SAndroid Build Coastguard Workerbugs fixed: 1462*c9945492SAndroid Build Coastguard Worker- stack-based buffer overflow in inet_pton (CVE-2015-1817) 1463*c9945492SAndroid Build Coastguard Worker- regcomp crash/mem-corruption with illegal bytes after backslash 1464*c9945492SAndroid Build Coastguard Worker- regcomp wrongly allowed backrefs in ER 1465*c9945492SAndroid Build Coastguard Worker- regcomp miscompiled character class brace-repetitions 1466*c9945492SAndroid Build Coastguard Worker- regcomp wrongly processed \0 as an unmatchable backref 1467*c9945492SAndroid Build Coastguard Worker- new FLT_ROUNDS definition failed to work in C++ code 1468*c9945492SAndroid Build Coastguard Worker 1469*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1470*c9945492SAndroid Build Coastguard Worker- aarch64 was missing max_align_t definition 1471*c9945492SAndroid Build Coastguard Worker 1472*c9945492SAndroid Build Coastguard Worker 1473*c9945492SAndroid Build Coastguard Worker 1474*c9945492SAndroid Build Coastguard Worker1.1.9 release notes 1475*c9945492SAndroid Build Coastguard Worker 1476*c9945492SAndroid Build Coastguard Workernew features: 1477*c9945492SAndroid Build Coastguard Worker- ability to protect libc code itself with stack protector 1478*c9945492SAndroid Build Coastguard Worker- sigsetjmp now restores signal mask after restoring context, not before 1479*c9945492SAndroid Build Coastguard Worker- thread-local dlerror status/messages 1480*c9945492SAndroid Build Coastguard Worker- dlerror messages are no longer truncated 1481*c9945492SAndroid Build Coastguard Worker- diagnostics for constraint violations with ctype.h macros 1482*c9945492SAndroid Build Coastguard Worker 1483*c9945492SAndroid Build Coastguard Workeroptimizations: 1484*c9945492SAndroid Build Coastguard Worker- reduce cost of PIC on archs where PLT calls need a fixed GOT register 1485*c9945492SAndroid Build Coastguard Worker- spin locks no longer constantly invalidate cache lines while spinning 1486*c9945492SAndroid Build Coastguard Worker- code size reduction in static-linked TLS init 1487*c9945492SAndroid Build Coastguard Worker 1488*c9945492SAndroid Build Coastguard Workerbugs fixed: 1489*c9945492SAndroid Build Coastguard Worker- failure to process robust mutexes on detached-thread exit 1490*c9945492SAndroid Build Coastguard Worker- possible memory corruption due to robust mutex list on detached-thread exit 1491*c9945492SAndroid Build Coastguard Worker- crash on memory exhaustion in getgr* internals 1492*c9945492SAndroid Build Coastguard Worker- misaligned memory accesses in static binaries with low-alignment TLS blocks 1493*c9945492SAndroid Build Coastguard Worker- multiple cases of wrongful path search continuation after transient failure 1494*c9945492SAndroid Build Coastguard Worker- small memory leak on failure of dlopen with RPATH $ORIGIN 1495*c9945492SAndroid Build Coastguard Worker- several small math bugs related to exception flags with non-finite args 1496*c9945492SAndroid Build Coastguard Worker- mmap leak in sem_open failure path for link call 1497*c9945492SAndroid Build Coastguard Worker- duplocale clobbered new locale struct with memcpy of old 1498*c9945492SAndroid Build Coastguard Worker- futimes crashed with null timeval argument 1499*c9945492SAndroid Build Coastguard Worker 1500*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1501*c9945492SAndroid Build Coastguard Worker- stack protector spuriously aborted after forking on x32 1502*c9945492SAndroid Build Coastguard Worker- stack protector spuriously aborted with flockfile on powerpc 1503*c9945492SAndroid Build Coastguard Worker- theoretically-possible clobbering of syscall return value on mips 1504*c9945492SAndroid Build Coastguard Worker- random thread-pointer setup failure on sh (uninitialized return value) 1505*c9945492SAndroid Build Coastguard Worker- possible crash in dlsym on sh due to incorrectly-computed branch target 1506*c9945492SAndroid Build Coastguard Worker- broken fesetenv(FE_DFL_ENV) on mips 1507*c9945492SAndroid Build Coastguard Worker- dynamic linker name for sh ignored fpu/nofpu and endianness 1508*c9945492SAndroid Build Coastguard Worker- various minor aarch64 bugs 1509*c9945492SAndroid Build Coastguard Worker- dangling pointers in x32 syscall timespec fixup code 1510*c9945492SAndroid Build Coastguard Worker 1511*c9945492SAndroid Build Coastguard Worker 1512*c9945492SAndroid Build Coastguard Worker 1513*c9945492SAndroid Build Coastguard Worker1.1.10 release notes 1514*c9945492SAndroid Build Coastguard Worker 1515*c9945492SAndroid Build Coastguard Workernew features: 1516*c9945492SAndroid Build Coastguard Worker- fail-safe (allocation-free) C locale for newlocale to return 1517*c9945492SAndroid Build Coastguard Worker- all locale categories track requested locale name 1518*c9945492SAndroid Build Coastguard Worker- rcrt1.o start file for static PIE 1519*c9945492SAndroid Build Coastguard Worker 1520*c9945492SAndroid Build Coastguard Workeroptimizations: 1521*c9945492SAndroid Build Coastguard Worker- inline atomics for sh4a 1522*c9945492SAndroid Build Coastguard Worker- removed heavy atomics from locale-related code paths 1523*c9945492SAndroid Build Coastguard Worker- removed global data accesses from CURRENT_LOCALE macro & callers 1524*c9945492SAndroid Build Coastguard Worker- dynamic linker stage 1 size reduction 1525*c9945492SAndroid Build Coastguard Worker 1526*c9945492SAndroid Build Coastguard Workercompatibility: 1527*c9945492SAndroid Build Coastguard Worker- better configure detection of unsupported compiler options 1528*c9945492SAndroid Build Coastguard Worker- support for more relocation types in libc.so, not currently used 1529*c9945492SAndroid Build Coastguard Worker- iconv_open accepts "" and "CHAR" as aliases for native (UTF-8) 1530*c9945492SAndroid Build Coastguard Worker- additional LFS64 macros in sys/resource.h 1531*c9945492SAndroid Build Coastguard Worker 1532*c9945492SAndroid Build Coastguard Workerregressions fixed: 1533*c9945492SAndroid Build Coastguard Worker- dynamic linker crash on NONE-type relocations (only mips affected) 1534*c9945492SAndroid Build Coastguard Worker- inability to build as thumb2 on arm 1535*c9945492SAndroid Build Coastguard Worker- failure to run under qemu-i386 user-level emulation 1536*c9945492SAndroid Build Coastguard Worker- inability to access globals from libc on powerpc 1537*c9945492SAndroid Build Coastguard Worker- PIE link errors in Scrt1.o under unusual usage on some archs 1538*c9945492SAndroid Build Coastguard Worker 1539*c9945492SAndroid Build Coastguard Workerother bugs fixed: 1540*c9945492SAndroid Build Coastguard Worker- failure of ungetc/ungetwc to work on FILE streams in EOF state 1541*c9945492SAndroid Build Coastguard Worker- possible null pointer dereference in gettext 1542*c9945492SAndroid Build Coastguard Worker- possible initial stack misalignment on mips with PIE 1543*c9945492SAndroid Build Coastguard Worker 1544*c9945492SAndroid Build Coastguard Worker 1545*c9945492SAndroid Build Coastguard Worker 1546*c9945492SAndroid Build Coastguard Worker1.1.11 release notes 1547*c9945492SAndroid Build Coastguard Worker 1548*c9945492SAndroid Build Coastguard Workernew features: 1549*c9945492SAndroid Build Coastguard Worker- byte-based C locale 1550*c9945492SAndroid Build Coastguard Worker- vdso clock_gettime on arm 1551*c9945492SAndroid Build Coastguard Worker- musl-clang wrapper 1552*c9945492SAndroid Build Coastguard Worker- sh2 nommu target support 1553*c9945492SAndroid Build Coastguard Worker 1554*c9945492SAndroid Build Coastguard Workerperformance: 1555*c9945492SAndroid Build Coastguard Worker- major speed-up for dynamic linker symbol lookups with GNU hash 1556*c9945492SAndroid Build Coastguard Worker 1557*c9945492SAndroid Build Coastguard Workercompatibility: 1558*c9945492SAndroid Build Coastguard Worker- strverscmp now matches GNU behavior in corner cases 1559*c9945492SAndroid Build Coastguard Worker- empty TZ environment variable gives GMT rather than system default 1560*c9945492SAndroid Build Coastguard Worker- reconnection on syslog server socket loss (syslogd restart) 1561*c9945492SAndroid Build Coastguard Worker- mmap fallback in simple_malloc when brk fails 1562*c9945492SAndroid Build Coastguard Worker- support for %m and %s with null pointers in wide printf variants 1563*c9945492SAndroid Build Coastguard Worker- call frame information in i386 asm for improved debugger support 1564*c9945492SAndroid Build Coastguard Worker 1565*c9945492SAndroid Build Coastguard Workerbugs fixed: 1566*c9945492SAndroid Build Coastguard Worker- spurious errors from pwd/grp functions when nscd backend is absent 1567*c9945492SAndroid Build Coastguard Worker- possible invalid access on calloc with simple_malloc 1568*c9945492SAndroid Build Coastguard Worker- null pointer dereferences after calling uselocale((locale_t)0) 1569*c9945492SAndroid Build Coastguard Worker- erroneous support for cancellation in stdio caused data loss 1570*c9945492SAndroid Build Coastguard Worker- inconsistent handling of atexit called from atexit handler 1571*c9945492SAndroid Build Coastguard Worker- missing locking in error paths for ungetwc 1572*c9945492SAndroid Build Coastguard Worker- btowc mishandling of out-of-range non-EOF inputs 1573*c9945492SAndroid Build Coastguard Worker- negated return value of ns_skiprr, failure in related functions 1574*c9945492SAndroid Build Coastguard Worker- incorrect void return type for syncfs, missing error status 1575*c9945492SAndroid Build Coastguard Worker- possible failure of tempnam due to missing null termination 1576*c9945492SAndroid Build Coastguard Worker- negated tm_gmtoff field in struct tm 1577*c9945492SAndroid Build Coastguard Worker- off-by-one error in getsubopt leaving equals sign in value result 1578*c9945492SAndroid Build Coastguard Worker 1579*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1580*c9945492SAndroid Build Coastguard Worker- soft deadlocks on i386/x86_64 due to missing barrier in internal locks 1581*c9945492SAndroid Build Coastguard Worker- regression in arm pre-v7 support for kernels with kuser helper removed 1582*c9945492SAndroid Build Coastguard Worker- runaway PC on mips detached thread exit (due to kernel regression) 1583*c9945492SAndroid Build Coastguard Worker- mismatched ABI for local-dynamic model TLS on mips and powerpc 1584*c9945492SAndroid Build Coastguard Worker- incorrect value of some SO_* constants on mips 1585*c9945492SAndroid Build Coastguard Worker- broken 64-bit syscall argument passing on aarch64 1586*c9945492SAndroid Build Coastguard Worker 1587*c9945492SAndroid Build Coastguard Worker 1588*c9945492SAndroid Build Coastguard Worker 1589*c9945492SAndroid Build Coastguard Worker1.1.12 release notes 1590*c9945492SAndroid Build Coastguard Worker 1591*c9945492SAndroid Build Coastguard Workernew features: 1592*c9945492SAndroid Build Coastguard Worker- fdpic abi on sh2 for shareable text segment without mmu 1593*c9945492SAndroid Build Coastguard Worker- general fdpic elf support in dynamic linker 1594*c9945492SAndroid Build Coastguard Worker- CFI generation for x86_64 asm source files 1595*c9945492SAndroid Build Coastguard Worker- protection against silently building a libc.so with missing symbols 1596*c9945492SAndroid Build Coastguard Worker 1597*c9945492SAndroid Build Coastguard Workercompatibility: 1598*c9945492SAndroid Build Coastguard Worker- nl_langinfo(CODESET) now returns "ASCII" in byte-based C locale 1599*c9945492SAndroid Build Coastguard Worker- fixed build regression due to buggy .SECONDARY in some GNU make versions 1600*c9945492SAndroid Build Coastguard Worker- additional arm eabi functions needed by llvm arm backend 1601*c9945492SAndroid Build Coastguard Worker- added format argument attributes to gettext function prototypes 1602*c9945492SAndroid Build Coastguard Worker- static PIE no longer requires linking with -E/-rdynamic 1603*c9945492SAndroid Build Coastguard Worker- eliminated spurious protected-data warnings linking against libc.so 1604*c9945492SAndroid Build Coastguard Worker- avoided spurious fpu asm errors with some armhf toolchains 1605*c9945492SAndroid Build Coastguard Worker 1606*c9945492SAndroid Build Coastguard Workerbugs fixed: 1607*c9945492SAndroid Build Coastguard Worker- fclose of stdin/stdout caused deadlock at exit 1608*c9945492SAndroid Build Coastguard Worker- missing memory barrier in pthread_join 1609*c9945492SAndroid Build Coastguard Worker- open_[w]memstream produced no buffer when no writes took place 1610*c9945492SAndroid Build Coastguard Worker- uninitialized scopeid in address lookups from hosts file and ip literals 1611*c9945492SAndroid Build Coastguard Worker- ip literals for mismatching family (v4 vs v6) were queried as hostnames 1612*c9945492SAndroid Build Coastguard Worker- possible crash on OOM in regcomp 1613*c9945492SAndroid Build Coastguard Worker- incorrect contents in localeconv structure (-1 instead of CHAR_MAX) 1614*c9945492SAndroid Build Coastguard Worker- strftime mishandling of out-of-range struct tm members 1615*c9945492SAndroid Build Coastguard Worker- wrongful attribute((const)) on pthread_self and errno location function 1616*c9945492SAndroid Build Coastguard Worker 1617*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1618*c9945492SAndroid Build Coastguard Worker- arm crt1 entry point failed to align stack pointer in some cases 1619*c9945492SAndroid Build Coastguard Worker- mips fesetround failed to actually set rounding mode 1620*c9945492SAndroid Build Coastguard Worker- i386 asm source CFI generation had multiple bugs 1621*c9945492SAndroid Build Coastguard Worker 1622*c9945492SAndroid Build Coastguard Worker 1623*c9945492SAndroid Build Coastguard Worker 1624*c9945492SAndroid Build Coastguard Worker1.1.13 release notes 1625*c9945492SAndroid Build Coastguard Worker 1626*c9945492SAndroid Build Coastguard Workernew features: 1627*c9945492SAndroid Build Coastguard Worker- out-of-tree builds 1628*c9945492SAndroid Build Coastguard Worker- search domains in resolv.conf 1629*c9945492SAndroid Build Coastguard Worker- sh arch supports j-core (j2) cas.l atomics 1630*c9945492SAndroid Build Coastguard Worker- dynamic linker includes arch/abi in output when run as a command 1631*c9945492SAndroid Build Coastguard Worker- header support for new kernel features through linux 4.4 1632*c9945492SAndroid Build Coastguard Worker- mips vdso clock_gettime support 1633*c9945492SAndroid Build Coastguard Worker- regex BRE extensions: \|, \+, \? 1634*c9945492SAndroid Build Coastguard Worker 1635*c9945492SAndroid Build Coastguard Workerperformance: 1636*c9945492SAndroid Build Coastguard Worker- improved atomics performance on all archs with ll/sc model 1637*c9945492SAndroid Build Coastguard Worker- atomic instructions are now inlined on armv6 1638*c9945492SAndroid Build Coastguard Worker- use fpu sqrt for arm softfp abi on targets with vfp 1639*c9945492SAndroid Build Coastguard Worker 1640*c9945492SAndroid Build Coastguard Workercompatibility: 1641*c9945492SAndroid Build Coastguard Worker- getnameinfo now accepts sockaddr sizes larger than needed 1642*c9945492SAndroid Build Coastguard Worker- new default CFLAGS/LDFLAGS avoid entire classes of toolchain bugs 1643*c9945492SAndroid Build Coastguard Worker- explicit use of float_t/double_t avoids compiler float spill bugs 1644*c9945492SAndroid Build Coastguard Worker- i386 max_align_t definition now works with g++ 4.7's pseudo-c++11 1645*c9945492SAndroid Build Coastguard Worker- all known protocols are added to protoent functions 1646*c9945492SAndroid Build Coastguard Worker- stub utmpname, utmpxname functions 1647*c9945492SAndroid Build Coastguard Worker- linker support for -Bsymbolic-functions is no longer mandatory 1648*c9945492SAndroid Build Coastguard Worker- regex parsing size limits increased 1649*c9945492SAndroid Build Coastguard Worker- malloc_usable_size now accepts null pointer input 1650*c9945492SAndroid Build Coastguard Worker 1651*c9945492SAndroid Build Coastguard Workerbugs fixed: 1652*c9945492SAndroid Build Coastguard Worker- potential single-byte heap overflow in getdelim 1653*c9945492SAndroid Build Coastguard Worker- mishandling of transient failure opening hosts, services, resolv.conf 1654*c9945492SAndroid Build Coastguard Worker- mremap was sometimes able to allocate objects larger than PTRDIFF_MAX 1655*c9945492SAndroid Build Coastguard Worker- nl_langinfo wrongly returned NULL instead of "" for invalid items 1656*c9945492SAndroid Build Coastguard Worker- out-of-bounds dynamic tls allocation due to pointer/index scaling error 1657*c9945492SAndroid Build Coastguard Worker- getifaddrs misreported point-to-point interface addresses 1658*c9945492SAndroid Build Coastguard Worker- tdelete left tsearch trees misbalanced 1659*c9945492SAndroid Build Coastguard Worker- tsearch crashed on allocation failure 1660*c9945492SAndroid Build Coastguard Worker- tsearch, tfind, and tdelete failed to handle null pointer input 1661*c9945492SAndroid Build Coastguard Worker- passing signal number 0 to sigaction resulted in a crash 1662*c9945492SAndroid Build Coastguard Worker- getdelim updated caller's size wrongly when realloc failed 1663*c9945492SAndroid Build Coastguard Worker- getdelim realloc strategy was wasteful 1664*c9945492SAndroid Build Coastguard Worker- if_nametoindex returned wrong value on failure 1665*c9945492SAndroid Build Coastguard Worker- missing ssp-suppression for some source files called from early-init 1666*c9945492SAndroid Build Coastguard Worker- various minor resolv.conf parsing bugs 1667*c9945492SAndroid Build Coastguard Worker- fwrite wrongly reported success on write errors in line-buffered flush 1668*c9945492SAndroid Build Coastguard Worker- fwrite and fread wrongly returned nmemb (not 0) when size was 0 1669*c9945492SAndroid Build Coastguard Worker 1670*c9945492SAndroid Build Coastguard Workernommu-specific bugs fix: 1671*c9945492SAndroid Build Coastguard Worker- failure to zero bss in FDPIC shared library loader 1672*c9945492SAndroid Build Coastguard Worker- unsafe writes to read-only file mapping in non-FDPIC library loader 1673*c9945492SAndroid Build Coastguard Worker 1674*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1675*c9945492SAndroid Build Coastguard Worker- sh[eb]-nofpu-fdpic was using fpu-dependent setjmp/longjmp variants 1676*c9945492SAndroid Build Coastguard Worker- dynamic linker path file name was wrong for arm "softfp" targets 1677*c9945492SAndroid Build Coastguard Worker- mips siginfo_t and related macros were defined incorrectly 1678*c9945492SAndroid Build Coastguard Worker- possibly misaligned pointer globals on arm (from an asm source file) 1679*c9945492SAndroid Build Coastguard Worker- mips dynamic linker failed to provide info needed by debugger 1680*c9945492SAndroid Build Coastguard Worker- mips cancellation asm wrongly assumed validity of $gp register value 1681*c9945492SAndroid Build Coastguard Worker 1682*c9945492SAndroid Build Coastguard Worker 1683*c9945492SAndroid Build Coastguard Worker 1684*c9945492SAndroid Build Coastguard Worker1.1.14 release notes 1685*c9945492SAndroid Build Coastguard Worker 1686*c9945492SAndroid Build Coastguard Workerregressions fixed: 1687*c9945492SAndroid Build Coastguard Worker- treatment of empty string argument as error by puts and fputs 1688*c9945492SAndroid Build Coastguard Worker- make clean and distclean failure in unconfigured trees 1689*c9945492SAndroid Build Coastguard Worker- sh/fdpic dynamic linker entry point hang due to wrong code 1690*c9945492SAndroid Build Coastguard Worker- armhf (and arm softfp model) build failure with clang 1691*c9945492SAndroid Build Coastguard Worker 1692*c9945492SAndroid Build Coastguard Workerother bugs fixed: 1693*c9945492SAndroid Build Coastguard Worker- wrongly clamping (rather than failing) excessive rounds in crypt-sha* 1694*c9945492SAndroid Build Coastguard Worker 1695*c9945492SAndroid Build Coastguard Worker 1696*c9945492SAndroid Build Coastguard Worker 1697*c9945492SAndroid Build Coastguard Worker1.1.15 release notes 1698*c9945492SAndroid Build Coastguard Worker 1699*c9945492SAndroid Build Coastguard Workernew features: 1700*c9945492SAndroid Build Coastguard Worker- mips64 (full 64-bit and n32) port 1701*c9945492SAndroid Build Coastguard Worker- mips r6 isa support (subarch for mips, mips64, and mipsn32 archs) 1702*c9945492SAndroid Build Coastguard Worker- powerpc64 port 1703*c9945492SAndroid Build Coastguard Worker- powerpc (32-bit) soft-float ABI support (subarch) 1704*c9945492SAndroid Build Coastguard Worker- pthread_tryjoin_np and pthread_timedjoin_np (nonstandard extensions) 1705*c9945492SAndroid Build Coastguard Worker- header-level support for linux 4.5 and 4.6 features 1706*c9945492SAndroid Build Coastguard Worker- sched_getcpu (nonstandard extension) support, including vdso version 1707*c9945492SAndroid Build Coastguard Worker- __STDC_ISO_10646__, __STDC_IEC_559__ macros predefined via stdc-predef.h 1708*c9945492SAndroid Build Coastguard Worker- support for new elf/arch features in elf.h 1709*c9945492SAndroid Build Coastguard Worker 1710*c9945492SAndroid Build Coastguard Workercompatibility: 1711*c9945492SAndroid Build Coastguard Worker- configure now correctly chooses cross-prefix based on build/host/target 1712*c9945492SAndroid Build Coastguard Worker- abort now successfully terminates pid 1 in a container (or top-level) 1713*c9945492SAndroid Build Coastguard Worker 1714*c9945492SAndroid Build Coastguard Workerbugs fixed: 1715*c9945492SAndroid Build Coastguard Worker- memmem read past end of haystack, possible false positives or crashes 1716*c9945492SAndroid Build Coastguard Worker- buffer underflow (reverse-overflow) in ungetwc 1717*c9945492SAndroid Build Coastguard Worker- double-free under certain usage of putenv 1718*c9945492SAndroid Build Coastguard Worker- incorrect treatment by regcomp of * at start of BRE subexpression 1719*c9945492SAndroid Build Coastguard Worker- gethostbyname[2][_r] produced ip addresses in misaligned buffers 1720*c9945492SAndroid Build Coastguard Worker- looking up some invalid hostnames caused malformed dns queries 1721*c9945492SAndroid Build Coastguard Worker- lookups from hosts file were inconsistent with non-matching family 1722*c9945492SAndroid Build Coastguard Worker- missing h_length value in gethostbyaddr results 1723*c9945492SAndroid Build Coastguard Worker- a64l function produced wrong-signed results on 64-bit archs 1724*c9945492SAndroid Build Coastguard Worker- broken padding of string formats to width in wide printf variants 1725*c9945492SAndroid Build Coastguard Worker- wrong results for expf(-NAN) and exp2f(-NAN) 1726*c9945492SAndroid Build Coastguard Worker- wrong value for RUSAGE_CHILDREN prevented it from working 1727*c9945492SAndroid Build Coastguard Worker- abort failed to provide abnormal termination with SIGABRT blocked 1728*c9945492SAndroid Build Coastguard Worker 1729*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1730*c9945492SAndroid Build Coastguard Worker- broken posix_fadvise on arm and powerpc (32-bit) 1731*c9945492SAndroid Build Coastguard Worker- thread structure/dtv corruption on powerpc at thread startup 1732*c9945492SAndroid Build Coastguard Worker- various wrong mips and powerpc ioctl and termios constant values 1733*c9945492SAndroid Build Coastguard Worker 1734*c9945492SAndroid Build Coastguard Worker 1735*c9945492SAndroid Build Coastguard Worker 1736*c9945492SAndroid Build Coastguard Worker1.1.16 release notes 1737*c9945492SAndroid Build Coastguard Worker 1738*c9945492SAndroid Build Coastguard Workernew features: 1739*c9945492SAndroid Build Coastguard Worker- s390x (64-bit S/390) port 1740*c9945492SAndroid Build Coastguard Worker- pthread_setname_np extension function 1741*c9945492SAndroid Build Coastguard Worker- limited pthread_setattr_default_np function to set stack size defaults 1742*c9945492SAndroid Build Coastguard Worker- header-level support for linux 4.7, 4.8, and 4.9 features 1743*c9945492SAndroid Build Coastguard Worker- confstr _CS_V6_ENV and _CS_V7_ENV items 1744*c9945492SAndroid Build Coastguard Worker 1745*c9945492SAndroid Build Coastguard Workercompatibility: 1746*c9945492SAndroid Build Coastguard Worker- public prototypes for abi-compat *_unlocked symbols, etc. 1747*c9945492SAndroid Build Coastguard Worker- fflush_unlocked(NULL) now works 1748*c9945492SAndroid Build Coastguard Worker- resolv.h __RES version macro now matches supported APIs 1749*c9945492SAndroid Build Coastguard Worker- workaround for gdb bugs backtracing across signals on x86_64 1750*c9945492SAndroid Build Coastguard Worker- anchors ^ and $ are now accepted in BRE subexpressions 1751*c9945492SAndroid Build Coastguard Worker- building for thumb2-only arm isa levels is now possible 1752*c9945492SAndroid Build Coastguard Worker 1753*c9945492SAndroid Build Coastguard Workerbugs fixed: 1754*c9945492SAndroid Build Coastguard Worker- integer overflows in regexec buffer allocation (CVE-2016-8859) 1755*c9945492SAndroid Build Coastguard Worker- failure of regexec to report matches at offsets past INT_MAX 1756*c9945492SAndroid Build Coastguard Worker- static-pie executables with initialized thread-local storage crashed 1757*c9945492SAndroid Build Coastguard Worker- printf failed to catch EOVERFLOW in some cases, wrongly produced it in others 1758*c9945492SAndroid Build Coastguard Worker- printf produced wrong output, result for float with precision near INT_MAX 1759*c9945492SAndroid Build Coastguard Worker- printf produced wrong results with alt-form octal, zero flag, & field width 1760*c9945492SAndroid Build Coastguard Worker- printf float rounding was wrong for some midpoint cases 1761*c9945492SAndroid Build Coastguard Worker- swprintf printed junk after internal (256-byte) buffer filled up 1762*c9945492SAndroid Build Coastguard Worker- strtod family rounded incorrectly in several corner cases 1763*c9945492SAndroid Build Coastguard Worker- getmntent failed to handle long records 1764*c9945492SAndroid Build Coastguard Worker- getopt_long_only wrongly treated "--" as an option 1765*c9945492SAndroid Build Coastguard Worker- asctime output wrongly varied by locale 1766*c9945492SAndroid Build Coastguard Worker- strftime %y specifier produced wrong output for negative tm_year 1767*c9945492SAndroid Build Coastguard Worker- time zone names quoted with <> were misparsed 1768*c9945492SAndroid Build Coastguard Worker- corner case integer overflow in tm_year for some date conversions 1769*c9945492SAndroid Build Coastguard Worker- failure to load shared libs whose names were prefixes of standard lib names 1770*c9945492SAndroid Build Coastguard Worker- wrong error codes for several failure cases in various functions 1771*c9945492SAndroid Build Coastguard Worker- various asymptomatic undefined behavior 1772*c9945492SAndroid Build Coastguard Worker- various minor namespace issues in headers 1773*c9945492SAndroid Build Coastguard Worker 1774*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1775*c9945492SAndroid Build Coastguard Worker- tcsetattr regression on mips (completely non-working) 1776*c9945492SAndroid Build Coastguard Worker- wrong pread/pwrite syscall calling convention on sh 1777*c9945492SAndroid Build Coastguard Worker- wrong preadv2/pwritev2 syscall numbers on x32 1778*c9945492SAndroid Build Coastguard Worker- mrand48/jrand48 produced wrong-signedness results on 64-bit archs 1779*c9945492SAndroid Build Coastguard Worker 1780*c9945492SAndroid Build Coastguard Worker 1781*c9945492SAndroid Build Coastguard Worker1.1.17 release notes 1782*c9945492SAndroid Build Coastguard Worker 1783*c9945492SAndroid Build Coastguard Workernew features: 1784*c9945492SAndroid Build Coastguard Worker- RTLD_LAZY deferred symbol binding, functionally equivalent to lazy binding 1785*c9945492SAndroid Build Coastguard Worker- safeguard against dlopen of multiple libc versions/instances 1786*c9945492SAndroid Build Coastguard Worker- new posix_spawn flag POSIX_SPAWN_SETSID 1787*c9945492SAndroid Build Coastguard Worker- posix_spawnattr_setflags now reports unknown flags as error 1788*c9945492SAndroid Build Coastguard Worker- ldso option --argv0 to set argv[0] 1789*c9945492SAndroid Build Coastguard Worker- added _NL_LOCALE_NAME extension to nl_langinfo 1790*c9945492SAndroid Build Coastguard Worker 1791*c9945492SAndroid Build Coastguard Workercompatibility: 1792*c9945492SAndroid Build Coastguard Worker- dlopen local-to-global promotion no longer changes existing symbols 1793*c9945492SAndroid Build Coastguard Worker- gettext now searches locale name variants for translation files 1794*c9945492SAndroid Build Coastguard Worker- increased locale name length limit from 15 to 23 bytes 1795*c9945492SAndroid Build Coastguard Worker- setlocale(LC_ALL, 0) returns single name if all categories are same 1796*c9945492SAndroid Build Coastguard Worker- realloc no longer fails when mremap doesn't work 1797*c9945492SAndroid Build Coastguard Worker- getservby* no longer treat numeric port strings as service records 1798*c9945492SAndroid Build Coastguard Worker- mmap now works around incorrect EPERM error codes from kernel 1799*c9945492SAndroid Build Coastguard Worker- impact of REG_* namespace pollution in x86[_64] signal.h is reduced 1800*c9945492SAndroid Build Coastguard Worker- arm atomic asm now assembles correctly with new binutils 1801*c9945492SAndroid Build Coastguard Worker- PAGE_SIZE on arm is no longer constant (quiet upstream ABI relaxation) 1802*c9945492SAndroid Build Coastguard Worker- lsearch/lfind now pass args to compare callback in canonical order 1803*c9945492SAndroid Build Coastguard Worker- STB_WEAK and STB_GNU_UNIQUE symbols now behave same as STB_GLOBAL 1804*c9945492SAndroid Build Coastguard Worker- better clang CFLAGS checks in configure 1805*c9945492SAndroid Build Coastguard Worker- global vis.h hack, which made lld refuse to link to libc.so, is disabled 1806*c9945492SAndroid Build Coastguard Worker 1807*c9945492SAndroid Build Coastguard Workerperformance: 1808*c9945492SAndroid Build Coastguard Worker- single-instruction optimized math functions for aarch64, s390x, powerpc64 1809*c9945492SAndroid Build Coastguard Worker- fast path for ASCII in towupper/towlower 1810*c9945492SAndroid Build Coastguard Worker- new mostly-integer-math fma function 1811*c9945492SAndroid Build Coastguard Worker 1812*c9945492SAndroid Build Coastguard Workersemantic bugs fixed: 1813*c9945492SAndroid Build Coastguard Worker- POSIX-format TZ dst time transitions were wrong for southern hemisphere 1814*c9945492SAndroid Build Coastguard Worker- regex REG_NEWLINE semantics were wrong with negated brackets 1815*c9945492SAndroid Build Coastguard Worker- various bugs in strptime %j, %p, %C formats 1816*c9945492SAndroid Build Coastguard Worker- iconv mapped some characters to legacy 8bit encodings incorrectly 1817*c9945492SAndroid Build Coastguard Worker- glob failed to match "/" 1818*c9945492SAndroid Build Coastguard Worker- UTF-8 decoder accepted invalid f4 9x xx xx code sequences 1819*c9945492SAndroid Build Coastguard Worker- scanf %% conversion failed to consume whitespace 1820*c9945492SAndroid Build Coastguard Worker- glob with GLOB_PERIOD wrongly descended into . and .. 1821*c9945492SAndroid Build Coastguard Worker- nftw gave incorrect base name offset when pathname ends in "/" 1822*c9945492SAndroid Build Coastguard Worker- functional regression in resolv.conf attempts option 1823*c9945492SAndroid Build Coastguard Worker- scalbn could produce wrong result due to double rounding in subnormal range 1824*c9945492SAndroid Build Coastguard Worker- strftime %y format wrong with negative years 1825*c9945492SAndroid Build Coastguard Worker- mbsnrtowcs and wcsnrtombs mishandled input limits 1826*c9945492SAndroid Build Coastguard Worker- minor issues with error codes for various functions 1827*c9945492SAndroid Build Coastguard Worker 1828*c9945492SAndroid Build Coastguard Workersafety/consistency bugs fixed: 1829*c9945492SAndroid Build Coastguard Worker- stack-based buffer overflow in dns response processing 1830*c9945492SAndroid Build Coastguard Worker- invalid free in regexec on certain error paths 1831*c9945492SAndroid Build Coastguard Worker- invalid free in globfree after failed glob 1832*c9945492SAndroid Build Coastguard Worker- one-byte buffer overflow in legacy getpass function 1833*c9945492SAndroid Build Coastguard Worker- failed dlopen corrupted thread-local storage module list 1834*c9945492SAndroid Build Coastguard Worker- race in pthread_create with priority attributes could leave signals masked 1835*c9945492SAndroid Build Coastguard Worker- multithreaded set*id() functions could induce spurious EINTRs 1836*c9945492SAndroid Build Coastguard Worker- dl_iterate_phdr reported wrong base address in static PIE 1837*c9945492SAndroid Build Coastguard Worker- fd leak and wrong cancellation state after dns socket failure 1838*c9945492SAndroid Build Coastguard Worker- memory leaks and other issues in environment-modification functions 1839*c9945492SAndroid Build Coastguard Worker- read-after-free race in pthread_detach 1840*c9945492SAndroid Build Coastguard Worker- memmem performed single-byte over-read in short-needle code paths 1841*c9945492SAndroid Build Coastguard Worker- read via uninitialized pointer in gettext core 1842*c9945492SAndroid Build Coastguard Worker- bindtextdomain broke bindings for all other domains 1843*c9945492SAndroid Build Coastguard Worker- various silent undefined behavior 1844*c9945492SAndroid Build Coastguard Worker- getopt clobbered optopt on success 1845*c9945492SAndroid Build Coastguard Worker 1846*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 1847*c9945492SAndroid Build Coastguard Worker- x32 dynamic TLS accesses crashed 1848*c9945492SAndroid Build Coastguard Worker- s390x was missing dlsym entry point (needed for RTLD_NEXT) 1849*c9945492SAndroid Build Coastguard Worker- powerpc64 ldso startup could crash depending on link order 1850*c9945492SAndroid Build Coastguard Worker- powerpc64 setjmp/longjmp didn't properly save/restore TOC pointer 1851*c9945492SAndroid Build Coastguard Worker- thumb2 setjmp/longjmp silently broke at ld-time with text not aligned 1852*c9945492SAndroid Build Coastguard Worker- fchown was broken on archs without SYS_fchown syscall 1853*c9945492SAndroid Build Coastguard Worker- fstatat was broken on mips64 1854*c9945492SAndroid Build Coastguard Worker- various incorrect constants in powerpc64 and mips headers 1855*c9945492SAndroid Build Coastguard Worker 1856*c9945492SAndroid Build Coastguard Worker 1857*c9945492SAndroid Build Coastguard Worker1.1.18 release notes 1858*c9945492SAndroid Build Coastguard Worker 1859*c9945492SAndroid Build Coastguard Workerregression fixes: 1860*c9945492SAndroid Build Coastguard Worker- glob failed to match literal . and .. path components 1861*c9945492SAndroid Build Coastguard Worker- build for armv4t ISA level was broken 1862*c9945492SAndroid Build Coastguard Worker 1863*c9945492SAndroid Build Coastguard Workerother bug fixes: 1864*c9945492SAndroid Build Coastguard Worker- stack overflow in posix_spawnp with large PATH variable in environment 1865*c9945492SAndroid Build Coastguard Worker 1866*c9945492SAndroid Build Coastguard Worker 1867*c9945492SAndroid Build Coastguard Worker1.1.19 release notes 1868*c9945492SAndroid Build Coastguard Worker 1869*c9945492SAndroid Build Coastguard Workernew features: 1870*c9945492SAndroid Build Coastguard Worker- iconv framework for processing stateful encodings 1871*c9945492SAndroid Build Coastguard Worker- iconv support for iso-2022-jp 1872*c9945492SAndroid Build Coastguard Worker- iconv support for converting to legacy JIS-based Japanese encodings 1873*c9945492SAndroid Build Coastguard Worker- iconv support for UTF-16/32 with BOM-determined endianness 1874*c9945492SAndroid Build Coastguard Worker- iconv ibm1047 (ebcdic latin1-equivalent) support 1875*c9945492SAndroid Build Coastguard Worker- iconv cp866 (dos cyrillic) support 1876*c9945492SAndroid Build Coastguard Worker- character data tables & case mappings updated to Unicode 10.0 1877*c9945492SAndroid Build Coastguard Worker- fopencookie stdio extension 1878*c9945492SAndroid Build Coastguard Worker- strftime padding character extensions 1879*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features through 4.13 1880*c9945492SAndroid Build Coastguard Worker 1881*c9945492SAndroid Build Coastguard Workercompatibility: 1882*c9945492SAndroid Build Coastguard Worker- UTC timezone is now called UTC instead of GMT 1883*c9945492SAndroid Build Coastguard Worker- _DIRENT_HAVE_D_* macros in dirent.h 1884*c9945492SAndroid Build Coastguard Worker- dladdr dli_fbase definition now matches other implementations 1885*c9945492SAndroid Build Coastguard Worker- pthread_getattr_np now reports guard size 1886*c9945492SAndroid Build Coastguard Worker- strftime '+' modifier better matches apparent intent of POSIX 1887*c9945492SAndroid Build Coastguard Worker- getopt_long handles long option names containing '=' 1888*c9945492SAndroid Build Coastguard Worker- better compatibility with linux uapi headers 1889*c9945492SAndroid Build Coastguard Worker- workaround linux bug where getcwd can return non-absolute pathname 1890*c9945492SAndroid Build Coastguard Worker- configure logic for finding compiler_rt with clang 1891*c9945492SAndroid Build Coastguard Worker- execvp path search now continues after ENOTDIR components 1892*c9945492SAndroid Build Coastguard Worker 1893*c9945492SAndroid Build Coastguard Workerbugs fixed: 1894*c9945492SAndroid Build Coastguard Worker- fgetwc failed when character crossed buffer boundary 1895*c9945492SAndroid Build Coastguard Worker- memory corruption after failing to dlopen a second libc 1896*c9945492SAndroid Build Coastguard Worker- sysconf reported infinite rlimits incorrectly 1897*c9945492SAndroid Build Coastguard Worker- getopt_long --opt=arg did not work with partial matches 1898*c9945492SAndroid Build Coastguard Worker- printf was wrong for alt-form octal with value 0, no explicit precision 1899*c9945492SAndroid Build Coastguard Worker- endian errors in arpa/nameser.h and netinet/icmp6.h (missing endian.h) 1900*c9945492SAndroid Build Coastguard Worker- atfork handler could clobber fork's errno 1901*c9945492SAndroid Build Coastguard Worker- iconv could wrongly output surrogate pairs in ucs2 1902*c9945492SAndroid Build Coastguard Worker- fmemopen buffer underallocation with extreme size argument 1903*c9945492SAndroid Build Coastguard Worker- getaddrinfo AI_NUMERICSERV wrong error code 1904*c9945492SAndroid Build Coastguard Worker- data race in at_quick_exit 1905*c9945492SAndroid Build Coastguard Worker- ldd failed to honor rpath $ORIGIN for program in . without "./" prefix 1906*c9945492SAndroid Build Coastguard Worker 1907*c9945492SAndroid Build Coastguard Workerarch-specfic bugs fixed: 1908*c9945492SAndroid Build Coastguard Worker- x32 unistd.h wrongly reported LP64 instead of ILP32 1909*c9945492SAndroid Build Coastguard Worker- aarch64 signal.h had wrong type for ucontext_t uc_link member 1910*c9945492SAndroid Build Coastguard Worker 1911*c9945492SAndroid Build Coastguard Worker 1912*c9945492SAndroid Build Coastguard Worker1.1.20 release notes 1913*c9945492SAndroid Build Coastguard Worker 1914*c9945492SAndroid Build Coastguard Workernew features: 1915*c9945492SAndroid Build Coastguard Worker- m68k port 1916*c9945492SAndroid Build Coastguard Worker- replacement of malloc is now allowed/supported 1917*c9945492SAndroid Build Coastguard Worker- setvbuf now accepts caller-provided buffers for stdio streams 1918*c9945492SAndroid Build Coastguard Worker- getrandom syscall wrapper, getentropy function 1919*c9945492SAndroid Build Coastguard Worker- mlock2 syscall wrapper 1920*c9945492SAndroid Build Coastguard Worker- memfd_create syscall wrapper 1921*c9945492SAndroid Build Coastguard Worker- explicit_bzero function 1922*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features through 4.17 1923*c9945492SAndroid Build Coastguard Worker- wcsftime now supports padding specifier extensions 1924*c9945492SAndroid Build Coastguard Worker- dynamic linker's reclaim_gaps now works on fdpic archs 1925*c9945492SAndroid Build Coastguard Worker- getaddrinfo now honors AI_ADDRCONFIG 1926*c9945492SAndroid Build Coastguard Worker- pthread_attr_init now honors pthread_setattr_default_np defaults 1927*c9945492SAndroid Build Coastguard Worker 1928*c9945492SAndroid Build Coastguard Workerhardening: 1929*c9945492SAndroid Build Coastguard Worker- prevent bypass of guarantee that suids start with fd 0/1/2 open 1930*c9945492SAndroid Build Coastguard Worker- dlopen now rejects libraries with initial-exec refs to dynamic TLS 1931*c9945492SAndroid Build Coastguard Worker 1932*c9945492SAndroid Build Coastguard Workercompatibility: 1933*c9945492SAndroid Build Coastguard Worker- elf.h: new flags, aux vector entry types, etc. 1934*c9945492SAndroid Build Coastguard Worker- minor namespace issues in several headers 1935*c9945492SAndroid Build Coastguard Worker- intNN_t types used in bitfields now safe against -funsigned-bitfields 1936*c9945492SAndroid Build Coastguard Worker- complex arc trig/hyperbolic functions were badly broken 1937*c9945492SAndroid Build Coastguard Worker- nice function returned wrong value 1938*c9945492SAndroid Build Coastguard Worker- stdio locks no longer depend on read-after-free not faulting 1939*c9945492SAndroid Build Coastguard Worker- avoid excessive stack usage in getcwd 1940*c9945492SAndroid Build Coastguard Worker- inet_ntop no longer compresses single zeros in IPv6 (RFC 5952) 1941*c9945492SAndroid Build Coastguard Worker- resolver routability probe for sorting results works on no-IPv6 systems 1942*c9945492SAndroid Build Coastguard Worker- added missing ST_RELATIME definition to statvfs.h 1943*c9945492SAndroid Build Coastguard Worker- uchar.h now works with old C++ profiles 1944*c9945492SAndroid Build Coastguard Worker- added missing and arch-specific commands to ptrace.h 1945*c9945492SAndroid Build Coastguard Worker- musl-gcc wrapper now works with default-pie host toolchains 1946*c9945492SAndroid Build Coastguard Worker 1947*c9945492SAndroid Build Coastguard Workerbugs fixed: 1948*c9945492SAndroid Build Coastguard Worker- getopt wrongly treating colons in optstring as valid option chars 1949*c9945492SAndroid Build Coastguard Worker- nl_langinfo_l(CODESET, loc) reported wrong locale's value 1950*c9945492SAndroid Build Coastguard Worker- out-of-tree build produced broken crt files with stack protector enabled 1951*c9945492SAndroid Build Coastguard Worker- fmaf produced wrong result for some corner cases 1952*c9945492SAndroid Build Coastguard Worker- out of bounds write for zero length buffer passed to gethostname 1953*c9945492SAndroid Build Coastguard Worker- getopt_long_only wrongly prefix-matched long-options over short ones 1954*c9945492SAndroid Build Coastguard Worker- pthread_kill wrongly returned ESRCH for exited by valid pthread_t's 1955*c9945492SAndroid Build Coastguard Worker- iconv buffer overflow converting to legacy JIS-based encodings 1956*c9945492SAndroid Build Coastguard Worker- iconv conversion to "UTF-32" (no explicit endianness) failed (regression) 1957*c9945492SAndroid Build Coastguard Worker- iconv mishandled big5-hkscs characters that map to two unicode chars 1958*c9945492SAndroid Build Coastguard Worker- dynamic linker didn't map/clear bss for libraries with single LOAD segment 1959*c9945492SAndroid Build Coastguard Worker- resolver wrongly duplicated trailing dot from query into canonical name 1960*c9945492SAndroid Build Coastguard Worker- some futex waits omitted timeout arg to syscall, thereby spun on EFAULT 1961*c9945492SAndroid Build Coastguard Worker- dladdr mishandled addresses not matching symbols 1962*c9945492SAndroid Build Coastguard Worker- alignment of dirent structures from readdir was broken (regression) 1963*c9945492SAndroid Build Coastguard Worker- strftime %z output wrong sign for offsets <1 hour west of UTC 1964*c9945492SAndroid Build Coastguard Worker- limits.h, pathconf erroneously defined SYMLINK_MAX 1965*c9945492SAndroid Build Coastguard Worker- FP_ILOGB0 and FP_ILOGBNAN definitions were not valid for use in #if 1966*c9945492SAndroid Build Coastguard Worker- getopt failed to update optarg and optind correctly on missing argument 1967*c9945492SAndroid Build Coastguard Worker- EMULTIHOP error lacked strerror text 1968*c9945492SAndroid Build Coastguard Worker- mktime malfunctioned with tm_isdst>0 but no-DST POSIX-format time zone 1969*c9945492SAndroid Build Coastguard Worker- async thread self-cancellation produced a deadlock condition 1970*c9945492SAndroid Build Coastguard Worker- pthread_barrierattr_setpshared failed to produce EINVAL for bad argument 1971*c9945492SAndroid Build Coastguard Worker- fileno failed to produce EBADF for non-fd-associated FILEs 1972*c9945492SAndroid Build Coastguard Worker- fmemopen's w+ mode failed to truncate buffer at open 1973*c9945492SAndroid Build Coastguard Worker- open_[w]memstream did not bind stream orientation at open time 1974*c9945492SAndroid Build Coastguard Worker- system wrongly returned 0x7f00 instead of -1 on error 1975*c9945492SAndroid Build Coastguard Worker- wide printf functions ignored field width for %c formats 1976*c9945492SAndroid Build Coastguard Worker- fprintf failed to set stream orientation for unbuffered stream or no output 1977*c9945492SAndroid Build Coastguard Worker- psignal, psiginfo, and perror wrongly set stream orientation for stderr 1978*c9945492SAndroid Build Coastguard Worker- psignal, psiginfo potentially clobbered errno on success 1979*c9945492SAndroid Build Coastguard Worker 1980*c9945492SAndroid Build Coastguard Workerarch-specfic bugs fixed: 1981*c9945492SAndroid Build Coastguard Worker- on arm/aarch64/sh, local-exec TLS layout mismatched ABI with large align 1982*c9945492SAndroid Build Coastguard Worker- on arm/microblaze/sh, struct ipc_perm mismatched (buggy) kernel ABI 1983*c9945492SAndroid Build Coastguard Worker- SO_PEERSEC definition was wrong on mips 1984*c9945492SAndroid Build Coastguard Worker- on mips, return from start function passed to clone crashed (runaway exec) 1985*c9945492SAndroid Build Coastguard Worker- printf %a precision specifier malfunctioned except on ld80 archs 1986*c9945492SAndroid Build Coastguard Worker- async thread cancellation crashed on powerpc64 and sh-fdpic 1987*c9945492SAndroid Build Coastguard Worker 1988*c9945492SAndroid Build Coastguard Worker 1989*c9945492SAndroid Build Coastguard Worker1.1.21 release notes 1990*c9945492SAndroid Build Coastguard Worker 1991*c9945492SAndroid Build Coastguard Workernew features: 1992*c9945492SAndroid Build Coastguard Worker- setting default thread stack size via PT_GNU_STACK program header 1993*c9945492SAndroid Build Coastguard Worker- arm vfork implementation 1994*c9945492SAndroid Build Coastguard Worker- arm tlsdesc/gnu2 tls dialect support 1995*c9945492SAndroid Build Coastguard Worker- name_to_handle_at and name_to_handle_at syscall wrappers 1996*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features through 4.18 1997*c9945492SAndroid Build Coastguard Worker 1998*c9945492SAndroid Build Coastguard Workeroptimizations: 1999*c9945492SAndroid Build Coastguard Worker- glob rewrite with much better performance and stack usage properties 2000*c9945492SAndroid Build Coastguard Worker- single-threaded and already-locked fast paths for getc/putc variants 2001*c9945492SAndroid Build Coastguard Worker- single-instruction fma implementations for arm, s390x, powerpc, & x86_64 2002*c9945492SAndroid Build Coastguard Worker- single-instruction fabs and sqrt implementations for powerpc 2003*c9945492SAndroid Build Coastguard Worker- size and performance from making all internal-only functions/data hidden 2004*c9945492SAndroid Build Coastguard Worker- made &errno and pthread_self results cachable again (attribute((const))) 2005*c9945492SAndroid Build Coastguard Worker- significant speedup in strtod with short inputs 2006*c9945492SAndroid Build Coastguard Worker- new tsearch AVL tree implementation, smaller and faster 2007*c9945492SAndroid Build Coastguard Worker- special-cased nop calls to wmemmove 2008*c9945492SAndroid Build Coastguard Worker- fixed erroneously suboptimal skip conditions in strstr and memmem 2009*c9945492SAndroid Build Coastguard Worker 2010*c9945492SAndroid Build Coastguard Workerhardening: 2011*c9945492SAndroid Build Coastguard Worker- default thread stack guard size increased from 4k to 8k 2012*c9945492SAndroid Build Coastguard Worker 2013*c9945492SAndroid Build Coastguard Workercompatibility: 2014*c9945492SAndroid Build Coastguard Worker- default thread stack size increased from 80k to 128k 2015*c9945492SAndroid Build Coastguard Worker- building for arm as thumb2 with clang internal assembler now works 2016*c9945492SAndroid Build Coastguard Worker- aio threads could overflow stack on kernels that break MINSIGSTKSZ ABI 2017*c9945492SAndroid Build Coastguard Worker- aio threads no longer call malloc (problematic with malloc replacement) 2018*c9945492SAndroid Build Coastguard Worker- pthread_sigmask/sigprocmask now ignore an invalid how when not changing mask 2019*c9945492SAndroid Build Coastguard Worker 2020*c9945492SAndroid Build Coastguard Workerbugs fixed: 2021*c9945492SAndroid Build Coastguard Worker- soft deadlock regression in stdio FILE locks with >2 threads contending 2022*c9945492SAndroid Build Coastguard Worker- deadlock and buffered data loss race in fclose 2023*c9945492SAndroid Build Coastguard Worker- race condition leading to possible crash in dcngettext plural forms 2024*c9945492SAndroid Build Coastguard Worker- glob failed to see past searchable-but-unreadable path components 2025*c9945492SAndroid Build Coastguard Worker- getdelim wrongly realloc'd buffer that was already exactly right size 2026*c9945492SAndroid Build Coastguard Worker- getdelim failed to set stream orientation on early error 2027*c9945492SAndroid Build Coastguard Worker- ttyname[_r] reported wrong error when given bad fd 2028*c9945492SAndroid Build Coastguard Worker- pthread_key_delete left old tsd values exposed if slot was reused 2029*c9945492SAndroid Build Coastguard Worker- freeaddrinfo failed to support freeing sublists 2030*c9945492SAndroid Build Coastguard Worker- access to optopt was broken by copy relocations 2031*c9945492SAndroid Build Coastguard Worker- memccpy returned wrong result if first byte past buffer end matched 2032*c9945492SAndroid Build Coastguard Worker- wordexp read past end of input string ending in backslash 2033*c9945492SAndroid Build Coastguard Worker- sem_wait and sem_timedwait were wrongly not interruptible by signals 2034*c9945492SAndroid Build Coastguard Worker- getspnam[_r] wrongly treated not-found as an error 2035*c9945492SAndroid Build Coastguard Worker 2036*c9945492SAndroid Build Coastguard Workerarch-specfic bugs fixed: 2037*c9945492SAndroid Build Coastguard Worker- soft deadlocks (missing futex wake) on powerpc locking 2038*c9945492SAndroid Build Coastguard Worker- dlsym returned wrong address for thread-local symbols on ppc/mips/m68k 2039*c9945492SAndroid Build Coastguard Worker 2040*c9945492SAndroid Build Coastguard Worker 2041*c9945492SAndroid Build Coastguard Worker1.1.22 release notes 2042*c9945492SAndroid Build Coastguard Worker 2043*c9945492SAndroid Build Coastguard Workernew features: 2044*c9945492SAndroid Build Coastguard Worker- priority-inheritance mutexes 2045*c9945492SAndroid Build Coastguard Worker- membarrier syscall, pre-registration to use it, fallback emulation 2046*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features in 4.19, 4.20, 5.0 2047*c9945492SAndroid Build Coastguard Worker 2048*c9945492SAndroid Build Coastguard Workermajor internal changes: 2049*c9945492SAndroid Build Coastguard Worker- complete, async-safe view of all existent threads as global list 2050*c9945492SAndroid Build Coastguard Worker- robust __synccall based on new thread list 2051*c9945492SAndroid Build Coastguard Worker- new dynamic TLS is installed synchronously at dlopen 2052*c9945492SAndroid Build Coastguard Worker- TLSDESC resolver functions no longer make bad ABI assumptions to call C 2053*c9945492SAndroid Build Coastguard Worker- resolved shared library dependencies are now recorded 2054*c9945492SAndroid Build Coastguard Worker 2055*c9945492SAndroid Build Coastguard Workercompatibility & conformance: 2056*c9945492SAndroid Build Coastguard Worker- dependency-order shared library constructor execution 2057*c9945492SAndroid Build Coastguard Worker- sigaltstack no longer rejects SS_AUTODISARM, future flags 2058*c9945492SAndroid Build Coastguard Worker- FILE is now a complete (dummy) type in pre-C11 feature profiles 2059*c9945492SAndroid Build Coastguard Worker- setvbuf reports failure on invalid arguments 2060*c9945492SAndroid Build Coastguard Worker- TSVTX is exposed unconditionally in tar.h 2061*c9945492SAndroid Build Coastguard Worker- multithreaded set*id() no longer depends on /proc 2062*c9945492SAndroid Build Coastguard Worker- key slot reuse after pthread_key_delete no longer depends on /proc 2063*c9945492SAndroid Build Coastguard Worker 2064*c9945492SAndroid Build Coastguard Workerbugs fixed: 2065*c9945492SAndroid Build Coastguard Worker- failures in multithreaded set*id() with concurrent thread creation/exit 2066*c9945492SAndroid Build Coastguard Worker- interposed free was called from invalid/inconsistent contexts 2067*c9945492SAndroid Build Coastguard Worker- freeaddrinfo performed invalid free of some partial results lists 2068*c9945492SAndroid Build Coastguard Worker- dlsym dependency order search had false negatives and false positives 2069*c9945492SAndroid Build Coastguard Worker- dn_skipname gave wrong results for labels with 8-bit content 2070*c9945492SAndroid Build Coastguard Worker- dcngettext clobbered errno, often breaking printing of error messages 2071*c9945492SAndroid Build Coastguard Worker- sscanf read past end of buffer under certain conditions (1.1.21 regression) 2072*c9945492SAndroid Build Coastguard Worker- pthread_key_create spuriously failed under race condition (1.1.21 regression) 2073*c9945492SAndroid Build Coastguard Worker- fdopendir wrongly succeeded with O_PATH file descriptors 2074*c9945492SAndroid Build Coastguard Worker- gets behaved incorrectly in presence of null bytes 2075*c9945492SAndroid Build Coastguard Worker- namespace violations in c11 tsd and mutex function dependencies 2076*c9945492SAndroid Build Coastguard Worker- incorrect prototype for makecontext (unimplemented) 2077*c9945492SAndroid Build Coastguard Worker 2078*c9945492SAndroid Build Coastguard Workerarch-specfic bugs fixed: 2079*c9945492SAndroid Build Coastguard Worker- s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE 2080*c9945492SAndroid Build Coastguard Worker 2081*c9945492SAndroid Build Coastguard Worker 2082*c9945492SAndroid Build Coastguard Worker 2083*c9945492SAndroid Build Coastguard Worker1.1.23 release notes 2084*c9945492SAndroid Build Coastguard Worker 2085*c9945492SAndroid Build Coastguard Workernew features: 2086*c9945492SAndroid Build Coastguard Worker- riscv64 port 2087*c9945492SAndroid Build Coastguard Worker- configure now allows customizing AR and RANLIB vars 2088*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features in 5.1 2089*c9945492SAndroid Build Coastguard Worker 2090*c9945492SAndroid Build Coastguard Workermajor internal changes: 2091*c9945492SAndroid Build Coastguard Worker- removed extern __syscall; syscall header code is now fully self-contained 2092*c9945492SAndroid Build Coastguard Worker 2093*c9945492SAndroid Build Coastguard Workerperformance: 2094*c9945492SAndroid Build Coastguard Worker- new math library implementation for log/exp/pow 2095*c9945492SAndroid Build Coastguard Worker- aarch64 dynamic tlsdesc function is streamlined 2096*c9945492SAndroid Build Coastguard Worker 2097*c9945492SAndroid Build Coastguard Workercompatibility & conformance: 2098*c9945492SAndroid Build Coastguard Worker- O_TTY_INIT is now defined 2099*c9945492SAndroid Build Coastguard Worker- sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile 2100*c9945492SAndroid Build Coastguard Worker- powerpc asm is now compatible with clang internal assembler 2101*c9945492SAndroid Build Coastguard Worker 2102*c9945492SAndroid Build Coastguard Workerchanges for new POSIX interpretations: 2103*c9945492SAndroid Build Coastguard Worker- fgetwc now sets stream error indicator on encoding errors 2104*c9945492SAndroid Build Coastguard Worker- fmemopen no longer rejects 0 size 2105*c9945492SAndroid Build Coastguard Worker 2106*c9945492SAndroid Build Coastguard Workerbugs fixed: 2107*c9945492SAndroid Build Coastguard Worker- static TLS for shared libraries was allocated wrong on "Variant I" archs 2108*c9945492SAndroid Build Coastguard Worker- crash in dladdr reading through uninitialized pointer on non-match 2109*c9945492SAndroid Build Coastguard Worker- sigaltstack wrongly errored out on invalid ss_size when doing SS_DISABLE 2110*c9945492SAndroid Build Coastguard Worker- getdents function misbehaved with buffer length larger than INT_MAX 2111*c9945492SAndroid Build Coastguard Worker- set*id could deadlock after fork from multithreaded process 2112*c9945492SAndroid Build Coastguard Worker 2113*c9945492SAndroid Build Coastguard Workerarch-specfic bugs fixed: 2114*c9945492SAndroid Build Coastguard Worker- s390x SO_PEERSEC definition was wrong 2115*c9945492SAndroid Build Coastguard Worker- passing of 64-bit syscall arguments was broken on microblaze 2116*c9945492SAndroid Build Coastguard Worker- posix_fadvise was broken on mips due to missing 7-arg syscall support 2117*c9945492SAndroid Build Coastguard Worker- vrregset_t layout and member naming was wrong on powerpc64 2118*c9945492SAndroid Build Coastguard Worker 2119*c9945492SAndroid Build Coastguard Worker 2120*c9945492SAndroid Build Coastguard Worker 2121*c9945492SAndroid Build Coastguard Worker1.1.24 release notes 2122*c9945492SAndroid Build Coastguard Worker 2123*c9945492SAndroid Build Coastguard Workernew features: 2124*c9945492SAndroid Build Coastguard Worker- GLOB_TILDE extension to glob 2125*c9945492SAndroid Build Coastguard Worker- non-stub catgets localization API, using netbsd binary catalog format 2126*c9945492SAndroid Build Coastguard Worker- posix_spawn file actions for [f]chdir (extension, pending future standard) 2127*c9945492SAndroid Build Coastguard Worker- secure_getenv function (extension) 2128*c9945492SAndroid Build Coastguard Worker- copy_file_range syscall wrapper (Linux extension) 2129*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features in 5.2 2130*c9945492SAndroid Build Coastguard Worker 2131*c9945492SAndroid Build Coastguard Workerperformance: 2132*c9945492SAndroid Build Coastguard Worker- new fast path for lrint (generic C version) on 32-bit archs 2133*c9945492SAndroid Build Coastguard Worker 2134*c9945492SAndroid Build Coastguard Workermajor internal changes: 2135*c9945492SAndroid Build Coastguard Worker- functions involving time are overhauled to be time64-ready in 32-bit archs 2136*c9945492SAndroid Build Coastguard Worker- x32 uses the new time64 code paths to replace nasty hacks in syscall glue 2137*c9945492SAndroid Build Coastguard Worker 2138*c9945492SAndroid Build Coastguard Workercompatibility & conformance: 2139*c9945492SAndroid Build Coastguard Worker- support for powerpc[64] unaligned relocation types 2140*c9945492SAndroid Build Coastguard Worker- powerpc[64] and sh sys/user.h no longer clash with kernel asm/ptrace.h 2141*c9945492SAndroid Build Coastguard Worker- select no longer modifies timeout on failure (or at all) 2142*c9945492SAndroid Build Coastguard Worker- mips64 stat results are no longer limited to 32-bit time range 2143*c9945492SAndroid Build Coastguard Worker- optreset (BSD extension) now has a public declaration 2144*c9945492SAndroid Build Coastguard Worker- support for clang inconsistencies in wchar_t type vs some 32-bit archs 2145*c9945492SAndroid Build Coastguard Worker- mips r6 syscall asm no longer has invalid lo/hi register clobbers 2146*c9945492SAndroid Build Coastguard Worker- vestigial asm declarations of __tls_get_new are removed (broke some tooling) 2147*c9945492SAndroid Build Coastguard Worker- riscv64 mcontext_t mismatch glibc's member naming is corrected 2148*c9945492SAndroid Build Coastguard Worker 2149*c9945492SAndroid Build Coastguard Workerbugs fixed: 2150*c9945492SAndroid Build Coastguard Worker- glob failed to match broken symlinks consistently 2151*c9945492SAndroid Build Coastguard Worker- invalid use of interposed calloc to allocate initial TLS 2152*c9945492SAndroid Build Coastguard Worker- various dlsym symbol resolution logic errors 2153*c9945492SAndroid Build Coastguard Worker- semctl with SEM_STAT_ANY didn't work 2154*c9945492SAndroid Build Coastguard Worker- pthread_create with explicit scheduling was subject to priority inversion 2155*c9945492SAndroid Build Coastguard Worker- pthread_create failure path had data race for thread count 2156*c9945492SAndroid Build Coastguard Worker- timer_create with SIGEV_THREAD notification had data race getting timer id 2157*c9945492SAndroid Build Coastguard Worker- wide printf family failed to support l modifier for float formats 2158*c9945492SAndroid Build Coastguard Worker 2159*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2160*c9945492SAndroid Build Coastguard Worker- x87 floating point stack imbalance in math asm (i386-only CVE-2019-14697) 2161*c9945492SAndroid Build Coastguard Worker- x32 clock_adjtime, getrusage, wait3, wait4 produced junk (struct mismatches) 2162*c9945492SAndroid Build Coastguard Worker- lseek broken on x32 and mipsn32 with large file offsets 2163*c9945492SAndroid Build Coastguard Worker- riscv64 atomics weren't compiler barriers 2164*c9945492SAndroid Build Coastguard Worker- riscv64 atomics had broken asm constraints (missing earlyclobber flag) 2165*c9945492SAndroid Build Coastguard Worker- arm clone() was broken when compiled as thumb if start function returned 2166*c9945492SAndroid Build Coastguard Worker- mipsr6 setjmp/longjmp did not preserve fpu register state correctly 2167*c9945492SAndroid Build Coastguard Worker 2168*c9945492SAndroid Build Coastguard Worker 2169*c9945492SAndroid Build Coastguard Worker 2170*c9945492SAndroid Build Coastguard Worker1.2.0 release notes 2171*c9945492SAndroid Build Coastguard Worker 2172*c9945492SAndroid Build Coastguard Workernew features: 2173*c9945492SAndroid Build Coastguard Worker- time_t is now 64-bit on all archs (not just 64-bit archs) 2174*c9945492SAndroid Build Coastguard Worker- character type & case mapping data updated to Unicode 12.1.0 2175*c9945492SAndroid Build Coastguard Worker- header-level support for new linux features in 5.3 and 5.4 2176*c9945492SAndroid Build Coastguard Worker 2177*c9945492SAndroid Build Coastguard Workerperformance: 2178*c9945492SAndroid Build Coastguard Worker- new O(1) wchar_t case mapping implementation 2179*c9945492SAndroid Build Coastguard Worker- i386 now uses C math code for exp, faster than old asm 2180*c9945492SAndroid Build Coastguard Worker- mips math asm 2181*c9945492SAndroid Build Coastguard Worker 2182*c9945492SAndroid Build Coastguard Workercompatibility & conformance: 2183*c9945492SAndroid Build Coastguard Worker- endian.h now aims to conform to future POSIX definition 2184*c9945492SAndroid Build Coastguard Worker- support older compilers that don't accept powerpc math asm constraints 2185*c9945492SAndroid Build Coastguard Worker- fdpic code in ldso was incompatible with valid optimizations in gcc 9+ 2186*c9945492SAndroid Build Coastguard Worker- RLIMIT_RTTIME was missing from sys/resource.h 2187*c9945492SAndroid Build Coastguard Worker 2188*c9945492SAndroid Build Coastguard Workerbugs fixed: 2189*c9945492SAndroid Build Coastguard Worker- wcwidth wrongly returned 0 for most of planes 4 and up 2190*c9945492SAndroid Build Coastguard Worker- missing case mapping between U+03F3 and U+037F 2191*c9945492SAndroid Build Coastguard Worker- wrong cacosh results for arguments with negative imaginary part 2192*c9945492SAndroid Build Coastguard Worker- wrong catanf/catanl results for various classes of arguments 2193*c9945492SAndroid Build Coastguard Worker- wrong return value for ungetc with argument outside [0,UCHAR_MAX] 2194*c9945492SAndroid Build Coastguard Worker- posix_openpt with no ptys available produced wrong errno 2195*c9945492SAndroid Build Coastguard Worker 2196*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2197*c9945492SAndroid Build Coastguard Worker- sigcontext/regset definition mistakes & omissions on m68k, powerpc64 2198*c9945492SAndroid Build Coastguard Worker- fesetenv(FE_DFL_ENV) crashed on riscv64 2199*c9945492SAndroid Build Coastguard Worker- sh2 dynamic linker was broken since 1.1.21 (crash in stage 2b) 2200*c9945492SAndroid Build Coastguard Worker- arm dynamic linker chose wrong tls/atomic variants since 1.1.21 2201*c9945492SAndroid Build Coastguard Worker- some math library functions returned excess precision on i386 2202*c9945492SAndroid Build Coastguard Worker- unconfirmed regression in fchmodat AT_SYMLINK_NOFOLLOW on mips* 2203*c9945492SAndroid Build Coastguard Worker 2204*c9945492SAndroid Build Coastguard Worker 2205*c9945492SAndroid Build Coastguard Worker 2206*c9945492SAndroid Build Coastguard Worker1.2.1 release notes 2207*c9945492SAndroid Build Coastguard Worker 2208*c9945492SAndroid Build Coastguard Workermajor changes: 2209*c9945492SAndroid Build Coastguard Worker- new malloc implementation (mallocng & overhauled bump allocator) 2210*c9945492SAndroid Build Coastguard Worker 2211*c9945492SAndroid Build Coastguard Workernew features: 2212*c9945492SAndroid Build Coastguard Worker- DNS queries via res_* now set AD flag, report zone signedness (DNSSEC) 2213*c9945492SAndroid Build Coastguard Worker- PTHREAD_NULL macro (POSIX-future) 2214*c9945492SAndroid Build Coastguard Worker 2215*c9945492SAndroid Build Coastguard Workerperformance: 2216*c9945492SAndroid Build Coastguard Worker- optimized memcpy and memset for aarch64 2217*c9945492SAndroid Build Coastguard Worker- optimized memcpy for arm now supports big endian 2218*c9945492SAndroid Build Coastguard Worker- optimized x86_64 remquol 2219*c9945492SAndroid Build Coastguard Worker- improved strerror without linear search 2220*c9945492SAndroid Build Coastguard Worker 2221*c9945492SAndroid Build Coastguard Workerbugs fixed: 2222*c9945492SAndroid Build Coastguard Worker- lock-skipping for processes that returned to single-threaded was wrong 2223*c9945492SAndroid Build Coastguard Worker- AF_UNSPEC dns lookups mishandled single failure in paired A+AAAA 2224*c9945492SAndroid Build Coastguard Worker- res_send and res_query returned wrong value on errors from nameserver 2225*c9945492SAndroid Build Coastguard Worker- corrupted sysvipc timestamps on 32-bit archs with old kernels 2226*c9945492SAndroid Build Coastguard Worker- incorrect parsing of timezone offsets after overly-long zone name 2227*c9945492SAndroid Build Coastguard Worker- clock_adjtime was broken on 32-bit archs (time64) 2228*c9945492SAndroid Build Coastguard Worker- pthread_kill as not async-signal-safe 2229*c9945492SAndroid Build Coastguard Worker- pthread_cancel was not async-cancel-safe 2230*c9945492SAndroid Build Coastguard Worker- large-ulp errors in various math functions in non-default rounding modes 2231*c9945492SAndroid Build Coastguard Worker 2232*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2233*c9945492SAndroid Build Coastguard Worker- arm clock_gettime was broken on some hw due to bad time64 vdso 2234*c9945492SAndroid Build Coastguard Worker- m68k sqrtl lacked long double precision 2235*c9945492SAndroid Build Coastguard Worker- mips* syscall mechanism regressions on older kernels 2236*c9945492SAndroid Build Coastguard Worker- mips* had negated error codes for some syscalls (kernel bug) 2237*c9945492SAndroid Build Coastguard Worker- mips* SIGEMT was wrongly called SIGSTKFLT 2238*c9945492SAndroid Build Coastguard Worker- sh fesetround didn't work correctly on sh 2239*c9945492SAndroid Build Coastguard Worker 2240*c9945492SAndroid Build Coastguard Worker 2241*c9945492SAndroid Build Coastguard Worker 2242*c9945492SAndroid Build Coastguard Worker1.2.2 release notes 2243*c9945492SAndroid Build Coastguard Worker 2244*c9945492SAndroid Build Coastguard Workermajor changes: 2245*c9945492SAndroid Build Coastguard Worker- child restrictions lifted after fork of multithreaded parent 2246*c9945492SAndroid Build Coastguard Worker 2247*c9945492SAndroid Build Coastguard Workernew features: 2248*c9945492SAndroid Build Coastguard Worker- _Fork function (POSIX-future) 2249*c9945492SAndroid Build Coastguard Worker- reallocarray function (extension from OpenBSD, now widespread) 2250*c9945492SAndroid Build Coastguard Worker- gettid function (kernel tid as supported concept) 2251*c9945492SAndroid Build Coastguard Worker- SIGEV_THREAD_ID sigevent API (Linux extension) 2252*c9945492SAndroid Build Coastguard Worker- tcgetwinsize and tcsetwinsize functions (POSIX-future) 2253*c9945492SAndroid Build Coastguard Worker 2254*c9945492SAndroid Build Coastguard Workerperformance: 2255*c9945492SAndroid Build Coastguard Worker- faster software sqrt on archs without native sqrt instruction 2256*c9945492SAndroid Build Coastguard Worker 2257*c9945492SAndroid Build Coastguard Workercompatibility: 2258*c9945492SAndroid Build Coastguard Worker- realpath no longer depends on procfs availability & accuracy 2259*c9945492SAndroid Build Coastguard Worker- time zone parser now always prefers 64-bit tables if present 2260*c9945492SAndroid Build Coastguard Worker- crypt_blowfish now supports $2b$ prefix 2261*c9945492SAndroid Build Coastguard Worker- res_query now reports errors via h_errno 2262*c9945492SAndroid Build Coastguard Worker- set*id and setrlimit are now safe in vforked/cloned child 2263*c9945492SAndroid Build Coastguard Worker- setgroups now applies to all threads 2264*c9945492SAndroid Build Coastguard Worker- dlopen debugger notification is improved, should work with lldb 2265*c9945492SAndroid Build Coastguard Worker- setrlimit no longer needs __synccall broadcast on linux 2.6.36+ 2266*c9945492SAndroid Build Coastguard Worker- faccessat with AT_EACCESS no longer needs child process on linux 5.8+ 2267*c9945492SAndroid Build Coastguard Worker 2268*c9945492SAndroid Build Coastguard Workerbugs fixed: 2269*c9945492SAndroid Build Coastguard Worker- buffer overflow and infinite loop errors in wcsnrtombs (CVE-2020-28928) 2270*c9945492SAndroid Build Coastguard Worker- sem_close unmapped still-referenced semaphores 2271*c9945492SAndroid Build Coastguard Worker- fork of process with active aio could deadlock or crash paren 2272*c9945492SAndroid Build Coastguard Worker- pthread_cond_wait was broken with priority-inheritance mutex 2273*c9945492SAndroid Build Coastguard Worker- getgrouplist wrongly failed when nscd reported an empty list 2274*c9945492SAndroid Build Coastguard Worker- abort could leak modified SIGABRT disposition to fork or posix_spawn child 2275*c9945492SAndroid Build Coastguard Worker- regression with mallocng: malloc_usable_size(0) crashed 2276*c9945492SAndroid Build Coastguard Worker- readlink wrongly gave EINVAL on zero length dest buffer 2277*c9945492SAndroid Build Coastguard Worker- sqrtl was severely inaccurate (not correctly rounded) on ldquad archs 2278*c9945492SAndroid Build Coastguard Worker- assert failure wrongly flushed stdio (possible deadlock) 2279*c9945492SAndroid Build Coastguard Worker- MUSL_LOCPATH search was broken with multiple components 2280*c9945492SAndroid Build Coastguard Worker- missing newline in herror output 2281*c9945492SAndroid Build Coastguard Worker- possible deadlock in pthread_exit with pshared mutex or barrier usage 2282*c9945492SAndroid Build Coastguard Worker- pthread_mutexattr_getprotocol didn't read back protocol 2283*c9945492SAndroid Build Coastguard Worker- v4l2 ioctl translation for pre-time64 kernels didn't work 2284*c9945492SAndroid Build Coastguard Worker 2285*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2286*c9945492SAndroid Build Coastguard Worker- x86_64 longjmp failed to handle 0 argument reliably 2287*c9945492SAndroid Build Coastguard Worker- i386 __set_thread_area fallback for pre-2.6 kernels didn't work 2288*c9945492SAndroid Build Coastguard Worker- missing O_LARGEFILE macro value on x86_64, x32, mips64 2289*c9945492SAndroid Build Coastguard Worker- unpredictable s390x breakage from failure to preserve call-saved registers 2290*c9945492SAndroid Build Coastguard Worker 2291*c9945492SAndroid Build Coastguard Worker 2292*c9945492SAndroid Build Coastguard Worker 2293*c9945492SAndroid Build Coastguard Worker1.2.3 release notes 2294*c9945492SAndroid Build Coastguard Worker 2295*c9945492SAndroid Build Coastguard Workernew features: 2296*c9945492SAndroid Build Coastguard Worker- qsort_r function (POSIX-future) 2297*c9945492SAndroid Build Coastguard Worker- pthread_getname_np extension function 2298*c9945492SAndroid Build Coastguard Worker- hard float on SPE FPU for powerpc-sf 2299*c9945492SAndroid Build Coastguard Worker- SEEK_DATA and SEEK_HOLE exposed in unistd.h (Linux extensions) 2300*c9945492SAndroid Build Coastguard Worker 2301*c9945492SAndroid Build Coastguard Workercompatibility: 2302*c9945492SAndroid Build Coastguard Worker- free now preserves errno (POSIX-future requirement) 2303*c9945492SAndroid Build Coastguard Worker- setjmp is declared explicitly with returns_twice for non-GCC compilers 2304*c9945492SAndroid Build Coastguard Worker- macro version of isascii is no longer defined for C++ 2305*c9945492SAndroid Build Coastguard Worker- dynamic linker now tolerates zero-length LOAD segments 2306*c9945492SAndroid Build Coastguard Worker- epoll_[p]wait is now a cancellation point 2307*c9945492SAndroid Build Coastguard Worker- pwd/grp functions no longer fail on systems without AF_UNIX support 2308*c9945492SAndroid Build Coastguard Worker- POSIX TZ parsing is stricter to allow more names to fallback to files 2309*c9945492SAndroid Build Coastguard Worker- NULL is now defined as nullptr when used in C++11 or later 2310*c9945492SAndroid Build Coastguard Worker- gettext now accepts null pointer as argument 2311*c9945492SAndroid Build Coastguard Worker 2312*c9945492SAndroid Build Coastguard Workerbugs fixed: 2313*c9945492SAndroid Build Coastguard Worker- old regression in wcwidth of Hangul combining (vowel/final) letters 2314*c9945492SAndroid Build Coastguard Worker- duplocale used wrong malloc when malloc was replaced (1.2.2 regression) 2315*c9945492SAndroid Build Coastguard Worker- fmaf rounded wrong on archs without FE_TOWARDZERO (all softfloat archs) 2316*c9945492SAndroid Build Coastguard Worker- popen didn't honor requirement not to leak other popen pipe fds to child 2317*c9945492SAndroid Build Coastguard Worker- aligned_alloc and variants crashed on allocation failure 2318*c9945492SAndroid Build Coastguard Worker- dl_iterate_phdr reported incorrect module TLS pointers 2319*c9945492SAndroid Build Coastguard Worker- mishandling of some inputs in acoshf and expm1f and functions using them 2320*c9945492SAndroid Build Coastguard Worker- potentially wrong-sign zero in cproj functions at infinity 2321*c9945492SAndroid Build Coastguard Worker- multiple bugs in legacy function cuserid 2322*c9945492SAndroid Build Coastguard Worker- minor posix_spawn file actions API conformance issues 2323*c9945492SAndroid Build Coastguard Worker- pthread_setname_np fd leak 2324*c9945492SAndroid Build Coastguard Worker- out-of-bound read in zoneinfo handling with distant-past times 2325*c9945492SAndroid Build Coastguard Worker- out-of-tree builds lacked generated debug cfi for x86 asm 2326*c9945492SAndroid Build Coastguard Worker 2327*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2328*c9945492SAndroid Build Coastguard Worker- powerpc (32-bit) struct shmid_ds layout was wrong for some fields 2329*c9945492SAndroid Build Coastguard Worker- time64 struct layout was wrong in sound ioctl fallback (32-bit archs) 2330*c9945492SAndroid Build Coastguard Worker 2331*c9945492SAndroid Build Coastguard Worker 2332*c9945492SAndroid Build Coastguard Worker 2333*c9945492SAndroid Build Coastguard Worker1.2.4 release notes 2334*c9945492SAndroid Build Coastguard Worker 2335*c9945492SAndroid Build Coastguard Workernew features: 2336*c9945492SAndroid Build Coastguard Worker- large dns record lookups via tcp fallback 2337*c9945492SAndroid Build Coastguard Worker- new getaddrinfo EAI_NODATA result to distinguish NODATA/NxDomain 2338*c9945492SAndroid Build Coastguard Worker- support for new RELR compressed format for relative relocations 2339*c9945492SAndroid Build Coastguard Worker- sysconf keys for querying signal stack size requirements 2340*c9945492SAndroid Build Coastguard Worker- real vfork on riscv64 2341*c9945492SAndroid Build Coastguard Worker 2342*c9945492SAndroid Build Coastguard Workerperformance: 2343*c9945492SAndroid Build Coastguard Worker- mallocng no longer uses MADV_FREE (high performance cost, little gain) 2344*c9945492SAndroid Build Coastguard Worker- vdso clock_gettime is supported once again on 32-bit arm 2345*c9945492SAndroid Build Coastguard Worker 2346*c9945492SAndroid Build Coastguard Workercompatibility: 2347*c9945492SAndroid Build Coastguard Worker- gethostbyname family now distinguishes NO_DATA from HOST_NOT_FOUND 2348*c9945492SAndroid Build Coastguard Worker- res_send now works with caller-provided edns0 queries 2349*c9945492SAndroid Build Coastguard Worker- arpa/nameser.h RR types list is now up-to-date 2350*c9945492SAndroid Build Coastguard Worker- previously-missing POSIX confstr keys have been added 2351*c9945492SAndroid Build Coastguard Worker- mntent interfaces now accept missing fields 2352*c9945492SAndroid Build Coastguard Worker- alt signal stack, if any, is now used for internal signals 2353*c9945492SAndroid Build Coastguard Worker- the LFS64 macros are no longer exposed without _LARGEFILE64_SOURCE 2354*c9945492SAndroid Build Coastguard Worker- memmem (POSIX-future) is now exposed in default feature profile 2355*c9945492SAndroid Build Coastguard Worker- pthread_atfork now admits calls from an application-provided malloc 2356*c9945492SAndroid Build Coastguard Worker- debugger tracking of shared libraries now works on MIPS PIE binaries 2357*c9945492SAndroid Build Coastguard Worker- sendmsg now supports up to SCM_MAX_FD fds in SCM_RIGHTS messages 2358*c9945492SAndroid Build Coastguard Worker 2359*c9945492SAndroid Build Coastguard Workerbugs fixed: 2360*c9945492SAndroid Build Coastguard Worker- gethostbyname[2]_r wrongly returned nonzero (error) on negative result 2361*c9945492SAndroid Build Coastguard Worker- parallel v4/v6 address queries could fail on query id collisions 2362*c9945492SAndroid Build Coastguard Worker- spurious getaddrinfo/AI_ADDRCONFIG failures due to errno clobbering 2363*c9945492SAndroid Build Coastguard Worker- dns search domains ending in dot (including lone dot) broke lookups 2364*c9945492SAndroid Build Coastguard Worker- ipv6 servers in resolv.conf broke lookups on systems with v6 disabled 2365*c9945492SAndroid Build Coastguard Worker- systems with bindv6only failed to query both v4 and v6 nameservers 2366*c9945492SAndroid Build Coastguard Worker- res_mkquery mishandled consecutive final dots in name 2367*c9945492SAndroid Build Coastguard Worker- res_send could malfunction for very small answer buffer sizes 2368*c9945492SAndroid Build Coastguard Worker- resolver dns backend accepted answers with wrong (A vs AAAA) RR type 2369*c9945492SAndroid Build Coastguard Worker- getservbyport_r returned junk or ENOENT (vs ERANGE) on buffer size errors 2370*c9945492SAndroid Build Coastguard Worker- dns result parsing of malformed responses could process uninitialized data 2371*c9945492SAndroid Build Coastguard Worker- freopen didn't reset stream orientation (byte/wide) & encoding rule 2372*c9945492SAndroid Build Coastguard Worker- fwprintf didn't print most fields on open_wmemstream FILEs 2373*c9945492SAndroid Build Coastguard Worker- wide printf %lc ignored field width 2374*c9945492SAndroid Build Coastguard Worker- wide printf erroneously processed %n after encoding errors 2375*c9945492SAndroid Build Coastguard Worker- use of wide printf %9$ argument slot overflowed undersized buffer 2376*c9945492SAndroid Build Coastguard Worker- swprintf malfunctioned on nul character in output 2377*c9945492SAndroid Build Coastguard Worker- strverscmp ordered digit sequences vs nondigits incorrectly 2378*c9945492SAndroid Build Coastguard Worker- timer_create/SIGEV_THREAD failure leaked the thread 2379*c9945492SAndroid Build Coastguard Worker- semaphores were subject to missed-wake under certain usage patterns 2380*c9945492SAndroid Build Coastguard Worker- several possible rare deadlocks with lock handling at thread exit 2381*c9945492SAndroid Build Coastguard Worker- several possible rare deadlocks with aio and multithreaded fork 2382*c9945492SAndroid Build Coastguard Worker- dynamic linker relro processing was broken on archs w/variable pagesize 2383*c9945492SAndroid Build Coastguard Worker- async cancellation could run cancellation handlers in invalid context 2384*c9945492SAndroid Build Coastguard Worker- pthread_detach was wrongly a cancellation point in rare race code path 2385*c9945492SAndroid Build Coastguard Worker- use-after-close/double-close errors in mq_notify error paths 2386*c9945492SAndroid Build Coastguard Worker- mq_notify event thread wrongly ran with signals unmasked 2387*c9945492SAndroid Build Coastguard Worker- wcs{,n}cmp, wmemcmp returned wrong results when difference overflowed 2388*c9945492SAndroid Build Coastguard Worker- accept4, pipe2, and dup3 handled unknown flags wrong in fallback cases 2389*c9945492SAndroid Build Coastguard Worker- CPU_SETSIZE macro had wrong unit 2390*c9945492SAndroid Build Coastguard Worker- select fallback for pre-time64 kernels truncated timeout (vs clamping) 2391*c9945492SAndroid Build Coastguard Worker 2392*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2393*c9945492SAndroid Build Coastguard Worker- x32 new socketcalls took fallback path due to pointer sign extension 2394*c9945492SAndroid Build Coastguard Worker- x32 wait4 didn't fill rusage structure (time64 regression) 2395*c9945492SAndroid Build Coastguard Worker- x32 semtimedop mismatched timespec ABI with kernel (time64 regression) 2396*c9945492SAndroid Build Coastguard Worker- sigaction signal mask was bogus on or1k, microblaze, mips, and riscv 2397*c9945492SAndroid Build Coastguard Worker- powerpc-sf longjmp asm clobbered value argument 2398*c9945492SAndroid Build Coastguard Worker- or1k poll function passed timeout to syscall in wrong form 2399*c9945492SAndroid Build Coastguard Worker 2400*c9945492SAndroid Build Coastguard Worker 2401*c9945492SAndroid Build Coastguard Worker 2402*c9945492SAndroid Build Coastguard Worker1.2.5 release notes 2403*c9945492SAndroid Build Coastguard Worker 2404*c9945492SAndroid Build Coastguard Workernew features: 2405*c9945492SAndroid Build Coastguard Worker- statx function (linux extension; via syscall and fallback using fstatat) 2406*c9945492SAndroid Build Coastguard Worker- clone function is now usable and gives _Fork-like consistency in child 2407*c9945492SAndroid Build Coastguard Worker- statvfs now provides f_type result 2408*c9945492SAndroid Build Coastguard Worker- preadv2 and pwritev2 (linux extension) syscall wrappers 2409*c9945492SAndroid Build Coastguard Worker- riscv64 TLSDESC support 2410*c9945492SAndroid Build Coastguard Worker 2411*c9945492SAndroid Build Coastguard Workernew ports: 2412*c9945492SAndroid Build Coastguard Worker- loongarch64 2413*c9945492SAndroid Build Coastguard Worker- riscv32 2414*c9945492SAndroid Build Coastguard Worker 2415*c9945492SAndroid Build Coastguard Workercompatibility: 2416*c9945492SAndroid Build Coastguard Worker- DNS resolver can now handle answers with long CNAME chains 2417*c9945492SAndroid Build Coastguard Worker- string.h no longer provides (C23-incompat) non-prototype decl of basename 2418*c9945492SAndroid Build Coastguard Worker- fstatat statx backend now matches stat syscall non-automounting behavior 2419*c9945492SAndroid Build Coastguard Worker- mntent interfaces now handle escaped whitespace in paths/options 2420*c9945492SAndroid Build Coastguard Worker 2421*c9945492SAndroid Build Coastguard Workerstandards updates: 2422*c9945492SAndroid Build Coastguard Worker- printf %lc of nul wchar now produces output 2423*c9945492SAndroid Build Coastguard Worker- snprintf and swprintf no longer fail on n > INT_MAX 2424*c9945492SAndroid Build Coastguard Worker- ppoll is now exposed in default feature profile 2425*c9945492SAndroid Build Coastguard Worker 2426*c9945492SAndroid Build Coastguard Workerbugs fixed: 2427*c9945492SAndroid Build Coastguard Worker- some long DNS answers were wrongly rejected despite new TCP support 2428*c9945492SAndroid Build Coastguard Worker- glob could wrongly return GLOB_NOMATCH if aborted before any matches 2429*c9945492SAndroid Build Coastguard Worker- multithreaded set*id could malfunction from thread sequencing logic bug 2430*c9945492SAndroid Build Coastguard Worker- certain use of threads after fork could deadlock thread-list lock 2431*c9945492SAndroid Build Coastguard Worker- posix_spawn child could deadlock in race with async parent death 2432*c9945492SAndroid Build Coastguard Worker- mbrtowc return value was wrong if argument n exceeded UINT_MAX 2433*c9945492SAndroid Build Coastguard Worker- 80-bit extended acoshl and powl got some corner cases wrong 2434*c9945492SAndroid Build Coastguard Worker- syslog incorrectly generated localized timestamps 2435*c9945492SAndroid Build Coastguard Worker 2436*c9945492SAndroid Build Coastguard Workerarch-specific bugs fixed: 2437*c9945492SAndroid Build Coastguard Worker- arm (32-bit) TLSDESC malfunctioned due to addends being processed wrong 2438*c9945492SAndroid Build Coastguard Worker- riscv64 icache flush operation was non-functional 2439*c9945492SAndroid Build Coastguard Worker- sh sigsetjmp failed to properly restore call-saved register r8 on return 2440*c9945492SAndroid Build Coastguard Worker- sh dlsym RTLD_NEXT did not identify calling module correctly 2441