On (08/10/17 19:35), Helge Deller wrote: > Sometimes people seems unclear when to use the %pS or %pF printk format. > Adding some examples may help to avoid such mistakes. > > See for example commit 51d96dc2e2dc ("random: fix warning message on ia64 and > parisc") which fixed such a wrong format string. > > Signed-off-by: Helge Deller <deller@xxxxxx> > > diff --git a/Documentation/printk-formats.txt b/Documentation/printk-formats.txt > index 65ea591..be8c05b 100644 > --- a/Documentation/printk-formats.txt > +++ b/Documentation/printk-formats.txt > @@ -73,6 +73,12 @@ actually function descriptors which must first be resolved. The ``F`` and > ``f`` specifiers perform this resolution and then provide the same > functionality as the ``S`` and ``s`` specifiers. > > +Examples:: > + > + printk("Called from %pS.\n", __builtin_return_address(0)); > + printk("Called from %pS.\n", (void *)regs->ip); > + printk("Called from %pF.\n", &gettimeofday); sorry, but how does it help? there is this paragraph : On ia64, ppc64 and parisc64 architectures function pointers are : actually function descriptors which must first be resolved. The ``F`` and : ``f`` specifiers perform this resolution and then provide the same : functionality as the ``S`` and ``s`` specifiers. which supposed to explain everything in details. the examples don't make it any `clearer', IMHO. *may be* on "ia64, ppc64 and parisc64" we can somehow check that the pointer, which we pass as %pS, belongs to .text and print some build-time warnings. well, if it's actually a problem. dunno. -ss -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html