Skip to contentSkip to conversation

Fix compiler warnings

PATCH In review Stefan Weil 1 participant 2 messages Oct 1, 2007 – Nov 1, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix compiler warnings

Hello,

this patch fixes some compiler warnings in two QEMU source files:

* missing include unistd.h for syscall

* comparision of unsigned value with -1 (mmap returns pointer with error value MAP_FAILED)

I also replaced leading tabs in mmap.c by blanks.

Please add this patch to CVS head.

Regards
Stefan

Index: linux-user/mmap.c
===================================================================
RCS file: /sources/qemu/qemu/linux-user/mmap.c,v
retrieving revision 1.16

mmap.c +15 -13
diff -u -b -B -w -u -r1.16 mmap.c
@@ -100,7 +100,7 @@
                      target_ulong start, target_ulong end,
                      int prot, int flags, int fd, target_ulong offset)
 {
-    target_ulong real_end, ret, addr;
+    target_ulong real_end, addr;
     void *host_start;
     int prot1, prot_new;
 
@@ -116,10 +116,10 @@
 
     if (prot1 == 0) {
         /* no page was there, so we allocate one */
-        ret = (long)mmap(host_start, qemu_host_page_size, prot,
+        void *p = mmap(host_start, qemu_host_page_size, prot,
                          flags | MAP_ANONYMOUS, -1, 0);
-        if (ret == -1)
-            return ret;
+        if (p == MAP_FAILED)
+            return -1;
         prot1 = prot;
     }
     prot1 &= PAGE_BITS;
@@ -230,16 +230,16 @@
              */
             target_ulong host_end;
             unsigned long host_aligned_start;
+            void *p;
 
             host_len = HOST_PAGE_ALIGN(host_len + qemu_host_page_size
                                        - qemu_real_host_page_size);
-            host_start = (unsigned long) mmap(real_start ?
-					      g2h(real_start) : NULL,
-					      host_len, prot, flags,
-					      fd, host_offset);
-            if (host_start == -1)
+            p = mmap(real_start ? g2h(real_start) : NULL,
+                     host_len, prot, flags, fd, host_offset);
+            if (p == MAP_FAILED)
                 return -1;
 
+            host_start = (unsigned long)p;
             host_end = host_start + host_len;
 
             /* Find start and end, aligned to the targets pagesize with-in the
@@ -260,11 +260,12 @@
             goto the_end1;
         } else {
             /* if not fixed, no need to do anything */
-            host_start = (long)mmap(real_start ? g2h(real_start) : NULL,
+            void *p = mmap(real_start ? g2h(real_start) : NULL,
                                     host_len, prot, flags, fd, host_offset);
-            if (host_start == -1)
+            if (p == MAP_FAILED)
                 return -1;
             /* update start so that it points to the file position at 'offset' */
+            host_start = (unsigned long)p;
             if (!(flags & MAP_ANONYMOUS))
                 host_start += offset - host_offset;
             start = h2g(host_start);
@@ -333,14 +334,15 @@
 
     /* map the middle (easier) */
     if (real_start < real_end) {
+        void *p;
         unsigned long offset1;
 	if (flags & MAP_ANONYMOUS)
 	  offset1 = 0;
 	else
 	  offset1 = offset + real_start - start;
-        ret = (long)mmap(g2h(real_start), real_end - real_start,
+        p = mmap(g2h(real_start), real_end - real_start,
                          prot, flags, fd, offset1);
-        if (ret == -1)
+        if (p == MAP_FAILED)
             return -1;
     }
  the_end1:

Index: target-i386/helper2.c
===================================================================
RCS file: /sources/qemu/qemu/target-i386/helper2.c,v retrieving revision 1.52

helper2.c +1 -0
diff -u -b -B -w -u -r1.52 helper2.c
@@ -32,6 +32,7 @@
 //#define DEBUG_MMU
 
 #ifdef USE_CODE_COPY
+#include <unistd.h>
 #include <asm/ldt.h>
 #include <linux/unistd.h>
 #include <linux/version.h>
#1 lore raw

I send an update of the patch for current QEMU CVS HEAD in the hope that it will be integrated in CVS...

Stefan

Quoted 9 lines · Stefan Weil

Hello,

this patch fixes some compiler warnings in two QEMU source files:

* missing include unistd.h for syscall

* comparision of unsigned value with -1 (mmap returns pointer with error value MAP_FAILED)

Quoted 6 lines

I also replaced leading tabs in mmap.c by blanks.

Please add this patch to CVS head.

Regards
Stefan

Index: linux-user/mmap.c
===================================================================
RCS file: /sources/qemu/qemu/linux-user/mmap.c,v
retrieving revision 1.17

mmap.c +23 -21
diff -u -r1.17 mmap.c
@@ -37,7 +37,7 @@
 
 #ifdef DEBUG_MMAP
     printf("mprotect: start=0x" TARGET_FMT_lx
-	   "len=0x" TARGET_FMT_lx " prot=%c%c%c\n", start, len,
+           "len=0x" TARGET_FMT_lx " prot=%c%c%c\n", start, len,
            prot & PROT_READ ? 'r' : '-',
            prot & PROT_WRITE ? 'w' : '-',
            prot & PROT_EXEC ? 'x' : '-');
@@ -100,7 +100,7 @@
                      abi_ulong start, abi_ulong end,
                      int prot, int flags, int fd, abi_ulong offset)
 {
-    abi_ulong real_end, ret, addr;
+    abi_ulong real_end, addr;
     void *host_start;
     int prot1, prot_new;
 
@@ -116,10 +116,10 @@
 
     if (prot1 == 0) {
         /* no page was there, so we allocate one */
-        ret = (long)mmap(host_start, qemu_host_page_size, prot,
-                         flags | MAP_ANONYMOUS, -1, 0);
-        if (ret == -1)
-            return ret;
+        void *p = mmap(host_start, qemu_host_page_size, prot,
+                       flags | MAP_ANONYMOUS, -1, 0);
+        if (p == MAP_FAILED)
+            return -1;
         prot1 = prot;
     }
     prot1 &= PAGE_BITS;
@@ -168,7 +168,7 @@
 #ifdef DEBUG_MMAP
     {
         printf("mmap: start=0x" TARGET_FMT_lx
-	       " len=0x" TARGET_FMT_lx " prot=%c%c%c flags=",
+               " len=0x" TARGET_FMT_lx " prot=%c%c%c flags=",
                start, len,
                prot & PROT_READ ? 'r' : '-',
                prot & PROT_WRITE ? 'w' : '-',
@@ -230,16 +230,16 @@
              */
             abi_ulong host_end;
             unsigned long host_aligned_start;
+            void *p;
 
             host_len = HOST_PAGE_ALIGN(host_len + qemu_host_page_size
                                        - qemu_real_host_page_size);
-            host_start = (unsigned long) mmap(real_start ?
-					      g2h(real_start) : NULL,
-					      host_len, prot, flags,
-					      fd, host_offset);
-            if (host_start == -1)
+            p = mmap(real_start ? g2h(real_start) : NULL,
+                     host_len, prot, flags, fd, host_offset);
+            if (p == MAP_FAILED)
                 return -1;
 
+            host_start = (unsigned long)p;
             host_end = host_start + host_len;
 
             /* Find start and end, aligned to the targets pagesize with-in the
@@ -260,11 +260,12 @@
             goto the_end1;
         } else {
             /* if not fixed, no need to do anything */
-            host_start = (long)mmap(real_start ? g2h(real_start) : NULL,
+            void *p = mmap(real_start ? g2h(real_start) : NULL,
                                     host_len, prot, flags, fd, host_offset);
-            if (host_start == -1)
+            if (p == MAP_FAILED)
                 return -1;
             /* update start so that it points to the file position at 'offset' */
+            host_start = (unsigned long)p;
             if (!(flags & MAP_ANONYMOUS))
                 host_start += offset - host_offset;
             start = h2g(host_start);
@@ -333,14 +334,15 @@
 
     /* map the middle (easier) */
     if (real_start < real_end) {
+        void *p;
         unsigned long offset1;
-	if (flags & MAP_ANONYMOUS)
-	  offset1 = 0;
-	else
-	  offset1 = offset + real_start - start;
-        ret = (long)mmap(g2h(real_start), real_end - real_start,
-                         prot, flags, fd, offset1);
-        if (ret == -1)
+        if (flags & MAP_ANONYMOUS)
+          offset1 = 0;
+        else
+          offset1 = offset + real_start - start;
+        p = mmap(g2h(real_start), real_end - real_start,
+                 prot, flags, fd, offset1);
+        if (p == MAP_FAILED)
             return -1;
     }
  the_end1:

Index: target-i386/helper2.c
===================================================================
RCS file: /sources/qemu/qemu/target-i386/helper2.c,v retrieving revision 1.53

helper2.c +1 -0
diff -u -r1.53 helper2.c
@@ -32,6 +32,7 @@
 //#define DEBUG_MMU
 
 #ifdef USE_CODE_COPY
+#include <unistd.h>
 #include <asm/ldt.h>
 #include <linux/unistd.h>
 #include <linux/version.h>