[Picolibc] Version 1.7.5
Keith Packard
keithp at keithp.com
Mon Mar 14 11:54:26 PDT 2022
Version 1.7.5 is finally wrapped up this morning; lots of useful
changes; here's the README.md notes about the release. Thanks to all who
contributed to this release.
Debian and Arm GNU Toolkit packages are now built in both space and
speed optimized forms; the space optimized forms are what you get by
default. If you want the speed optimized versions, use
'--picolibc-buildtype=release' when building your applications.
1. Fix build on big-endian systems (thanks to Thomas Daede)
2. Add m68k support (thanks to Thomas Daede).
3. Fix build issues with ARM Cortex-a9 target (thanks to Ilia
Sergachev).
4. Fix fwrite(x,0,y,z) in both tinystdio and legacy stdio. tinystdio
returned the wrong value and legacy stdio caused a divide-by-zero
fault.
5. Update Ryu code to match upstream (minor fixes)
6. Fix various __NEWLIB and __PICOLIBC macros; they were using a
single leading underscore instead of two (thanks to Vincent
Palatin).
7. Fix tinystdio error-handling bugs
8. Merge recent newlib changes (fixed ltdoa in legacy stdio)
9. Speed improvements for github CI system
10. Big-endian PowerPC support
11. Fail builds if most 'run_command' uses fail (thanks to Johan de
Claville Christiansen)
12. Positional parameters in tinystdio. With this, I think tinystdio
is feature complete.
13. Support for multiple build-styles of picolibc (minsize/release)
in one binary package. This still requires separate meson runs.
14. Testing with glibc test code. This uncovered numerous bugs,
mostly math errno/exception mistakes, but also a few serious
bugs, including a couple of places where the nano-malloc failed
to check for out-of-memory. Picolibc now passes all of the glibc
math tests except for jn, yn, lgamma and tgamma. The picolibc
versions of those functions are too inaccurate. Picolibc also
passes most other relevant glibc tests, including stdio,
string and stdlib areas.
15. Tinystdio version of fcvt now has a static buffer large enough to
hold the maximum return size.
16. Tinystdio versions of ecvtbuf and fcvtbuf have been replaced
with ecvt_r and fcvt_r equivalents, which take a 'len' parameter
to prevent buffer overruns.
17. Add the GeneratePicolibcCrossFile.sh script which provides a way
to isolate picolibc build scripts from the vagaries of meson
version shifts (thanks to R. Diez).
18. Add 'semihost' version of crt0 that calls 'exit' after main
returns. The ARM and RISC-V versions of this also include trap
handlers for exceptions that print out information and exit when
an exception occurs.
--
-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/20220314/21c4689d/attachment-0001.sig>
More information about the Picolibc
mailing list