[PATCH] kvm tools: Fix type mismatches on GCC 4.4 on 32-bit systems

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

 



FYI, the tools/kvm build still fails on 32-bit:

 cc1: warnings being treated as errors
 qcow.c: In function âqcow1_write_sectorâ:
 qcow.c:307: error: comparison between signed and unsigned integer expressions
 make: *** [qcow.o] Error 1
 make: *** Waiting for unfinished jobs....

using:

 gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC)

The patch below addresses them but i haven't tested it beyond checking that it 
builds.

The double cast of userspace_addr is doubly sad - it highlights our 32-bitness 
problems which are visible in the guest_pfn_to_host() function as well.

Thanks,

	Ingo

---

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

diff --git a/tools/kvm/kvm.c b/tools/kvm/kvm.c
index c69fcc4..e3f9d02 100644
--- a/tools/kvm/kvm.c
+++ b/tools/kvm/kvm.c
@@ -162,7 +162,7 @@ static void kvm_register_mem_slot(struct kvm *kvm, u32 slot, u64 guest_phys, u64
 		.slot			= slot,
 		.guest_phys_addr	= guest_phys,
 		.memory_size		= size,
-		.userspace_addr		= (u64)userspace_addr,
+		.userspace_addr		= (u64)(long)userspace_addr,
 	};
 
 	ret = ioctl(kvm->vm_fd, KVM_SET_USER_MEMORY_REGION, &mem);
diff --git a/tools/kvm/qcow.c b/tools/kvm/qcow.c
index 8e1b70d..bb2345c 100644
--- a/tools/kvm/qcow.c
+++ b/tools/kvm/qcow.c
@@ -295,7 +295,7 @@ static int qcow1_write_sector(struct disk_image *disk, u64 sector, void *src, u3
 {
 	struct qcow *q = disk->priv;
 	struct qcow_header *header = q->header;
-	ssize_t nr_written;
+	u32 nr_written;
 	char *buf;
 	u64 offset;
 	ssize_t nr;
--
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