From 50d3d656dd37c9af5d908e0dbd5ea6e170b38f80 Mon Sep 17 00:00:00 2001
From: Yang Shi <yang.shi@windriver.com>
Date: Fri, 25 Oct 2013 12:17:50 -0700
Subject: [PATCH] perf: mips64: Convert __u64 to unsigned long long

On MIPS64, "__u64" is "unsigned long" type, so the "%llu" specifier will cause
build error on MIPS64.

Convert __u64 to unsigned long long in those sprintf calls to avoid the build
error.

Signed-off-by: Yang Shi <yang.shi@windriver.com>

diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c
index 28d1605b0338..6cc1407422e2 100644
--- a/tools/perf/tests/attr.c
+++ b/tools/perf/tests/attr.c
@@ -64,7 +64,7 @@ static int store_event(struct perf_event_attr *attr, pid_t pid, int cpu,
 	char path[PATH_MAX];
 
 	snprintf(path, PATH_MAX, "%s/event-%d-%llu-%d", dir,
-		 attr->type, attr->config, fd);
+		 attr->type, (unsigned long long)attr->config, fd);
 
 	file = fopen(path, "w+");
 	if (!file) {
@@ -73,7 +73,7 @@ static int store_event(struct perf_event_attr *attr, pid_t pid, int cpu,
 	}
 
 	if (fprintf(file, "[event-%d-%llu-%d]\n",
-		    attr->type, attr->config, fd) < 0) {
+		    attr->type, (unsigned long long)attr->config, fd) < 0) {
 		perror("test attr - failed to write event file");
 		fclose(file);
 		return -1;
@@ -89,10 +89,10 @@ static int store_event(struct perf_event_attr *attr, pid_t pid, int cpu,
 	/* struct perf_event_attr */
 	WRITE_ASS(type,   PRIu32);
 	WRITE_ASS(size,   PRIu32);
-	WRITE_ASS(config,  "llu");
-	WRITE_ASS(sample_period, "llu");
-	WRITE_ASS(sample_type,   "llu");
-	WRITE_ASS(read_format,   "llu");
+	__WRITE_ASS(config,        "llu", (unsigned long long)attr->config);
+	__WRITE_ASS(sample_period, "llu", (unsigned long long)attr->sample_period);
+	__WRITE_ASS(sample_type,   "llu", (unsigned long long)attr->sample_type);
+	__WRITE_ASS(read_format,   "llu", (unsigned long long)attr->read_format);
 	WRITE_ASS(disabled,       "d");
 	WRITE_ASS(inherit,        "d");
 	WRITE_ASS(pinned,         "d");
@@ -117,10 +117,10 @@ static int store_event(struct perf_event_attr *attr, pid_t pid, int cpu,
 	WRITE_ASS(exclude_callchain_user, "d");
 	WRITE_ASS(wakeup_events, PRIu32);
 	WRITE_ASS(bp_type, PRIu32);
-	WRITE_ASS(config1, "llu");
-	WRITE_ASS(config2, "llu");
-	WRITE_ASS(branch_sample_type, "llu");
-	WRITE_ASS(sample_regs_user,   "llu");
+	__WRITE_ASS(config1,            "llu", (unsigned long long)attr->config1);
+	__WRITE_ASS(config2,            "llu", (unsigned long long)attr->config2);
+	__WRITE_ASS(branch_sample_type, "llu", (unsigned long long)attr->branch_sample_type);
+	__WRITE_ASS(sample_regs_user,   "llu", (unsigned long long)attr->sample_regs_user);
 	WRITE_ASS(sample_stack_user,  PRIu32);
 
 	fclose(file);
diff --git a/tools/perf/tests/bp_signal.c b/tools/perf/tests/bp_signal.c
index e7664fe3bd33..8fd2dabcb393 100644
--- a/tools/perf/tests/bp_signal.c
+++ b/tools/perf/tests/bp_signal.c
@@ -128,7 +128,7 @@ static int __event(bool is_x, void *addr, int sig)
 	fd = sys_perf_event_open(&pe, 0, -1, -1,
 				 perf_event_open_cloexec_flag());
 	if (fd < 0) {
-		pr_debug("failed opening event %llx\n", pe.config);
+		pr_debug("failed opening event %llx\n", (unsigned long long)pe.config);
 		return TEST_FAIL;
 	}
 
diff --git a/tools/perf/tests/bp_signal_overflow.c b/tools/perf/tests/bp_signal_overflow.c
index 89f92fa67cc4..0dce85a2f323 100644
--- a/tools/perf/tests/bp_signal_overflow.c
+++ b/tools/perf/tests/bp_signal_overflow.c
@@ -95,7 +95,7 @@ int test__bp_signal_overflow(int subtest __maybe_unused)
 	fd = sys_perf_event_open(&pe, 0, -1, -1,
 				 perf_event_open_cloexec_flag());
 	if (fd < 0) {
-		pr_debug("failed opening event %llx\n", pe.config);
+		pr_debug("failed opening event %llx\n", (unsigned long long)pe.config);
 		return TEST_FAIL;
 	}
 
-- 
2.10.1

