From: Christoph Niedermaier Sent: Tuesday, April 29, 2025 6:49 PM > From: Marek Vasut <ma...@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