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. 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? 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