[OE-core] [PATCH v2 10/16] Fix mdadm for powerpc64

McClintock Matthew-B29882 B29882 at freescale.com
Wed Oct 5 21:15:58 UTC 2011


On Wed, Oct 5, 2011 at 2:21 PM, Khem Raj <raj.khem at gmail.com> wrote:
> On Wed, Oct 5, 2011 at 4:34 AM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
>> On Tue, 2011-10-04 at 21:52 +0000, McClintock Matthew-B29882 wrote:
>>> On Mon, Oct 3, 2011 at 4:17 PM, Khem Raj <raj.khem at gmail.com> wrote:
>>> >> I can't find a log of this anywhere, it's probably the default
>>> >> compiler warnings for our platform are different?
>>> >
>>> > It would be handy to understand them since I dont see gcc differentiating
>>> > formats between ppc64 and x86_64 which both are 64bit hosts. But obviously
>>> > there is something missing.
>>>
>>> I finally got around to rerunning this without my patch and the errors
>>> are below.
>>
>> I dug into this a bit. To quote asm/types.h:
>>
>> /*
>>  * This is here because we used to use l64 for 64bit powerpc
>>  * and we don't want to impact user mode with our change to ll64
>>  * in the kernel.
>>  */
>> #if defined(__powerpc64__) && !defined(__KERNEL__)
>> # include <asm-generic/int-l64.h>
>> #else
>> # include <asm-generic/int-ll64.h>
>> #endif
>>
>> So ppc64 kernel space uses ll64 and userspace uses l64.
>>
>
> thanks this is what I was interested in.
>
>> This means __u64 is a long for ppc64 but a long long for x86_64. The
>> format errors occurs rightly because a ull is being printed from a ul
>> variable. This will happen to work but its messy.
>
> havent seen the code but  if its printf like then PRIu64 macro could help.

Well there is an upstream fix for this as well... I've learned my
lesson now to check upstream repo's..

-M




More information about the Openembedded-core mailing list