aboutsummaryrefslogtreecommitdiff
path: root/newlib/NEWS
blob: c39b925c46648dab50d1d78e42d660840588ff67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
*** Major changes in newlib version 4.3.0:

- remove i?86-pc-linux-gnu support
- remove decstation & sunos support
- remove phoenix OS support
- build system internals heavily rewritten & updated

*** 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.