xref: /aosp_15_r20/external/musl/WHATSNEW (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
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