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? On Tue, 2011-12-06 at 14:38 +1100, Matt Evans wrote: > On LP64 systems our u64s are just longs; remove the %llx'es in favour of PRIx64 > etc. > > This patch also adds CFLAGS to the final link, so that any -m64 is obeyed when > linking, too. > > Signed-off-by: Matt Evans <matt@xxxxxxxxxx> > --- > tools/kvm/Makefile | 2 +- > tools/kvm/builtin-run.c | 14 ++++++++------ > tools/kvm/builtin-stat.c | 4 +++- > tools/kvm/disk/core.c | 4 +++- > tools/kvm/mmio.c | 4 +++- > 5 files changed, 18 insertions(+), 10 deletions(-) > > diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile > index 009a6ba..57dc521 100644 > --- a/tools/kvm/Makefile > +++ b/tools/kvm/Makefile > @@ -218,7 +218,7 @@ KVMTOOLS-VERSION-FILE: > > $(PROGRAM): $(DEPS) $(OBJS) > $(E) " LINK " $@ > - $(Q) $(CC) $(OBJS) $(LIBS) -o $@ > + $(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@ > > $(GUEST_INIT): guest/init.c > $(E) " LINK " $@ > diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c > index e4aa87e..7cf208d 100644 > --- a/tools/kvm/builtin-run.c > +++ b/tools/kvm/builtin-run.c > @@ -42,6 +42,8 @@ > #include <stdlib.h> > #include <string.h> > #include <unistd.h> > +#define __STDC_FORMAT_MACROS > +#include <inttypes.h> > #include <ctype.h> > #include <stdio.h> > > @@ -383,8 +385,8 @@ static int shmem_parser(const struct option *opt, const char *arg, int unset) > strcpy(handle, default_handle); > } > if (verbose) { > - pr_info("shmem: phys_addr = %llx", phys_addr); > - pr_info("shmem: size = %llx", size); > + pr_info("shmem: phys_addr = %"PRIx64, phys_addr); > + pr_info("shmem: size = %"PRIx64, size); > pr_info("shmem: handle = %s", handle); > pr_info("shmem: create = %d", create); > } > @@ -545,7 +547,7 @@ panic_kvm: > current_kvm_cpu->kvm_run->exit_reason, > kvm_exit_reasons[current_kvm_cpu->kvm_run->exit_reason]); > if (current_kvm_cpu->kvm_run->exit_reason == KVM_EXIT_UNKNOWN) > - fprintf(stderr, "KVM exit code: 0x%Lu\n", > + fprintf(stderr, "KVM exit code: 0x%"PRIx64"\n", > current_kvm_cpu->kvm_run->hw.hardware_exit_reason); > > kvm_cpu__set_debug_fd(STDOUT_FILENO); > @@ -760,10 +762,10 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) > ram_size = get_ram_size(nrcpus); > > if (ram_size < MIN_RAM_SIZE_MB) > - die("Not enough memory specified: %lluMB (min %lluMB)", ram_size, MIN_RAM_SIZE_MB); > + die("Not enough memory specified: %"PRIu64"MB (min %lluMB)", ram_size, MIN_RAM_SIZE_MB); > > if (ram_size > host_ram_size()) > - pr_warning("Guest memory size %lluMB exceeds host physical RAM size %lluMB", ram_size, host_ram_size()); > + pr_warning("Guest memory size %"PRIu64"MB exceeds host physical RAM size %"PRIu64"MB", ram_size, host_ram_size()); > > ram_size <<= MB_SHIFT; > > @@ -878,7 +880,7 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) > virtio_blk__init_all(kvm); > } > > - printf(" # kvm run -k %s -m %Lu -c %d --name %s\n", kernel_filename, ram_size / 1024 / 1024, nrcpus, guest_name); > + printf(" # kvm run -k %s -m %"PRId64" -c %d --name %s\n", kernel_filename, ram_size / 1024 / 1024, nrcpus, guest_name); > > if (!kvm__load_kernel(kvm, kernel_filename, initrd_filename, > real_cmdline, vidmode)) > diff --git a/tools/kvm/builtin-stat.c b/tools/kvm/builtin-stat.c > index e28eb5b..c1f2605 100644 > --- a/tools/kvm/builtin-stat.c > +++ b/tools/kvm/builtin-stat.c > @@ -9,6 +9,8 @@ > #include <stdio.h> > #include <string.h> > #include <signal.h> > +#define __STDC_FORMAT_MACROS > +#include <inttypes.h> > > #include <linux/virtio_balloon.h> > > @@ -97,7 +99,7 @@ static int do_memstat(const char *name, int sock) > printf("The total amount of memory available (in bytes):"); > break; > } > - printf("%llu\n", stats[i].val); > + printf("%"PRId64"\n", stats[i].val); > } > printf("\n"); > > diff --git a/tools/kvm/disk/core.c b/tools/kvm/disk/core.c > index 4915efd..a135851 100644 > --- a/tools/kvm/disk/core.c > +++ b/tools/kvm/disk/core.c > @@ -4,6 +4,8 @@ > > #include <sys/eventfd.h> > #include <sys/poll.h> > +#define __STDC_FORMAT_MACROS > +#include <inttypes.h> > > #define AIO_MAX 32 > > @@ -232,7 +234,7 @@ ssize_t disk_image__get_serial(struct disk_image *disk, void *buffer, ssize_t *l > if (fstat(disk->fd, &st) != 0) > return 0; > > - *len = snprintf(buffer, *len, "%llu%llu%llu", (u64)st.st_dev, (u64)st.st_rdev, (u64)st.st_ino); > + *len = snprintf(buffer, *len, "%"PRId64"%"PRId64"%"PRId64, (u64)st.st_dev, (u64)st.st_rdev, (u64)st.st_ino); > return *len; > } > > diff --git a/tools/kvm/mmio.c b/tools/kvm/mmio.c > index de7320f..1158bff 100644 > --- a/tools/kvm/mmio.c > +++ b/tools/kvm/mmio.c > @@ -9,6 +9,8 @@ > #include <linux/kvm.h> > #include <linux/types.h> > #include <linux/rbtree.h> > +#define __STDC_FORMAT_MACROS > +#include <inttypes.h> > > #define mmio_node(n) rb_entry(n, struct mmio_mapping, node) > > @@ -124,7 +126,7 @@ bool kvm__emulate_mmio(struct kvm *kvm, u64 phys_addr, u8 *data, u32 len, u8 is_ > if (mmio) > mmio->mmio_fn(phys_addr, data, len, is_write, mmio->ptr); > else > - fprintf(stderr, "Warning: Ignoring MMIO %s at %016llx (length %u)\n", > + fprintf(stderr, "Warning: Ignoring MMIO %s at %016"PRIx64" (length %u)\n", > to_direction(is_write), phys_addr, len); > br_read_unlock(); > > -- > 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 -- Sasha. -- 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