Re: [PATCH 05/28] kvm tools: 64-bit tidy; use PRIx64 when printf'ing u64s and link appropriately

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ingo,


On 06/12/11 21:24, Ingo Molnar wrote:
> 
> * Paul Mackerras <paulus@xxxxxxxxx> wrote:
> 
>> On Tue, Dec 06, 2011 at 09:28:27AM +0100, Ingo Molnar wrote:
>>>
>>> * Sasha Levin <levinsasha928@xxxxxxxxx> wrote:
>>>
>>>> Ingo actually got us to remove all the PRI* specifiers, but 
>>>> that was back when we only did x86 :)
>>>>
>>>> Ingo, does it make sense to use them now when we support 
>>>> different architectures?
>>>
>>> Not at all - ppc should use a sane u64/s64 definition, i.e. 
>>> int-ll64.h instead of the int-l64.h crap.
>>>
>>> The powerpc maintainers indicated that they'd fix that, a couple 
>>> of years ago, but nothing appears to have come out of that.
>>
>> We changed it for the kernel, but not for userspace (i.e. 
>> glibc) because of concerns about possibly breaking existing 
>> userspace programs. [...]
> 
> Indeed, you do:
>  
>  #if defined(__powerpc64__) && !defined(__KERNEL__)
>  # include <asm-generic/int-l64.h>
>  #else
>  # include <asm-generic/int-ll64.h>
>  #endif
> 
> which correctly uses int-ll64.h everywhere except 64-bit 
> userspace inclusions. So i take back my 'nothing appears to have 
> come out of that' comment - it's all nicely fixed!
> 
>> [...]  I haven't looked closely at Matt's 
>> patches, but it should be possible to use [un]signed long long 
>> for the u64/s64 types, I would think.
> 
> In tools/kvm/ we are using our own u64/s64 definitions, not 
> glibc's, so i think it should be fine - as long as we don't pick 
> up int-l64.h accidentally via the 
> arch/powerpc/include/asm/types.h exception for user-space.

That's what's happening here; we're __powerpc64__ and !__KERNEL__,
tools/kvm/include/linux/types.h includes asm/types.h so gets the int-l64.h
definition of __u64, as above.  :/

builtin-run.c:389: error: format `%llx' expects type `long long unsigned int', but argument 2 has type `u64'

etc. etc.

Cheers,


Matt

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux