mdadm: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for powerpc64
authorChunrong Guo <B40290@freescale.com>
Tue, 12 Nov 2013 03:40:49 +0000 (11:40 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Nov 2013 14:03:23 +0000 (14:03 +0000)
      *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,

(From OE-Core rev: d3caab6eb03264b4f4d744f914598022299011ba)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/mdadm/mdadm_3.3.bb

index 586e04a..41816bc 100644 (file)
@@ -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