Re: [kvm-unit-tests PATCH 2/4] lib/alloc: fix format warnings, add/use PRIx64

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

 




On 01/03/2016 10:15, Andrew Jones wrote:
>> > So libcflat uses the header stdint.h from the standard gcc installation
>> > to get the uint64_t and friends, but you define the PRIx64 etc. here
>> > manually? That sounds strange... You could simply include "inttypes.h"
>> > instead of "stdint.h" in this libcflat.h header file, then you would get
>> > PRIx64 and friends automatically instead.
> We can only include headers that are provided by libgcc in arch-neutral
> files like libcflat, in order for cross-compiling to work. inttypes.h
> isn't available.

Yup, inttypes.h is not part of the freestanding environment.

> > OTOH, for a stand-alone binary like kvm-unit-tests, it's also somewhat
> > risky to compile without "-nostdinc" since unwanted headers might be
> > included that way (e.g. what happens if someone writes "#include
> > <stdio.h>" by accident? You likely get some nice confusion...). So maybe
> > it would be better to compile with "-nostdinc" instead and define all
> > necessary things manually here?
>
> We don't have -nostdinc because sometimes the x86 tests cheat and use
> standard includes. arm and powerpc Makefiles could/should add it though,
> as they don't currently cheat, and it's probably best if they never do.

Some of the includes are part of the freestanding environment: float.h,
iso646.h, limits.h, stdarg.h, stdbool.h, stddef.h, stdint.h and probably
a few more in C11 (e.g. stdalign.h, stdatomic.h, stdnoreturn.h).  Using
them is not cheating.

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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux