On 10/11/2013 1:11 AM, b28...@freescale.com wrote:
From: Ting Liu <b28...@freescale.com>
PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h
prevents 64-bit userland from seeing this definition, instead defaulting
to u64 == long in userspace.
Perf want LL64, flag __SANE_USERSPACE_TYPES__ to get int-ll64.h.
Fix the below issue:
| tests/attr.c:71:4: error: format '%llu' expects argument of type 'long
long unsigned int', but argument 6 has type '__u64' [-Werror=format=]
| tests/attr.c:80:7: error: format '%llu' expects argument of type 'long
long unsigned int', but argument 4 has type '__u64' [-Werror=format=]
| attr->type, attr->config, fd) < 0) {
| ^
Signed-off-by: Ting Liu <b28...@freescale.com>
---
meta/recipes-kernel/perf/perf.bb | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 269069f..d27e535 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -89,6 +89,12 @@ EXTRA_OEMAKE += "\
'infodir=${@oe.path.relative(prefix, infodir)}' \
"
+# PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h
+# prevents 64-bit userland from seeing this definition, instead defaulting
+# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
+# int-ll64.h included.
+EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
This override perf CFLAGS incorrectly.
kernel commit e3541ec75219819d3235f80125a1a75d798ff6e1 can solve this
build issue.
Yang
+
PARALLEL_MAKE = ""
do_compile() {
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core