summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Maydell2016-01-12 14:10:04 +0100
committerPeter Maydell2016-01-12 17:45:45 +0100
commit8acc216b956f30c140520c6c3aff5edcfde16ea6 (patch)
tree43d82ea2a621fe6cc81a39674ee297f3be0e0a95
parentMerge remote-tracking branch 'remotes/jnsnow/tags/ide-pull-request' into staging (diff)
downloadqemu-8acc216b956f30c140520c6c3aff5edcfde16ea6.tar.gz
qemu-8acc216b956f30c140520c6c3aff5edcfde16ea6.tar.xz
qemu-8acc216b956f30c140520c6c3aff5edcfde16ea6.zip
disas/libvixl: Suppress gcc 4.6.3 sign-compare warnings
The VIXL code includes some equality comparisons between signed and unsigned types. Modern gcc and clang do not complain about these, but older versions of gcc such as gcc 4.6.3 do. Since libvixl is an upstream library, the simplest approach is to suppress the warnings by applying -Wno-sign-compare to the relevant files. (GCC 4.6 is not quite yet irrelevant for us; it is the gcc shipped with Ubuntu Precise, for example, which is an LTS release not yet out of its support period.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1452604204-27202-1-git-send-email-peter.maydell@linaro.org Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
-rw-r--r--disas/Makefile.objs5
-rw-r--r--disas/libvixl/Makefile.objs4
2 files changed, 7 insertions, 2 deletions
diff --git a/disas/Makefile.objs b/disas/Makefile.objs
index 8dae4daec0..abeba84661 100644
--- a/disas/Makefile.objs
+++ b/disas/Makefile.objs
@@ -4,7 +4,10 @@ common-obj-$(CONFIG_ARM_DIS) += arm.o
common-obj-$(CONFIG_ARM_A64_DIS) += arm-a64.o
common-obj-$(CONFIG_ARM_A64_DIS) += libvixl/
libvixldir = $(SRC_PATH)/disas/libvixl
-arm-a64.o-cflags := -I$(libvixldir)
+# The -Wno-sign-compare is needed only for gcc 4.6, which complains about
+# some signed-unsigned equality comparisons in libvixl which later gcc
+# versions do not.
+arm-a64.o-cflags := -I$(libvixldir) -Wno-sign-compare
common-obj-$(CONFIG_CRIS_DIS) += cris.o
common-obj-$(CONFIG_HPPA_DIS) += hppa.o
common-obj-$(CONFIG_I386_DIS) += i386.o
diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
index e373cf02d3..d1e801a1e9 100644
--- a/disas/libvixl/Makefile.objs
+++ b/disas/libvixl/Makefile.objs
@@ -4,6 +4,8 @@ libvixl_OBJS = vixl/utils.o \
vixl/a64/decoder-a64.o \
vixl/a64/disasm-a64.o
-$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS)
+# The -Wno-sign-compare is needed only for gcc 4.6, which complains about
+# some signed-unsigned equality comparisons which later gcc versions do not.
+$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl -Wno-sign-compare $(QEMU_CFLAGS)
common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS)