perf tools: Fix build failure on 32-bit arch
authorHe Kuang <hekuang@huawei.com>
Thu, 11 Jun 2015 12:44:24 +0000 (12:44 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 11 Jun 2015 14:14:21 +0000 (11:14 -0300)
Failed in 32bit arch build like this:

    CC       /opt/h00206996/output/perf/arm32/builtin-record.o
  util/session.c: In function ‘perf_session__warn_about_errors’:
  util/session.c:1304:9: error: format ‘%lu’ expects argument of type ‘long unsigned int’,
                         but argument 2 has type ‘long long unsigned int’ [-Werror=format=]

  builtin-report.c: In function ‘perf_evlist__tty_browse_hists’:
  builtin-report.c:323:2: error: format ‘%lu’ expects argument of type ‘long unsigned int’,
                          but argument 3 has type ‘u64’ [-Werror=format=]

Replace %lu format strings in warning message with PRIu64 for u64
'total_lost_samples' to fix this problem.

Signed-off-by: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1434026664-71642-1-git-send-email-hekuang@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-report.c
tools/perf/util/session.c

index 628090b478ab38e48fee8c6c3fddca4f60bace35..32626ea3e2276b11279db88207e42c29eeed391a 100644 (file)
@@ -320,7 +320,7 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist,
 {
        struct perf_evsel *pos;
 
-       fprintf(stdout, "#\n# Total Lost Samples: %lu\n#\n", evlist->stats.total_lost_samples);
+       fprintf(stdout, "#\n# Total Lost Samples: %" PRIu64 "\n#\n", evlist->stats.total_lost_samples);
        evlist__for_each(evlist, pos) {
                struct hists *hists = evsel__hists(pos);
                const char *evname = perf_evsel__name(pos);
index 88d87bf3049f6b43e235fb7a9075f62a6be4e47f..f31e024ddf7dd683b7073fc858bdeb530748e6a0 100644 (file)
@@ -1299,7 +1299,7 @@ static void perf_session__warn_about_errors(const struct perf_session *session)
                drop_rate = (double)stats->total_lost_samples /
                            (double) (stats->nr_events[PERF_RECORD_SAMPLE] + stats->total_lost_samples);
                if (drop_rate > 0.05) {
-                       ui__warning("Processed %lu samples and lost %3.2f%% samples!\n\n",
+                       ui__warning("Processed %" PRIu64 " samples and lost %3.2f%% samples!\n\n",
                                    stats->nr_events[PERF_RECORD_SAMPLE] + stats->total_lost_samples,
                                    drop_rate * 100.0);
                }