perf report: Fix 32-bit printf format
authorIngo Molnar <mingo@elte.hu>
Mon, 15 Jun 2009 14:15:19 +0000 (16:15 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 15 Jun 2009 14:18:02 +0000 (16:18 +0200)
Yong Wang reported the following compiler warning:

 builtin-report.c: In function 'process_overflow_event':
 builtin-report.c:984: error: cast to pointer from integer of different size

Which happens because we try to print ->ips[] out with a limited
format, losing the high 32 bits. Print it out using %016Lx instead.

Reported-by: Yong Wang <yong.y.wang@linux.intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/builtin-report.c

index 1e2f5dd..f86bb07 100644 (file)
@@ -982,7 +982,7 @@ process_overflow_event(event_t *event, unsigned long offset, unsigned long head)
                                chain->nr);
 
                        for (i = 0; i < chain->nr; i++)
-                               dprintf("..... %2d: %p\n", i, (void *)chain->ips[i]);
+                               dprintf("..... %2d: %016Lx\n", i, chain->ips[i]);
                }
                if (collapse_syscalls) {
                        /*