qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] fix gcc warnings when RESERVED_VA is 0
@ 2012-09-16  0:05 Mike Frysinger
  2012-09-16  9:58 ` Peter Maydell
  0 siblings, 1 reply; 28+ messages in thread
From: Mike Frysinger @ 2012-09-16  0:05 UTC (permalink / raw)
  To: qemu-devel

The current code, while correct, triggers a bunch of gcc warnings when
RESERVED_VA is 0 like so:
linux-user/syscall.c: In function 'do_shmat':
linux-user/syscall.c:3058: warning: comparison of unsigned expression < 0 is always false
linux-user/syscall.c: In function 'open_self_maps':
linux-user/syscall.c:4960: warning: comparison of unsigned expression < 0 is always false
linux-user/syscall.c:4960: warning: comparison of unsigned expression < 0 is always false

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 cpu-all.h |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/cpu-all.h b/cpu-all.h
index 5e07d28..0e5dcf0 100644
--- a/cpu-all.h
+++ b/cpu-all.h
@@ -202,10 +202,16 @@ extern unsigned long reserved_va;
 #if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
 #define h2g_valid(x) 1
 #else
+/* Gcc likes to warn about comparing unsigned longs to < 0, so cpp it away.  */
+# if RESERVED_VA
+#  define _h2g_reserved_va(x) ((x) < RESERVED_VA)
+# else
+#  define _h2g_reserved_va(x) 1
+# endif
 #define h2g_valid(x) ({ \
     unsigned long __guest = (unsigned long)(x) - GUEST_BASE; \
     (__guest < (1ul << TARGET_VIRT_ADDR_SPACE_BITS)) && \
-    (!RESERVED_VA || (__guest < RESERVED_VA)); \
+    _h2g_reserved_va(__guest); \
 })
 #endif
 
-- 
1.7.9.7

^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2012-09-21 20:22 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-16  0:05 [Qemu-devel] [PATCH] fix gcc warnings when RESERVED_VA is 0 Mike Frysinger
2012-09-16  9:58 ` Peter Maydell
2012-09-16 10:25   ` Blue Swirl
2012-09-17 15:28     ` [Qemu-devel] [PATCH v2 00/13] Sparc TCG cleanup Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 01/13] linux-user: Use memcpy in get_user/put_user Richard Henderson
2012-09-17 15:35         ` Peter Maydell
2012-09-17 15:40           ` Richard Henderson
2012-09-17 16:06         ` Peter Maydell
2012-09-17 15:28       ` [Qemu-devel] [PATCH 02/13] tcg-sparc: Hack in qemu_ld/st64 for 32-bit Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 03/13] tcg-sparc: Fix ADDX opcode Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode Richard Henderson
2012-09-17 16:04         ` Andreas Färber
2012-09-17 17:05           ` Richard Henderson
2012-09-17 19:25             ` Blue Swirl
2012-09-17 21:52               ` Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 05/13] tcg-sparc: Fix qemu_ld/st to handle 32-bit host Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 06/13] tcg-sparc: Support GUEST_BASE Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 07/13] tcg-sparc: Change AREG0 in generated code to %i0 Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 08/13] tcg-sparc: Clean up cruft stemming from attempts to use global registers Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 09/13] tcg-sparc: Mask shift immediates to avoid illegal insns Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 10/13] tcg-sparc: Use defines for temporaries Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 11/13] tcg-sparc: Add %g/%o registers to alloc_order Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 12/13] tcg-sparc: Fix and enable direct TB chaining Richard Henderson
2012-09-17 15:28       ` [Qemu-devel] [PATCH 13/13] tcg: Fix !USE_DIRECT_JUMP Richard Henderson
2012-09-17 15:50         ` Andreas Färber
2012-09-21 20:21           ` Stefan Weil
2012-09-21 10:28         ` Aurelien Jarno
2012-09-21 18:16         ` Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).