Messages in this thread Patch in this message | | | Date | Mon, 23 Nov 2015 19:18:17 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH v2] tools lib traceevents: Fix output of %llu for 64 bit values read on 32 bit machines |
| |
Em Mon, Nov 16, 2015 at 05:25:16PM -0500, Steven Rostedt escreveu: > > 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. > > Cc: stable@vger.kernel.org > Signed-off-by: Steven Rostedt <rostedt@goodmis.org> > --- > diff --git a/event-parse.c b/event-parse.c > index 0a30253..ee5b720 100644 > --- a/event-parse.c > +++ b/event-parse.c
Applied, after reusing this from Namhyung's patch:
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c
:-)
> @@ -4828,13 +4828,12 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event > 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: > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
| |