[yocto] [PATCH] perf: mips64: Convert __u64 to unsigned long long

Billie Alsup billie.alsup at ericsson.com
Fri Oct 25 13:11:35 PDT 2013


Wouldn't it be better to change "%llu" to PRIu64 (from inttypes.h)?
Notice that PRIu32 is already used in places.
You can use string catenation where necessary, e.g.

"%s/event-%d-" PRIu64 "-%d"


On 10/25/13 12:17 PM, "Yang Shi" <yang.shi at windriver.com> wrote:

>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 at windriver.com>
>---
> tools/perf/tests/attr.c               |   20 ++++++++++----------
> tools/perf/tests/bp_signal.c          |    2 +-
> tools/perf/tests/bp_signal_overflow.c |    2 +-
> 3 files changed, 12 insertions(+), 12 deletions(-)
>
>diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c
>index 00218f5..f045c2c 100644
>--- a/tools/perf/tests/attr.c
>+++ b/tools/perf/tests/attr.c
>@@ -71,7 +71,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) {
>@@ -80,7 +80,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;
>@@ -96,10 +96,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");
>@@ -124,10 +124,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 68daa28..bf3a094 100644
>--- a/tools/perf/tests/bp_signal.c
>+++ b/tools/perf/tests/bp_signal.c
>@@ -74,7 +74,7 @@ static int bp_event(void *fn, int setup_signal)
> 
> 	fd = sys_perf_event_open(&pe, 0, -1, -1, 0);
> 	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 fe7ed28..3662b15 100644
>--- a/tools/perf/tests/bp_signal_overflow.c
>+++ b/tools/perf/tests/bp_signal_overflow.c
>@@ -87,7 +87,7 @@ int test__bp_signal_overflow(void)
> 
> 	fd = sys_perf_event_open(&pe, 0, -1, -1, 0);
> 	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;
> 	}
> 
>-- 
>1.7.5.4
>
>_______________________________________________
>yocto mailing list
>yocto at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/yocto




More information about the yocto mailing list