[PATCH v2 1/4] perf: Fix potential compilation error with some compilers

From: Waiman Long
Date: Fri Oct 18 2013 - 10:39:37 EST


The building of the perf tool failed in a SLES11 sp3 system with the
following compilation error:

cc1: warnings being treated as errors
util/scripting-engines/trace-event-perl.c: In function
âperl_process_tracepointâ:
util/scripting-engines/trace-event-perl.c:285: error: format â%luâ
expects type âlong unsigned intâ, but argument 2 has type â__u64â

This patch replaces PRIu64 which is "lu" by the explicit "llu" to
fix this problem as __u64 is of type "long long unsigned".

Signed-off-by: Waiman Long <Waiman.Long@xxxxxx>
---
.../perf/util/scripting-engines/trace-event-perl.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/perf/util/scripting-engines/trace-event-perl.c
index a85e4ae..d6eb9c5 100644
--- a/tools/perf/util/scripting-engines/trace-event-perl.c
+++ b/tools/perf/util/scripting-engines/trace-event-perl.c
@@ -281,8 +281,12 @@ static void perl_process_tracepoint(union perf_event *perf_event __maybe_unused,
return;

event = find_cache_event(evsel);
+ /*
+ * attr.config is a __u64 which requires "%llu" to avoid compilation
+ * error/warning with some compilers.
+ */
if (!event)
- die("ug! no event found for type %" PRIu64, evsel->attr.config);
+ die("ug! no event found for type %llu", evsel->attr.config);

pid = raw_field_value(event, "common_pid", data);

--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/