forked from mirrors/linux
		
	tools lib traceevent: Convert remaining %p[fF] users to %p[sS]
There are no in-kernel %p[fF] users left. Convert the traceevent tool, too, to align with the kernel. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: devicetree@vger.kernel.org Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Joe Perches <joe@perches.com> Cc: linux-acpi@vger.kernel.org Cc: linux-trace-devel@vger.kernel.org Cc: Namhyung Kim <namhyung@kernel.org> Cc: Petr Mladek <pmladek@suse.com> Cc: Rafael J. Wysocki <rafael@kernel.org> Cc: Rob Herring <robh@kernel.org> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com> Link: http://lore.kernel.org/lkml/20190918133419.7969-2-sakari.ailus@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
		
							parent
							
								
									055c67ed39
								
							
						
					
					
						commit
						b295c3e39c
					
				
					 2 changed files with 19 additions and 9 deletions
				
			
		| 
						 | 
					@ -59,12 +59,12 @@ parser context.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The _tep_register_function()_ function registers a function name mapped to an
 | 
					The _tep_register_function()_ function registers a function name mapped to an
 | 
				
			||||||
address and (optional) module. This mapping is used in case the function tracer
 | 
					address and (optional) module. This mapping is used in case the function tracer
 | 
				
			||||||
or events have "%pF" or "%pS" parameter in its format string. It is common to
 | 
					or events have "%pS" parameter in its format string. It is common to pass in
 | 
				
			||||||
pass in the kallsyms function names with their corresponding addresses with this
 | 
					the kallsyms function names with their corresponding addresses with this
 | 
				
			||||||
function. The _tep_ argument is the trace event parser context. The _name_ is
 | 
					function. The _tep_ argument is the trace event parser context. The _name_ is
 | 
				
			||||||
the name of the function, the string is copied internally. The _addr_ is
 | 
					the name of the function, the string is copied internally. The _addr_ is the
 | 
				
			||||||
the start address of the function. The _mod_ is the kernel module
 | 
					start address of the function. The _mod_ is the kernel module the function may
 | 
				
			||||||
the function may be in (NULL for none).
 | 
					be in (NULL for none).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The _tep_register_print_string()_ function  registers a string by the address
 | 
					The _tep_register_print_string()_ function  registers a string by the address
 | 
				
			||||||
it was stored in the kernel. Some strings internal to the kernel with static
 | 
					it was stored in the kernel. Some strings internal to the kernel with static
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4367,10 +4367,20 @@ static struct tep_print_arg *make_bprint_args(char *fmt, void *data, int size, s
 | 
				
			||||||
					switch (*ptr) {
 | 
										switch (*ptr) {
 | 
				
			||||||
					case 's':
 | 
										case 's':
 | 
				
			||||||
					case 'S':
 | 
										case 'S':
 | 
				
			||||||
					case 'f':
 | 
					 | 
				
			||||||
					case 'F':
 | 
					 | 
				
			||||||
					case 'x':
 | 
										case 'x':
 | 
				
			||||||
						break;
 | 
											break;
 | 
				
			||||||
 | 
										case 'f':
 | 
				
			||||||
 | 
										case 'F':
 | 
				
			||||||
 | 
											/*
 | 
				
			||||||
 | 
											 * Pre-5.5 kernels use %pf and
 | 
				
			||||||
 | 
											 * %pF for printing symbols
 | 
				
			||||||
 | 
											 * while kernels since 5.5 use
 | 
				
			||||||
 | 
											 * %pfw for fwnodes. So check
 | 
				
			||||||
 | 
											 * %p[fF] isn't followed by 'w'.
 | 
				
			||||||
 | 
											 */
 | 
				
			||||||
 | 
											if (ptr[1] != 'w')
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											/* fall through */
 | 
				
			||||||
					default:
 | 
										default:
 | 
				
			||||||
						/*
 | 
											/*
 | 
				
			||||||
						 * Older kernels do not process
 | 
											 * Older kernels do not process
 | 
				
			||||||
| 
						 | 
					@ -4487,12 +4497,12 @@ get_bprint_format(void *data, int size __maybe_unused,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printk = find_printk(tep, addr);
 | 
						printk = find_printk(tep, addr);
 | 
				
			||||||
	if (!printk) {
 | 
						if (!printk) {
 | 
				
			||||||
		if (asprintf(&format, "%%pf: (NO FORMAT FOUND at %llx)\n", addr) < 0)
 | 
							if (asprintf(&format, "%%ps: (NO FORMAT FOUND at %llx)\n", addr) < 0)
 | 
				
			||||||
			return NULL;
 | 
								return NULL;
 | 
				
			||||||
		return format;
 | 
							return format;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (asprintf(&format, "%s: %s", "%pf", printk->printk) < 0)
 | 
						if (asprintf(&format, "%s: %s", "%ps", printk->printk) < 0)
 | 
				
			||||||
		return NULL;
 | 
							return NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return format;
 | 
						return format;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue