[OE-core] [PATCH] mdadm: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for powerpc64

Chunrong Guo B40290 at freescale.com
Tue Nov 12 03:40:49 UTC 2013


      *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.

      *fix the below error
       |super-ddf.c:4542:5: error: format '%llu' expects argument of type 'long long unsigned int',
       |but argument 5 has type '__u64' [-Werror=format=]
       |dprintf("BVD %u has %08x at %llu\n", 0,

Signed-off-by: Chunrong Guo <B40290 at freescale.com>
---
 meta/recipes-extended/mdadm/mdadm_3.3.bb |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-extended/mdadm/mdadm_3.3.bb b/meta/recipes-extended/mdadm/mdadm_3.3.bb
index 586e04a..41816bc 100644
--- a/meta/recipes-extended/mdadm/mdadm_3.3.bb
+++ b/meta/recipes-extended/mdadm/mdadm_3.3.bb
@@ -26,6 +26,11 @@ do_configure_prepend () {
 }
 
 EXTRA_OEMAKE = "CHECK_RUN_DIR=0"
+# 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__'
 
 do_compile() {
 	oe_runmake
-- 
1.7.5.4





More information about the Openembedded-core mailing list