From a4a8120b6992bb671b15e22b55301dd39feb6371 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 20 Sep 2023 22:06:27 -0700 Subject: [PATCH] doc: Update picolibc section in 3.5 migration guide for 1.8.5 Picolibc 1.8.5 includes more control over printf capabilities, document those in the migration guide. Signed-off-by: Keith Packard --- doc/releases/migration-guide-3.5.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/releases/migration-guide-3.5.rst b/doc/releases/migration-guide-3.5.rst index d9b81c62106786..cda3602f19f5f3 100644 --- a/doc/releases/migration-guide-3.5.rst +++ b/doc/releases/migration-guide-3.5.rst @@ -70,6 +70,16 @@ C Library compiler will now warn about declarations of `main` which don't conform to the Zephyr required type -- ``int main(void)``. + * Picolibc has four different printf/scanf variants supported in Zephyr, + 'double', 'long long', 'integer', and 'minimal. 'double' offers a + complete printf implementation with exact floating point in decimal and + hexidecimal formats, full integer support including long long, C99 + integer size specifiers (j, z, t) and POSIX positional arguments. 'long + long' mode removes float support, 'integer' removes long long support + while 'minimal' mode also removes support for format modifiers and + positional arguments. Building the library as a module allows finer + control over the feature set provided at each level. + * Picolibc's default floating point input/output code is larger than the minimal C library version (this is necessary to conform with the C language "round trip" requirements for these operations). If you use