On Tue, Mar 01, 2016 at 05:58:52AM +0100, Thomas Huth wrote: > On 29.02.2016 21:19, Andrew Jones wrote: > > Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> > > --- > > lib/alloc.c | 13 +++++++------ > > lib/libcflat.h | 12 ++++++++++++ > > 2 files changed, 19 insertions(+), 6 deletions(-) > > > > diff --git a/lib/alloc.c b/lib/alloc.c > > index 34f71a337d868..e345843b7fe53 100644 > > --- a/lib/alloc.c > > +++ b/lib/alloc.c > > @@ -28,13 +28,13 @@ void phys_alloc_show(void) > > int i; > > > > spin_lock(&lock); > > - printf("phys_alloc minimum alignment: 0x%llx\n", align_min); > > + printf("phys_alloc minimum alignment: 0x%" PRIx64 "\n", align_min); > > for (i = 0; i < nr_regions; ++i) > > - printf("%016llx-%016llx [%s]\n", > > + printf("%016" PRIx64 "-%016" PRIx64 " [%s]\n", > > regions[i].base, > > regions[i].base + regions[i].size - 1, > > "USED"); > > - printf("%016llx-%016llx [%s]\n", base, top - 1, "FREE"); > > + printf("%016" PRIx64 "-%016" PRIx64 " [%s]\n", base, top - 1, "FREE"); > > spin_unlock(&lock); > > } > > > > @@ -76,9 +76,10 @@ static phys_addr_t phys_alloc_aligned_safe(phys_addr_t size, > > size += addr - base; > > > > if ((top_safe - base) < size) { > > - printf("phys_alloc: requested=0x%llx (align=0x%llx), " > > - "need=0x%llx, but free=0x%llx. " > > - "top=0x%llx, top_safe=0x%llx\n", > > + printf("phys_alloc: requested=0x%" PRIx64 > > + " (align=0x%" PRIx64 "), " > > + "need=0x%" PRIx64 ", but free=0x%" PRIx64 ". " > > + "top=0x%" PRIx64 ", top_safe=0x%" PRIx64 "\n", > > size_orig, align, size, top_safe - base, > > top, top_safe); > > spin_unlock(&lock); > > diff --git a/lib/libcflat.h b/lib/libcflat.h > > index ce09d34e658b3..36e300bf4d0ff 100644 > > --- a/lib/libcflat.h > > +++ b/lib/libcflat.h > > @@ -48,6 +48,18 @@ typedef _Bool bool; > > #define false 0 > > #define true 1 > > > > +#if __SIZEOF_LONG__ == 8 > > +# define __PRI64_PREFIX "l" > > +# define __PRIPTR_PREFIX "l" > > +#else > > +# define __PRI64_PREFIX "ll" > > +# define __PRIPTR_PREFIX > > +#endif > > +#define PRId64 __PRI64_PREFIX "d" > > +#define PRIu64 __PRI64_PREFIX "u" > > +#define PRIx64 __PRI64_PREFIX "x" > > +#define PRIxPTR __PRIPTR_PREFIX "x" > > 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. > > 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. Thanks, drew > > Thomas > > -- > 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 -- 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