On 4/29/25 4:47 PM, Christoph Niedermaier wrote:
The formatting with %pa / %pap behaves like %x, which results in an
incorrect value being output. To improve this, a new fine-tuning
Kconfig SPL_USE_TINY_PRINTF_POINTER_SUPPORT for pointer formatting
has been added. If it is enabled, the output of %pa / %pap should
be correct, and if it is disabled, the pointer formatting is
completely unsupported. In addition to indicate unsupported formatting,
'?' will be output. This allows enabling pointer formatting only
when needed. For SPL_NET and NET_LWIP it is selected by default.
Then it also supports the formatting with %pm, %pM and %pI4.

In summery this level of %p support for tiny printf is possible now:

1) The standard tiny printf won't have support for pointer formatting.
    So it doesn't print misleading values for %pa, instead '?' will be
    output:
    %p   => ?
    %pa  => ?a
    %pap => ?ap

2) If SPL_USE_TINY_PRINTF_POINTER_SUPPORT is enabled or DEBUG is defined
    tiny printf supports formatting %p and %pa / %pap.

3) If SPL_NET or NET_LWIP is enabled the support of pointers is extended
    for %pm, %pM and %pI4.
If you need rich printf formatting support , enable full printf instead?

Reply via email to