Patchwork Compile errors on latest checkout

login
register
mail settings
Submitter Paolo Bonzini
Date July 31, 2012, 2:13 p.m.
Message ID <5017E7F7.6060602@redhat.com>
Download mbox | patch
Permalink /patch/174261/
State New
Headers show

Comments

Paolo Bonzini - July 31, 2012, 2:13 p.m.
Il 31/07/2012 08:04, Gerhard Wiesinger ha scritto:
> Hello,
> 
> I'm getting the following compile errors:
> 
> /root/download/qemu/git/qemu/hw/megasas.c: In function
> ‘megasas_class_init’:
> /root/download/qemu/git/qemu/hw/megasas.c:2155:14: error: assignment
> from incompatible pointer type [-Werror]
> pc->exit = megasas_scsi_uninit;

See http://permalink.gmane.org/gmane.comp.emulators.qemu/162607 for this.

> With #define DEBUG_SCSI
> hw/scsi-disk.c: In function ‘scsi_write_complete’:
> hw/scsi-disk.c:450:9: error: format ‘%d’ expects argument of type ‘int’,
> but argument 3 has type ‘size_t’ [-Werror=format]
> hw/scsi-disk.c: In function ‘scsi_disk_emulate_read_data’:
> hw/scsi-disk.c:1274:9: error: format ‘%zd’ expects argument of type
> ‘signed size_t’, but argument 2 has type ‘int’ [-Werror=format]
> hw/scsi-disk.c: In function ‘scsi_disk_emulate_write_data’:
> hw/scsi-disk.c:1452:9: error: format ‘%zd’ expects argument of type
> ‘signed size_t’, but argument 2 has type ‘int’ [-Werror=format]
> hw/scsi-disk.c: In function ‘scsi_new_request’:
> hw/scsi-disk.c:2091:5: error: format ‘%x’ expects a matching ‘unsigned
> int’ argument [-Werror=format]
> hw/scsi-disk.c:2094:25: error: ‘r’ undeclared (first use in this function)
> hw/scsi-disk.c:2094:25: note: each undeclared identifier is reported
> only once for each function it appears in

See attached patch.

Paolo

> Please fix it.
> 
> gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)
> 
> Thnx.
> 
> Ciao,
> Gerhard
> 
> 
>

Patch

From 8d64c6b73c8385107a9cc7aa25069ebb1aedd1c3 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 31 Jul 2012 16:10:23 +0200
Subject: [PATCH] scsi-disk: fix compilation with DEBUG_SCSI

Reported-by: Gerhard Wiesinger <lists@wiesinger.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/scsi-disk.c |   23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index e2ec177..a9c7279 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -447,7 +447,7 @@  static void scsi_write_complete(void * opaque, int ret)
         return;
     } else {
         scsi_init_iovec(r, SCSI_DMA_BUF_SIZE);
-        DPRINTF("Write complete tag=0x%x more=%d\n", r->req.tag, r->qiov.size);
+        DPRINTF("Write complete tag=0x%x more=%zd\n", r->req.tag, r->qiov.size);
         scsi_req_data(&r->req, r->qiov.size);
     }
 
@@ -1277,7 +1277,7 @@  static void scsi_disk_emulate_read_data(SCSIRequest *req)
     int buflen = r->iov.iov_len;
 
     if (buflen) {
-        DPRINTF("Read buf_len=%zd\n", buflen);
+        DPRINTF("Read buf_len=%d\n", buflen);
         r->iov.iov_len = 0;
         r->started = true;
         scsi_req_data(&r->req, buflen);
@@ -1455,7 +1455,7 @@  static void scsi_disk_emulate_write_data(SCSIRequest *req)
 
     if (r->iov.iov_len) {
         int buflen = r->iov.iov_len;
-        DPRINTF("Write buf_len=%zd\n", buflen);
+        DPRINTF("Write buf_len=%d\n", buflen);
         r->iov.iov_len = 0;
         scsi_req_data(&r->req, buflen);
         return;
@@ -2093,23 +2093,24 @@  static SCSIRequest *scsi_new_request(SCSIDevice *d, uint32_t tag, uint32_t lun,
     const SCSIReqOps *ops;
     uint8_t command;
 
+    command = buf[0];
+    ops = scsi_disk_reqops_dispatch[command];
+    if (!ops) {
+        ops = &scsi_disk_emulate_reqops;
+    }
+    req = scsi_req_alloc(ops, &s->qdev, tag, lun, hba_private);
+
 #ifdef DEBUG_SCSI
-    DPRINTF("Command: lun=%d tag=0x%x data=0x%02x", lun, buf[0]);
+    DPRINTF("Command: lun=%d tag=0x%x data=0x%02x", lun, tag, buf[0]);
     {
         int i;
-        for (i = 1; i < r->req.cmd.len; i++) {
+        for (i = 1; i < req->cmd.len; i++) {
             printf(" 0x%02x", buf[i]);
         }
         printf("\n");
     }
 #endif
 
-    command = buf[0];
-    ops = scsi_disk_reqops_dispatch[command];
-    if (!ops) {
-        ops = &scsi_disk_emulate_reqops;
-    }
-    req = scsi_req_alloc(ops, &s->qdev, tag, lun, hba_private);
     return req;
 }
 
-- 
1.7.10.4