aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-top.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2011-01-22 17:37:02 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2011-01-22 20:41:57 -0500
commit9486aa38771661e96fbb51c549b9901b5df609d8 (patch)
tree72cecbff0cb5124c960feeec3a6ac1fff75c649a /tools/perf/builtin-top.c
parent57b84e53171ce672683faf1cab2e660965a6bdaf (diff)
perf tools: Fix 64 bit integer format strings
Using %L[uxd] has issues in some architectures, like on ppc64. Fix it by making our 64 bit integers typedefs of stdint.h types and using PRI[ux]64 like, for instance, git does. Reported by Denis Kirjanov that provided a patch for one case, I went and changed all cases. Reported-by: Denis Kirjanov <dkirjanov@kernel.org> Tested-by: Denis Kirjanov <dkirjanov@kernel.org> LKML-Reference: <20110120093246.GA8031@hera.kernel.org> Cc: Denis Kirjanov <dkirjanov@kernel.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Pingtian Han <phan@redhat.com> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-top.c')
-rw-r--r--tools/perf/builtin-top.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 05344c6210ac..b6998e055767 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -40,6 +40,7 @@
40#include <stdio.h> 40#include <stdio.h>
41#include <termios.h> 41#include <termios.h>
42#include <unistd.h> 42#include <unistd.h>
43#include <inttypes.h>
43 44
44#include <errno.h> 45#include <errno.h>
45#include <time.h> 46#include <time.h>
@@ -214,7 +215,7 @@ static int parse_source(struct sym_entry *syme)
214 len = sym->end - sym->start; 215 len = sym->end - sym->start;
215 216
216 sprintf(command, 217 sprintf(command,
217 "objdump --start-address=%#0*Lx --stop-address=%#0*Lx -dS %s", 218 "objdump --start-address=%#0*" PRIx64 " --stop-address=%#0*" PRIx64 " -dS %s",
218 BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start), 219 BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start),
219 BITS_PER_LONG / 4, map__rip_2objdump(map, sym->end), path); 220 BITS_PER_LONG / 4, map__rip_2objdump(map, sym->end), path);
220 221
@@ -308,7 +309,7 @@ static void lookup_sym_source(struct sym_entry *syme)
308 struct source_line *line; 309 struct source_line *line;
309 char pattern[PATTERN_LEN + 1]; 310 char pattern[PATTERN_LEN + 1];
310 311
311 sprintf(pattern, "%0*Lx <", BITS_PER_LONG / 4, 312 sprintf(pattern, "%0*" PRIx64 " <", BITS_PER_LONG / 4,
312 map__rip_2objdump(syme->map, symbol->start)); 313 map__rip_2objdump(syme->map, symbol->start));
313 314
314 pthread_mutex_lock(&syme->src->lock); 315 pthread_mutex_lock(&syme->src->lock);
@@ -537,7 +538,7 @@ static void print_sym_table(void)
537 if (nr_counters == 1 || !display_weighted) { 538 if (nr_counters == 1 || !display_weighted) {
538 struct perf_evsel *first; 539 struct perf_evsel *first;
539 first = list_entry(evsel_list.next, struct perf_evsel, node); 540 first = list_entry(evsel_list.next, struct perf_evsel, node);
540 printf("%Ld", first->attr.sample_period); 541 printf("%" PRIu64, (uint64_t)first->attr.sample_period);
541 if (freq) 542 if (freq)
542 printf("Hz "); 543 printf("Hz ");
543 else 544 else
@@ -640,7 +641,7 @@ static void print_sym_table(void)
640 641
641 percent_color_fprintf(stdout, "%4.1f%%", pcnt); 642 percent_color_fprintf(stdout, "%4.1f%%", pcnt);
642 if (verbose) 643 if (verbose)
643 printf(" %016llx", sym->start); 644 printf(" %016" PRIx64, sym->start);
644 printf(" %-*.*s", sym_width, sym_width, sym->name); 645 printf(" %-*.*s", sym_width, sym_width, sym->name);
645 printf(" %-*.*s\n", dso_width, dso_width, 646 printf(" %-*.*s\n", dso_width, dso_width,
646 dso_width >= syme->map->dso->long_name_len ? 647 dso_width >= syme->map->dso->long_name_len ?