7a5fcb8c60
Picolibc's 'minimal' printf mode reduces functionality and size even more than the 'integer' mode. Use this where memory is at a premium and where the application knows that it does not require exact printf semantics. 1.8.5 adds two more printf variants, 'long long' and 'minimal'. The 'long long' variant is the same as the 'integer' variant but with long long support enabled. The 'minimal' variant reduces functionality and size even more than the 'integer' mode. Applications can use this where memory is at a premium and where the application does not require exact printf semantics. With these two added variants, the SDK has enough options so that all of the cbprintf modes can be supported with the pre-compiled bits: 1. CBPRINTF_NANO - picolibc's 'minimal' variant 2. CBPRINTF_REDUCED_INTEGRAL - picolibc's 'integer' variant 3. CBPRINTF_FULL_INTEGRAL - picolibc's 'long long' variant 4. CBPRINTF_FB_SUPPORT - picolibc's 'double' variant This patch makes the cbprintf Kconfig values drive the default picolibc variant, disables picolibc variants not capable of supporting the required cbprintf level, but allows applications to select more functionality in picolibc than cbprintf requires. Note that this depends on the SDK including picolibc 1.8.5. Without that, selecting the 'minimal' or 'long long' variant in Zephyr will end up with the default variant from picolibc, which is the full version with floating point support. When using the module things will work as specified. Signed-off-by: Keith Packard <keithp@keithp.com> |
||
---|---|---|
.. | ||
arcmwdt | ||
armstdc | ||
common | ||
minimal | ||
newlib | ||
picolibc | ||
CMakeLists.txt | ||
Kconfig |