Skip to contentSkip to conversation

Patch "tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines" has been added to the 3.14-stable tree

PATCH [email protected] 1 participant 1 message Feb 24, 2016 Stable branch

lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines

to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
tools-lib-traceevent-fix-output-of-llu-for-64-bit-values-read-on-32-bit-machines.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 32abc2ede536aae52978d6c0a8944eb1df14f460 Mon Sep 17 00:00:00 2001

From: Steven Rostedt <[email protected]>
Date: Mon, 16 Nov 2015 17:25:16 -0500
Subject: tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines

From: Steven Rostedt <[email protected]>

commit 32abc2ede536aae52978d6c0a8944eb1df14f460 upstream.

When a long value is read on 32 bit machines for 64 bit output, the parsing needs to change "%lu" into "%llu", as the value is read natively.

Unfortunately, if "%llu" is already there, the code will add another "l" to it and fail to parse it properly.

---
 tools/lib/traceevent/event-parse.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
tools/lib/traceevent/event-parse.c +2 -3
@@ -4249,13 +4249,12 @@ static void pretty_print(struct trace_se
 				    sizeof(long) != 8) {
 					char *p;
 
-					ls = 2;
 					/* make %l into %ll */
-					p = strchr(format, 'l');
-					if (p)
+					if (ls == 1 && (p = strchr(format, 'l')))
 						memmove(p+1, p, strlen(p)+1);
 					else if (strcmp(format, "%p") == 0)
 						strcpy(format, "0x%llx");
+					ls = 2;
 				}
 				switch (ls) {
 				case -2:

Patches currently in stable-queue which might be from [email protected] are

queue-3.14/tools-lib-traceevent-fix-output-of-llu-for-64-bit-values-read-on-32-bit-machines.patch queue-3.14/perf-fix-inherited-events-vs.-tracepoint-filters.patch queue-3.14/tracing-fix-freak-link-error-caused-by-branch-tracer.patch