lkml.org 
[lkml]   [2016]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16.y-ckt 026/180] tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines
    Date
    3.16.7-ckt24 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Steven Rostedt <rostedt@goodmis.org>

    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.

    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Acked-by: Namhyung Kim <namhyung@kernel.org>
    Link: http://lkml.kernel.org/r/20151116172516.4b79b109@gandalf.local.home
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    tools/lib/traceevent/event-parse.c | 5 ++---
    1 file changed, 2 insertions(+), 3 deletions(-)

    diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
    index 7959d66e1048..6b8769a40acb 100644
    --- a/tools/lib/traceevent/event-parse.c
    +++ b/tools/lib/traceevent/event-parse.c
    @@ -4399,13 +4399,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:
    \
     
     \ /
      Last update: 2016-02-04 01:41    [W:4.151 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site