[PATCH V2] tiny-printf: Handle formatting of %p with an extra Kconfig
Christoph Niedermaier
cniedermaier at dh-electronics.com
Wed Apr 30 12:35:30 CEST 2025
From: Christoph Niedermaier
Sent: Tuesday, April 29, 2025 6:49 PM
> From: Marek Vasut <marex at denx.de>
> Sent: Tuesday, April 29, 2025 5:28 PM
>> 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?
>
> It is not about extending tiny printf with more formatting. The current
> support for pointers leads to the printing of misleading values. This patch
> removes the support for pointers, but makes the already existing pointer
> support for %pa / %pap optional. The existing support for %pm, %pM and %pI4
> enabled by SPL_NET or NET_LWIP CONF has remained functionally the same.
Sorry, I have noticed that in V2 the output of '?' is missing in the
default case. I will fix it in V3.
Regards
Christoph
More information about the U-Boot
mailing list