newlib-cygwin/newlib/NEWS

400 lines
13 KiB
Plaintext

*** Major changes in newlib version 4.4.0:
- long double support for i386, aarch64, and x86_64 added from FreeBSD
- RISC-V Zfinx/Zdinx extension support
- wildcard support added to allow arbitrary include dirs to be specified for a platform
- Xtensa port added
- printf family helper functions split out into separate files to save space when linking
- wide-oriented I/O fixes including proper split of byte and wide-oriented stdio functions
- support added for RISC-V long double math
- fixes for c99/gcc-14 warnings treated as errors in multiple platforms
*** Major changes in newlib version 4.3.0:
- remove i?86-pc-linux-gnu support
- remove decstation & sunos support
- remove phoenix OS support
- remove unused members from struct _reent (see also --enable-newlib-reent-binary-compat)
- build system internals heavily rewritten & updated
- make arm jmp_buf size and alignment ABI-conformant
- fixed bug in arm setjmp/longjmp to preserve floating-point register values
- add --enable-newlib-reent-thread-local configuration option
- add --enable-newlib-reent-binary-compat configuration option
- add 64-bit powerpc setjmp/longjmp support
- use global stdio streams for all configurations
- use global atexit data for all configurations
- vectorized math routines added for amdgcn platform
- nvptx: remove newlib ELIX level 1 restriction
*** Major changes in newlib version 4.2.0:
- remove use of --cygnus option for automake
- rename configure.in files to configure.ac
- enable automake silent rules
- import gdtoa from OpenBSD
- update to Unicode 14.0
- ignore _FORTIFY_SOURCE when building newlib
- fixes to ldtoa
- add clock support to nvptx port
- various pthread POSIX APIs added
- added implementatio for sig2str/str2sig
- strtod/strtof to set errno to ERANGE consistently for underflow
- fixed rounding issue with sqrt/sqrtf
- fixed heap fragmentation issue with nano-malloc
- FTW port for newlib
- additions to sys/tree.h
*** Major changes in newlib version 4.1.0:
- fixes for regressions to pow/powf and tgamma functions
- RISC-V semihosting support
- RISC-V and arm patches
*** Major changes in newlib version 4.0.0:
- additional out-of-bounds checking for malloc/nano-malloc family
- various fixes to makedocbook for python 3.8
- multiple standard/accuracy fixes to libm math routines
- C-SKY port
- support for Armv8-R aarch64 added
- move of __tzrules_struct from time.h to internal header
- math additions/improvements for RISC-V and arm
- all arm code converted to use unified syntax for Thumb1
- fenv support added for multiple platforms
- hard float support for PowerPC taken from FreeBSD
- advertising clause removed from BSD licenses
- various other fixes
*** Major changes in newlib version 3.2.0:
- memmem performance improvement
- nanf() and HUGE_VALF now used in libm float routines to reduce size
- new reduced "tiny" code size printf and puts support
- errno setting enhanced in libm routines
- new --enable-newlib-reent-check-verify configure option to verify reent memory
- <fenv.h> support added
- <sys/time.h> and <sys/_timespec.h> synced with FreeBSD
- timeval macros moved to <sys/time.h>
- newlib wide char conversion functions updated to Unicode 11.0
- new msp430-elfbare target support
- AMD GCN port
- PRU port
- nbdm port
- various standard improvements
*** Major changes in newlib version 3.1.0:
- global stdio streams support added for reent small
- _CLOCKID_T made system configurable
- generated Unicode 10.0 width data, case conversion data,
character category data
- Unicode table generation scripts fixed/enhanced
- performance enhancements for qsort, strstr
- nvptx port added
- sinf/cosf/sincosf/exp/exp2/log/log2/pow rewritten for performance and accuracy
- various gcc warnings fixed
- various standard improvements
*** Major changes in newlib version 3.0.0:
- K&R support removed in code and docs
- 64-bit time_t support
- riscv platform support added
- new expf, exp2f, logf, and powf implementations
- unification of lock object names
- locking routine retargetting at link time
- new long double complex math routines
- various ARM optimizations
- various POSIX/BSD additions
- further feature test macros overhaul
*** Major changes in newlib version 2.5.0:
- memory.h added
- some header file reorganization
- doc fixes
- ctype rewrite
- added per-locale string functions
- additional feature test macro overhaul
*** Major changes in newlib version 2.4.0:
- feature test macro overhaul
- new string functions (e.g. timingsafe_bcmp)
- new stdlib functions (e.g. arc4random)
- simplified versioning macros for newlib
- Changelog files deprecated
*** Major changes in newlib version 2.3.0:
- dynamic atexit logic fixed
- various arm performance enhancements
- new version of strtold
- doc improvements
- arc platform support redone
- strftime improvements/enhancements
- imported logic from FreeBSD
- locking fixes
- complex math enhancements
- visium platform support added
- or1k platform support added
*** Major changes in newlib version 2.2.0:
- multiple functional/performance enhancements for arm/aarch64
- new nano formatted I/O support
- replacement of or16/or32 with or1k platform
- qsort_r support
- additional long double math routines
- ito/utoa/ltoa
- restructuring of gmtime/localtime so tz functions only linked by localtime
- unlocked I/O functions
- various warning clean-ups
*** Major changes in newlib version 2.1.0:
- multibyte decimal point support added to
scanf family
- multiple changes for FreeBSD compatibility
- multiple RTEMS changes for Linux compatibility
- addition of restrict keyword
- nano-malloc support added
- global atexit support added
- new nds32 platform support
- new msp430 platform support
- new nios2 platform support
- lite exit support
- updated arm support (aarch64)
- newlib ported to x86_64-pc-cygwin
*** Major changes in newlib version 2.0.0:
- addition of aarch64 platform support
- addition of epiphany platform support
- addition of 'm' printf conversion specifier
- memrchr function added
- removal of many compiler warnings
- removal of enable-newlib-fp-hw option and
deprecation of mathfp directory
- type of offset in file structure changed from int to off_t
- new optimized arm math routines
- various bug fixes
*** Major changes in newlib version 1.20.0:
* I/O lock clean-up
* fixes to strftime/strptime
* fixes to arm support
* new NO_INCLUDE_LIST configuration support
* rl78 platform support contributed
* sparc-leon platform support contributed
* cvs-to-git mirroring of newlib
* various bug fixes
*** Major changes in newlib version 1.19.0:
* complex math functions
* locale support extended to maintain wide char values of native strings
* eXtensible Data Record (XDR) support for Cygwin
* wide char functions updated to Unicode 5.2
* additional locale charsets
* POSIX standard adherence improvements
* tic6x platform support contributed
* cr16 platform support contributed
* various bug fixes
*** Major changes in newlib version 1.18.0:
* wide-char enhancements
* long double math routines added for platforms where LDBL == DBL
* long long math routines added
* math cleanup
* UTF-16 modifications for Cygwin
* major locale charset overhaul including added charsets
* added moxie platform
* added rx platform
* added xc16x platform
* various cleanups
* various bug fixes
*** Major changes in newlib version 1.17.0:
* new C99 wide-char function additions
* lm32 platform support contributed
* movement of regex functions from sys/linux directory into
shared libc/posix directory
* string function optimizations
* redesign of formatted I/O to reduce dependencies when using
sprintf/sscanf family of functions
* numerous warning cleanups
* documentation fixes to support pdf, info, ps formats and
eclipse libhover hover docs
* various bug fixes
*** Major changes in newlib version 1.16.0:
* mep-elf support contributed
* x86_64 support added
* reentrant I/O clean-up
* various new C functions added from C99, POSIX, SUSV, etc..
* switch to use top-level libtool
* spu floating-point environment and stdio enhancement
* fastmath support
* various bug fixes
*** Major changes in newlib version 1.15.0:
* new platforms added (bfin, spu, fido)
* merge of csl branch changes (e.g. m68k)
* additional C99 support (printf modifiers, strtod, isnan/isinf)
* new configuration option to turn off dynamic allocation for atexit
* reentrancy added for read / write functions
* Cygwin fixes (e.g. POSIX read file flush behavior)
* switch to autoconf 2.5.9
* use of aclocal/automake 1.9.6
* various bug fixes and doc cleanups
*** Major changes in newlib version 1.14.0:
* new platforms added (cris, mt, m32c)
* more locking protection macros added
* various C99/POSIX/SUSV3 compliance issue improvements
* reentrancy cleanup
* header file improvements (e.g. adding RTEMS stdint.h/inttypes.h)
* various math fixes
* changes made to allow use of gcc4 to build newlib
* general bug fixes and cleanups
*** Major changes in newlib version 1.13.0:
* optimized iconv support
* new configuration option to disable syscalls in newlib (e.g. sys/arm)
* new configuration options controlling long long, long double support
* ability of configuration options to override platform defaults
* improved locking protection for file I/O functions
* new reentrant functions
* various fixes to allow building under FC3 and Debian Linux
* cxa exit support
* new platforms (e.g. crx)
* new iprintf and iscanf family functions
*** Major changes in newlib version 1.12.0:
* general iconv support added
* major cleanup with linux header files regarding warnings
* thread-safety and reentrancy fixes
* additional wide character C99 functions
* addition of %lc, %ls, %S, and %C printf format specifiers
* doc cleanup
*** Major changes in newlib version 1.11.0:
* enhanced EL/IX support for i[3456]86-pc-linux
* new --enable-newlib-elix-level configuration option
* positional arg I/O support for printf family (--enable-newlib-io-pos-args)
* support for the Fujitsu FRV architecture added by Red Hat
* support for Motorola Altivec and SPE added by Red Hat
* new small reentrancy structure support
* dynamic reentrancy structure support
*** Major changes in newlib version 1.10.0:
* libtool support for i[3456]86-pc-linux native builds
* addition of libm/machine/i386 directory, for i386 fast math routines
*** Major changes in newlib version 1.9.0:
* i[3456]86-pc-linux support
* Long Double I/O support via the WANT_IO_LONG_DBL flag
* addition of reentrant environment functions
* addition of xscale and AVR platforms
* severe reduction in the number of warnings issued
* consolidation of many RTEMS features into shared headers
*** Major changes in newlib version 1.8.2:
* RTEMS features and fixes from Joel Sherrill.
* More work on reentrant routines.
* Floating point math library check, --enable-newlib-hw-fp.
*** Major changes in newlib version 1.8.1:
* Added check for --enable-newlib-mb configure option which defines the
MB_CAPABLE macro. Multibyte support for JIS, SJIS, and EUC-JP implemented.
* Reduced code size for libm modules.
* Replaced the BSD malloc with Doug Lea's malloc.
*** Major changes in newlib version 1.8.0:
* Added simulated signal handling functions _raise_r, _signal_r, raise, and
signal except for sparc-sun-sunos*, i[3456]86-*-sco*, and a29k-*-* systems,
which already provide access to signal. The signal functionality provided
does not interact with hardware generated signals.
* Added reentrant function rand_r from POSIX.1c.
* Removed _asctime, _next, _scanpoint, and _signgam fields from struct
_reent. These are no longer necessary since there are now functions
that explictly support multiple threads (asctime_r, ctime_r, gamma_r,
gmtime_r, lgamma_r, localtime_r, rand_r, & strtok_r).
*** Major changes in newlib version 1.7.0:
* Cross compiler target libraries are now built in a subdir of the top level
build directory.
Old way: build
/newlib
/m68020
/m68881
New way:
build
/m68k-coff
/m68020
/m68881
where m68020 and m68881 are multilib subdirectories
* m68k targets support --disable options to avoid building unwanted versions
of the libraries.
--disable-softfloat - don't build libc, libg++, etc. for -msoft-float
--disable-m68881 - don't build libc, libg++, etc. for -m68881
--disable-m68000 - don't build libc, libg++, etc. for -m68000
--disable-m68020 - don't build libc, libg++, etc. for -m68020
These options have *no* effect on the default libraries, so if the default
is -m68020, --disable-m68020 is nilpotent.
* Reentrancy support in libm removed.
* strtok, strtol, strtoul, assert, div, ldiv, qsort, vfprintf
replaced with NetBSD versions.
* Support for systems with 32 bit "doubles" added.
* unctrl added.
* dtoa.c updated from master dtoa.c soruces (netlib.att.com)
* Various bug fixes.
*** Major changes in newlib version 1.6.1:
* Added reentrant functions (asctime_r, ctime_r, gmtime_r, localtime_r,
and strtok_r) from POSIX.1c.
* Removed _asctime_r and _strtok_r functions.