Skip to content

Commit

Permalink
Version 1.8
Browse files Browse the repository at this point in the history
Signed-off-by: Keith Packard <keithp@keithp.com>
  • Loading branch information
keith-packard committed Dec 22, 2022
1 parent b68f142 commit 98e59b7
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 2 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

cmake_minimum_required(VERSION 3.20.0)

project(Picolibc VERSION 1.7.9 LANGUAGES C ASM)
project(Picolibc VERSION 1.8 LANGUAGES C ASM)

if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
Expand Down
57 changes: 57 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,63 @@ use Picolibc:

## Releases

### Picolibc version 1.8

With the addition of nearly complete long double support in the math
library, it seems like it's time to declare a larger version increment
than usual.

* Improve arc and xtensa support, adding TLS helpers and other build fixes

* Fix FPSCR state for Arm8.1-M low overhead loops (thanks to David
Green)

* Add -Werror=double-promotion to default error set and fix related
errors. (thanks to Ryan McClelland)

* Fix locking bug in malloc out-of-memory path and freeing a locked
mutex in the tinystdio bufio code. These were found with lock
debugging code in Zephyr.

* Add some missing functions in tinystdio, strto*l_l, remove,
tmpname/tmpfile which were published in stdio.h but not included in
the library.

* Switch read/write functions to use POSIX types instead of legacy
cygwin types. This makes mapping to existing an POSIX api work
right.

* Add %b support to tinystdio printf and scanf. These are disabled by
default as they aren't yet standardized.

* Fix avr math function support. The avr version of gcc has modes
where double and long double are 32 or 64 bits, so the math library
code now detects all of that at compile time rather than build time
and reconfigures the functions to match the compiler types.

* Add nearly complete long double support from openlibm for 80-bit
Intel and 128-bit IEEE values (in addition to supporting 64-bit
long doubles). Still missing are Bessel functions and decimal
printf/scanf support.

* Add limited long double support for IBM 'double double' form. This
is enough to run some simple tests, but doesn't have any
significant math functions yet.

* Get Power9 code running under qemu with OPAL. This was mostly
needed to validate the big-endian and exception code for 128-bit
long doubles, but was also used to validate the double double
support.

* Provide times() and sysconf() implementations in semihosting. You
can now build and run the dhrystone benchmark without any further
code.

* Fix use of TLS variables with stricter alignment requirements in
the default linker script and startup code. (thanks to Joakim
Nohlgård and Alexander Richardson who found this issue while
working on lld support).

### Picolibc version 1.7.9

* Support all Zephyr SDK targets
Expand Down
2 changes: 1 addition & 1 deletion meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ project('picolibc', 'c',
],
license : 'BSD',
meson_version : '>= 0.53',
version: '1.7.9'
version: '1.8'
)

targets = []
Expand Down

0 comments on commit 98e59b7

Please sign in to comment.