Commit 9af77064 authored by Sakari Ailus's avatar Sakari Ailus Committed by Rafael J. Wysocki

lib/vsprintf: Remove support for %pF and %pf in favour of %pS and %ps

%pS and %ps are now the preferred conversion specifiers to print function
names. The functionality is equivalent; remove the old, deprecated %pF
and %pf support.

Depends-on: commit 2d44d165 ("scsi: lpfc: Convert existing %pf users to %ps")
Depends-on: commit b295c3e3 ("tools lib traceevent: Convert remaining %p[fF] users to %p[sS]")
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent e7e242bc
...@@ -86,8 +86,6 @@ Symbols/Function Pointers ...@@ -86,8 +86,6 @@ Symbols/Function Pointers
%pS versatile_init+0x0/0x110 %pS versatile_init+0x0/0x110
%ps versatile_init %ps versatile_init
%pF versatile_init+0x0/0x110
%pf versatile_init
%pSR versatile_init+0x9/0x110 %pSR versatile_init+0x9/0x110
(with __builtin_extract_return_addr() translation) (with __builtin_extract_return_addr() translation)
%pB prev_fn_of_versatile_init+0x88/0x88 %pB prev_fn_of_versatile_init+0x88/0x88
...@@ -97,14 +95,6 @@ The ``S`` and ``s`` specifiers are used for printing a pointer in symbolic ...@@ -97,14 +95,6 @@ The ``S`` and ``s`` specifiers are used for printing a pointer in symbolic
format. They result in the symbol name with (S) or without (s) format. They result in the symbol name with (S) or without (s)
offsets. If KALLSYMS are disabled then the symbol address is printed instead. offsets. If KALLSYMS are disabled then the symbol address is printed instead.
Note, that the ``F`` and ``f`` specifiers are identical to ``S`` (``s``)
and thus deprecated. We have ``F`` and ``f`` because on ia64, ppc64 and
parisc64 function pointers are indirect and, in fact, are function
descriptors, which require additional dereferencing before we can lookup
the symbol. As of now, ``S`` and ``s`` perform dereferencing on those
platforms (when needed), so ``F`` and ``f`` exist for compatibility
reasons only.
The ``B`` specifier results in the symbol name with offsets and should be The ``B`` specifier results in the symbol name with offsets and should be
used when printing stack backtraces. The specifier takes into used when printing stack backtraces. The specifier takes into
consideration the effect of compiler optimisations which may occur consideration the effect of compiler optimisations which may occur
......
...@@ -918,7 +918,7 @@ char *symbol_string(char *buf, char *end, void *ptr, ...@@ -918,7 +918,7 @@ char *symbol_string(char *buf, char *end, void *ptr,
#ifdef CONFIG_KALLSYMS #ifdef CONFIG_KALLSYMS
if (*fmt == 'B') if (*fmt == 'B')
sprint_backtrace(sym, value); sprint_backtrace(sym, value);
else if (*fmt != 'f' && *fmt != 's') else if (*fmt != 's')
sprint_symbol(sym, value); sprint_symbol(sym, value);
else else
sprint_symbol_no_offset(sym, value); sprint_symbol_no_offset(sym, value);
...@@ -2016,9 +2016,7 @@ static char *kobject_string(char *buf, char *end, void *ptr, ...@@ -2016,9 +2016,7 @@ static char *kobject_string(char *buf, char *end, void *ptr,
* *
* - 'S' For symbolic direct pointers (or function descriptors) with offset * - 'S' For symbolic direct pointers (or function descriptors) with offset
* - 's' For symbolic direct pointers (or function descriptors) without offset * - 's' For symbolic direct pointers (or function descriptors) without offset
* - 'F' Same as 'S' * - '[Ss]R' as above with __builtin_extract_return_addr() translation
* - 'f' Same as 's'
* - '[FfSs]R' as above with __builtin_extract_return_addr() translation
* - 'B' For backtraced symbolic direct pointers with offset * - 'B' For backtraced symbolic direct pointers with offset
* - 'R' For decoded struct resource, e.g., [mem 0x0-0x1f 64bit pref] * - 'R' For decoded struct resource, e.g., [mem 0x0-0x1f 64bit pref]
* - 'r' For raw struct resource, e.g., [mem 0x0-0x1f flags 0x201] * - 'r' For raw struct resource, e.g., [mem 0x0-0x1f flags 0x201]
...@@ -2121,8 +2119,6 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr, ...@@ -2121,8 +2119,6 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
struct printf_spec spec) struct printf_spec spec)
{ {
switch (*fmt) { switch (*fmt) {
case 'F':
case 'f':
case 'S': case 'S':
case 's': case 's':
ptr = dereference_symbol_descriptor(ptr); ptr = dereference_symbol_descriptor(ptr);
...@@ -2819,8 +2815,6 @@ int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args) ...@@ -2819,8 +2815,6 @@ int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args)
/* Dereference of functions is still OK */ /* Dereference of functions is still OK */
case 'S': case 'S':
case 's': case 's':
case 'F':
case 'f':
case 'x': case 'x':
case 'K': case 'K':
save_arg(void *); save_arg(void *);
......
...@@ -6039,7 +6039,6 @@ sub process { ...@@ -6039,7 +6039,6 @@ sub process {
my $ext_type = "Invalid"; my $ext_type = "Invalid";
my $use = ""; my $use = "";
if ($bad_specifier =~ /p[Ff]/) { if ($bad_specifier =~ /p[Ff]/) {
$ext_type = "Deprecated";
$use = " - use %pS instead"; $use = " - use %pS instead";
$use =~ s/pS/ps/ if ($bad_specifier =~ /pf/); $use =~ s/pS/ps/ if ($bad_specifier =~ /pf/);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment