1 *** Major changes in newlib version 4.4.0:
3 - long double support for i386, aarch64, and x86_64 added from FreeBSD
4 - RISC-V Zfinx/Zdinx extension support
5 - wildcard support added to allow arbitrary include dirs to be specified for a platform
7 - printf family helper functions split out into separate files to save space when linking
8 - wide-oriented I/O fixes including proper split of byte and wide-oriented stdio functions
9 - support added for RISC-V long double math
10 - fixes for c99/gcc-14 warnings treated as errors in multiple platforms
12 *** Major changes in newlib version 4.3.0:
15 - remove i?86-pc-linux-gnu support
16 - remove decstation & sunos support
17 - remove phoenix OS support
18 - remove unused members from struct _reent (see also --enable-newlib-reent-binary-compat)
19 - build system internals heavily rewritten & updated
20 - make arm jmp_buf size and alignment ABI-conformant
21 - fixed bug in arm setjmp/longjmp to preserve floating-point register values
22 - add --enable-newlib-reent-thread-local configuration option
23 - add --enable-newlib-reent-binary-compat configuration option
24 - add 64-bit powerpc setjmp/longjmp support
25 - use global stdio streams for all configurations
26 - use global atexit data for all configurations
27 - vectorized math routines added for amdgcn platform
28 - nvptx: remove newlib ELIX level 1 restriction
30 *** Major changes in newlib version 4.2.0:
32 - remove use of --cygnus option for automake
33 - rename configure.in files to configure.ac
34 - enable automake silent rules
35 - import gdtoa from OpenBSD
36 - update to Unicode 14.0
37 - ignore _FORTIFY_SOURCE when building newlib
39 - add clock support to nvptx port
40 - various pthread POSIX APIs added
41 - added implementatio for sig2str/str2sig
42 - strtod/strtof to set errno to ERANGE consistently for underflow
43 - fixed rounding issue with sqrt/sqrtf
44 - fixed heap fragmentation issue with nano-malloc
46 - additions to sys/tree.h
48 *** Major changes in newlib version 4.1.0:
50 - fixes for regressions to pow/powf and tgamma functions
51 - RISC-V semihosting support
52 - RISC-V and arm patches
54 *** Major changes in newlib version 4.0.0:
56 - additional out-of-bounds checking for malloc/nano-malloc family
57 - various fixes to makedocbook for python 3.8
58 - multiple standard/accuracy fixes to libm math routines
60 - support for Armv8-R aarch64 added
61 - move of __tzrules_struct from time.h to internal header
62 - math additions/improvements for RISC-V and arm
63 - all arm code converted to use unified syntax for Thumb1
64 - fenv support added for multiple platforms
65 - hard float support for PowerPC taken from FreeBSD
66 - advertising clause removed from BSD licenses
69 *** Major changes in newlib version 3.2.0:
71 - memmem performance improvement
72 - nanf() and HUGE_VALF now used in libm float routines to reduce size
73 - new reduced "tiny" code size printf and puts support
74 - errno setting enhanced in libm routines
75 - new --enable-newlib-reent-check-verify configure option to verify reent memory
76 - <fenv.h> support added
77 - <sys/time.h> and <sys/_timespec.h> synced with FreeBSD
78 - timeval macros moved to <sys/time.h>
79 - newlib wide char conversion functions updated to Unicode 11.0
80 - new msp430-elfbare target support
84 - various standard improvements
86 *** Major changes in newlib version 3.1.0:
88 - global stdio streams support added for reent small
89 - _CLOCKID_T made system configurable
90 - generated Unicode 10.0 width data, case conversion data,
91 character category data
92 - Unicode table generation scripts fixed/enhanced
93 - performance enhancements for qsort, strstr
95 - sinf/cosf/sincosf/exp/exp2/log/log2/pow rewritten for performance and accuracy
96 - various gcc warnings fixed
97 - various standard improvements
100 *** Major changes in newlib version 3.0.0:
102 - K&R support removed in code and docs
103 - 64-bit time_t support
104 - riscv platform support added
105 - new expf, exp2f, logf, and powf implementations
106 - unification of lock object names
107 - locking routine retargetting at link time
108 - new long double complex math routines
109 - various ARM optimizations
110 - various POSIX/BSD additions
111 - further feature test macros overhaul
113 *** Major changes in newlib version 2.5.0:
116 - some header file reorganization
119 - added per-locale string functions
120 - additional feature test macro overhaul
122 *** Major changes in newlib version 2.4.0:
124 - feature test macro overhaul
125 - new string functions (e.g. timingsafe_bcmp)
126 - new stdlib functions (e.g. arc4random)
127 - simplified versioning macros for newlib
128 - Changelog files deprecated
130 *** Major changes in newlib version 2.3.0:
132 - dynamic atexit logic fixed
133 - various arm performance enhancements
134 - new version of strtold
136 - arc platform support redone
137 - strftime improvements/enhancements
138 - imported logic from FreeBSD
140 - complex math enhancements
141 - visium platform support added
142 - or1k platform support added
144 *** Major changes in newlib version 2.2.0:
146 - multiple functional/performance enhancements for arm/aarch64
147 - new nano formatted I/O support
148 - replacement of or16/or32 with or1k platform
150 - additional long double math routines
152 - restructuring of gmtime/localtime so tz functions only linked by localtime
153 - unlocked I/O functions
154 - various warning clean-ups
156 *** Major changes in newlib version 2.1.0:
158 - multibyte decimal point support added to
160 - multiple changes for FreeBSD compatibility
161 - multiple RTEMS changes for Linux compatibility
162 - addition of restrict keyword
163 - nano-malloc support added
164 - global atexit support added
165 - new nds32 platform support
166 - new msp430 platform support
167 - new nios2 platform support
169 - updated arm support (aarch64)
170 - newlib ported to x86_64-pc-cygwin
172 *** Major changes in newlib version 2.0.0:
174 - addition of aarch64 platform support
175 - addition of epiphany platform support
176 - addition of 'm' printf conversion specifier
177 - memrchr function added
178 - removal of many compiler warnings
179 - removal of enable-newlib-fp-hw option and
180 deprecation of mathfp directory
181 - type of offset in file structure changed from int to off_t
182 - new optimized arm math routines
185 *** Major changes in newlib version 1.20.0:
188 * fixes to strftime/strptime
189 * fixes to arm support
190 * new NO_INCLUDE_LIST configuration support
191 * rl78 platform support contributed
192 * sparc-leon platform support contributed
193 * cvs-to-git mirroring of newlib
196 *** Major changes in newlib version 1.19.0:
198 * complex math functions
199 * locale support extended to maintain wide char values of native strings
200 * eXtensible Data Record (XDR) support for Cygwin
201 * wide char functions updated to Unicode 5.2
202 * additional locale charsets
203 * POSIX standard adherence improvements
204 * tic6x platform support contributed
205 * cr16 platform support contributed
208 *** Major changes in newlib version 1.18.0:
210 * wide-char enhancements
211 * long double math routines added for platforms where LDBL == DBL
212 * long long math routines added
214 * UTF-16 modifications for Cygwin
215 * major locale charset overhaul including added charsets
216 * added moxie platform
218 * added xc16x platform
222 *** Major changes in newlib version 1.17.0:
224 * new C99 wide-char function additions
225 * lm32 platform support contributed
226 * movement of regex functions from sys/linux directory into
227 shared libc/posix directory
228 * string function optimizations
229 * redesign of formatted I/O to reduce dependencies when using
230 sprintf/sscanf family of functions
231 * numerous warning cleanups
232 * documentation fixes to support pdf, info, ps formats and
233 eclipse libhover hover docs
236 *** Major changes in newlib version 1.16.0:
238 * mep-elf support contributed
239 * x86_64 support added
240 * reentrant I/O clean-up
241 * various new C functions added from C99, POSIX, SUSV, etc..
242 * switch to use top-level libtool
243 * spu floating-point environment and stdio enhancement
247 *** Major changes in newlib version 1.15.0:
249 * new platforms added (bfin, spu, fido)
250 * merge of csl branch changes (e.g. m68k)
251 * additional C99 support (printf modifiers, strtod, isnan/isinf)
252 * new configuration option to turn off dynamic allocation for atexit
253 * reentrancy added for read / write functions
254 * Cygwin fixes (e.g. POSIX read file flush behavior)
255 * switch to autoconf 2.5.9
256 * use of aclocal/automake 1.9.6
257 * various bug fixes and doc cleanups
259 *** Major changes in newlib version 1.14.0:
261 * new platforms added (cris, mt, m32c)
262 * more locking protection macros added
263 * various C99/POSIX/SUSV3 compliance issue improvements
265 * header file improvements (e.g. adding RTEMS stdint.h/inttypes.h)
267 * changes made to allow use of gcc4 to build newlib
268 * general bug fixes and cleanups
270 *** Major changes in newlib version 1.13.0:
272 * optimized iconv support
273 * new configuration option to disable syscalls in newlib (e.g. sys/arm)
274 * new configuration options controlling long long, long double support
275 * ability of configuration options to override platform defaults
276 * improved locking protection for file I/O functions
277 * new reentrant functions
278 * various fixes to allow building under FC3 and Debian Linux
280 * new platforms (e.g. crx)
281 * new iprintf and iscanf family functions
283 *** Major changes in newlib version 1.12.0:
285 * general iconv support added
286 * major cleanup with linux header files regarding warnings
287 * thread-safety and reentrancy fixes
288 * additional wide character C99 functions
289 * addition of %lc, %ls, %S, and %C printf format specifiers
292 *** Major changes in newlib version 1.11.0:
294 * enhanced EL/IX support for i[3456]86-pc-linux
295 * new --enable-newlib-elix-level configuration option
296 * positional arg I/O support for printf family (--enable-newlib-io-pos-args)
297 * support for the Fujitsu FRV architecture added by Red Hat
298 * support for Motorola Altivec and SPE added by Red Hat
299 * new small reentrancy structure support
300 * dynamic reentrancy structure support
302 *** Major changes in newlib version 1.10.0:
304 * libtool support for i[3456]86-pc-linux native builds
305 * addition of libm/machine/i386 directory, for i386 fast math routines
307 *** Major changes in newlib version 1.9.0:
309 * i[3456]86-pc-linux support
311 * Long Double I/O support via the WANT_IO_LONG_DBL flag
313 * addition of reentrant environment functions
315 * addition of xscale and AVR platforms
317 * severe reduction in the number of warnings issued
319 * consolidation of many RTEMS features into shared headers
321 *** Major changes in newlib version 1.8.2:
323 * RTEMS features and fixes from Joel Sherrill.
325 * More work on reentrant routines.
327 * Floating point math library check, --enable-newlib-hw-fp.
329 *** Major changes in newlib version 1.8.1:
331 * Added check for --enable-newlib-mb configure option which defines the
332 MB_CAPABLE macro. Multibyte support for JIS, SJIS, and EUC-JP implemented.
334 * Reduced code size for libm modules.
336 * Replaced the BSD malloc with Doug Lea's malloc.
338 *** Major changes in newlib version 1.8.0:
340 * Added simulated signal handling functions _raise_r, _signal_r, raise, and
341 signal except for sparc-sun-sunos*, i[3456]86-*-sco*, and a29k-*-* systems,
342 which already provide access to signal. The signal functionality provided
343 does not interact with hardware generated signals.
345 * Added reentrant function rand_r from POSIX.1c.
347 * Removed _asctime, _next, _scanpoint, and _signgam fields from struct
348 _reent. These are no longer necessary since there are now functions
349 that explictly support multiple threads (asctime_r, ctime_r, gamma_r,
350 gmtime_r, lgamma_r, localtime_r, rand_r, & strtok_r).
353 *** Major changes in newlib version 1.7.0:
355 * Cross compiler target libraries are now built in a subdir of the top level
368 where m68020 and m68881 are multilib subdirectories
370 * m68k targets support --disable options to avoid building unwanted versions
373 --disable-softfloat - don't build libc, libg++, etc. for -msoft-float
374 --disable-m68881 - don't build libc, libg++, etc. for -m68881
375 --disable-m68000 - don't build libc, libg++, etc. for -m68000
376 --disable-m68020 - don't build libc, libg++, etc. for -m68020
378 These options have *no* effect on the default libraries, so if the default
379 is -m68020, --disable-m68020 is nilpotent.
381 * Reentrancy support in libm removed.
383 * strtok, strtol, strtoul, assert, div, ldiv, qsort, vfprintf
384 replaced with NetBSD versions.
386 * Support for systems with 32 bit "doubles" added.
390 * dtoa.c updated from master dtoa.c soruces (netlib.att.com)
394 *** Major changes in newlib version 1.6.1:
396 * Added reentrant functions (asctime_r, ctime_r, gmtime_r, localtime_r,
397 and strtok_r) from POSIX.1c.
399 * Removed _asctime_r and _strtok_r functions.