[Picolibc] Version 1.8.4
Keith Packard
keithp at keithp.com
Wed Sep 20 18:03:45 PDT 2023
### Picolibc version 1.8.4
* Make math overflow and underflow handlers respect rounding modes.
* Add full precision fma/fmaf fallbacks by adapting the long-double
code which uses two floats/doubles and some careful exponent
management to ensure that only a single rounding operation occurs.
* Fix more m68k 80-bit float bugs
* Fix m68k asm ABI by returning pointers in %a0 and %d0
* Use an m68k-unknown-elf toolchain for m68k testing, including
multi-lib to check various FPU configurations on older and more
modern 68k targets.
* Improve CI speed by using ccache on zephyr and mac tests,
compressing the docker images and automatically canceling jobs when
the related PR is updated. Thanks to Peter Jonsson.
* Move a bunch of read-only data out of RAM and into flash by adding
'const' attributes in various places.
* Add a new linker symbol, `__heap_size_min`, which specifies a
minimum heap size. The linker will emit an error if this much space
is not available between the end of static data and the stack.
* Fix a bunch of bugs on targets with 16-bit int type. Thanks to
Peter Jonsson for many of these.
* Work around a handful of platform bugs on MSP430. I think these are
compiler bugs as they occur using both the binutils simulator and
mspsim.
* Run tests on MSP430 using the simulator that comes with gdb. Thanks to
Peter Jonsson for spliting tests apart to make them small enough to
link in under 1MB. This requires a patch adding primitive
semihosting to the simulator.
* Provide a division-free binary to decimal conversion option for
printf at friends. This is useful on targets without hardware
divide as it avoids pulling in a (usually large) software
implementation. This is controlled with the 'printf-small-ultoa'
meson option and is 'false' by default.
* Add 'minimal' printf and scanf variants. These reduce functionality
by removing code that acts on most data modifers including width
and precision fields and alternate presentation modes. A new config
variable, minimal-io-long-long, controls whether that code supports
long long types.
* Add a 'assert-verbose' option which controls whether the assert
macro is chatty by default. It is 'true' by default, which
preserves the existing code, but when set to 'false', then a
failing assert calls __assert_no_msg with no arguments, saving the
memory usually occupied by the filename, function name and
expression.
* Fix arm asm syntax for mrc/mcr instructions to make clang happy.
Thanks to Radovan Blažek for this patch.
--
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://keithp.com/pipermail/picolibc/attachments/20230920/27b62f64/attachment.sig>
More information about the Picolibc
mailing list