cbprintf is broken on multiple platforms with GCC 12 #48829
Labels
area: Formatting Output
area: Logging
bug
The issue is a bug, or the PR is fixing a bug
priority: medium
Medium impact/importance bug
Milestone
Describe the bug
cbprintf (and subsequently logging) fails to print messages on the
SPARCmultiple platforms (including ARM, SPARC, x86) when compiled using the GCC 12.To Reproduce
Build and run
tests/lib/cbprintf_package
forqemu_leon3
.Logs and console output
Expected behavior
cbprintf is able to print messages on the SPARC platforms.
Impact
cbprintf (maps to printf when the minimal libc is selected) and the logging subsystem (internally calls the cbprintf) are unable to print messages.
Environment (please complete the following information):
Additional context
Something changed between the GCC 10.3 (part of Zephyr SDK 0.14.2) and the GCC 12 releases.
zephyr/include/zephyr/sys/cbprintf_internal.h
Lines 66 to 77 in a580b3d
Setting
Z_CBPRINTF_VA_STACK_LL_DBL_MEMCPY
to0
restores basic printing functionalities, but 64-bit type print still fails for the reason described in the comment above.Related to zephyrproject-rtos/sdk-ng#530 (comment)
The text was updated successfully, but these errors were encountered: