1*** Major changes in newlib version 4.4.0: 2 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 6- Xtensa port added 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 11 12*** Major changes in newlib version 4.3.0: 13 14 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 29 30*** Major changes in newlib version 4.2.0: 31 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 38- fixes to ldtoa 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 45- FTW port for newlib 46- additions to sys/tree.h 47 48*** Major changes in newlib version 4.1.0: 49 50- fixes for regressions to pow/powf and tgamma functions 51- RISC-V semihosting support 52- RISC-V and arm patches 53 54*** Major changes in newlib version 4.0.0: 55 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 59- C-SKY port 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 67- various other fixes 68 69*** Major changes in newlib version 3.2.0: 70 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 81- AMD GCN port 82- PRU port 83- nbdm port 84- various standard improvements 85 86*** Major changes in newlib version 3.1.0: 87 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 94- nvptx port added 95- sinf/cosf/sincosf/exp/exp2/log/log2/pow rewritten for performance and accuracy 96- various gcc warnings fixed 97- various standard improvements 98 99 100*** Major changes in newlib version 3.0.0: 101 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 112 113*** Major changes in newlib version 2.5.0: 114 115- memory.h added 116- some header file reorganization 117- doc fixes 118- ctype rewrite 119- added per-locale string functions 120- additional feature test macro overhaul 121 122*** Major changes in newlib version 2.4.0: 123 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 129 130*** Major changes in newlib version 2.3.0: 131 132- dynamic atexit logic fixed 133- various arm performance enhancements 134- new version of strtold 135- doc improvements 136- arc platform support redone 137- strftime improvements/enhancements 138- imported logic from FreeBSD 139- locking fixes 140- complex math enhancements 141- visium platform support added 142- or1k platform support added 143 144*** Major changes in newlib version 2.2.0: 145 146- multiple functional/performance enhancements for arm/aarch64 147- new nano formatted I/O support 148- replacement of or16/or32 with or1k platform 149- qsort_r support 150- additional long double math routines 151- ito/utoa/ltoa 152- restructuring of gmtime/localtime so tz functions only linked by localtime 153- unlocked I/O functions 154- various warning clean-ups 155 156*** Major changes in newlib version 2.1.0: 157 158- multibyte decimal point support added to 159 scanf family 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 168- lite exit support 169- updated arm support (aarch64) 170- newlib ported to x86_64-pc-cygwin 171 172*** Major changes in newlib version 2.0.0: 173 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 183- various bug fixes 184 185*** Major changes in newlib version 1.20.0: 186 187* I/O lock clean-up 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 194* various bug fixes 195 196*** Major changes in newlib version 1.19.0: 197 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 206* various bug fixes 207 208*** Major changes in newlib version 1.18.0: 209 210* wide-char enhancements 211* long double math routines added for platforms where LDBL == DBL 212* long long math routines added 213* math cleanup 214* UTF-16 modifications for Cygwin 215* major locale charset overhaul including added charsets 216* added moxie platform 217* added rx platform 218* added xc16x platform 219* various cleanups 220* various bug fixes 221 222*** Major changes in newlib version 1.17.0: 223 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 234* various bug fixes 235 236*** Major changes in newlib version 1.16.0: 237 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 244* fastmath support 245* various bug fixes 246 247*** Major changes in newlib version 1.15.0: 248 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 258 259*** Major changes in newlib version 1.14.0: 260 261* new platforms added (cris, mt, m32c) 262* more locking protection macros added 263* various C99/POSIX/SUSV3 compliance issue improvements 264* reentrancy cleanup 265* header file improvements (e.g. adding RTEMS stdint.h/inttypes.h) 266* various math fixes 267* changes made to allow use of gcc4 to build newlib 268* general bug fixes and cleanups 269 270*** Major changes in newlib version 1.13.0: 271 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 279* cxa exit support 280* new platforms (e.g. crx) 281* new iprintf and iscanf family functions 282 283*** Major changes in newlib version 1.12.0: 284 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 290* doc cleanup 291 292*** Major changes in newlib version 1.11.0: 293 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 301 302*** Major changes in newlib version 1.10.0: 303 304* libtool support for i[3456]86-pc-linux native builds 305* addition of libm/machine/i386 directory, for i386 fast math routines 306 307*** Major changes in newlib version 1.9.0: 308 309* i[3456]86-pc-linux support 310 311* Long Double I/O support via the WANT_IO_LONG_DBL flag 312 313* addition of reentrant environment functions 314 315* addition of xscale and AVR platforms 316 317* severe reduction in the number of warnings issued 318 319* consolidation of many RTEMS features into shared headers 320 321*** Major changes in newlib version 1.8.2: 322 323* RTEMS features and fixes from Joel Sherrill. 324 325* More work on reentrant routines. 326 327* Floating point math library check, --enable-newlib-hw-fp. 328 329*** Major changes in newlib version 1.8.1: 330 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. 333 334* Reduced code size for libm modules. 335 336* Replaced the BSD malloc with Doug Lea's malloc. 337 338*** Major changes in newlib version 1.8.0: 339 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. 344 345* Added reentrant function rand_r from POSIX.1c. 346 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). 351 352 353*** Major changes in newlib version 1.7.0: 354 355* Cross compiler target libraries are now built in a subdir of the top level 356 build directory. 357 358 Old way: build 359 /newlib 360 /m68020 361 /m68881 362 New way: 363 build 364 /m68k-coff 365 /m68020 366 /m68881 367 368 where m68020 and m68881 are multilib subdirectories 369 370* m68k targets support --disable options to avoid building unwanted versions 371 of the libraries. 372 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 377 378 These options have *no* effect on the default libraries, so if the default 379 is -m68020, --disable-m68020 is nilpotent. 380 381* Reentrancy support in libm removed. 382 383* strtok, strtol, strtoul, assert, div, ldiv, qsort, vfprintf 384 replaced with NetBSD versions. 385 386* Support for systems with 32 bit "doubles" added. 387 388* unctrl added. 389 390* dtoa.c updated from upstream dtoa.c soruces (netlib.att.com) 391 392* Various bug fixes. 393 394*** Major changes in newlib version 1.6.1: 395 396* Added reentrant functions (asctime_r, ctime_r, gmtime_r, localtime_r, 397and strtok_r) from POSIX.1c. 398 399* Removed _asctime_r and _strtok_r functions. 400