From 5a782bbcaed259a1113ac310a2c9f648af1e7ac0 Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Mon, 7 Jul 2014 16:25:07 +0100 Subject: [PATCH] disas/libvixl: prepend the include path of libvixl header files Currently the Makefile of disas/libvixl appends -I$(SRC_PATH)/disas/libvixl to QEMU_CFLAGS. As a consequence C++ files that #include "utils.h", such as disas/libvixl/a64/instructions-a64.cc, are going to look for utils.h on all the other include paths first. When building QEMU as part of the Xen make system, another unrelated utils.h file is going to be chosen for inclusion, causing a build failure: In file included from disas/libvixl/a64/instructions-a64.cc:27:0: /qemu/disas/libvixl/a64/instructions-a64.h:88:64: error: 'rawbits_to_float' was not declared in this scope const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000); Fix the problem by prepending (rather than appending) the libvixl include path to QEMU_CFLAGS. Signed-off-by: Stefano Stabellini Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell (cherry picked from commit 834fb1b269f4c9eb0ffc058fd6ab5a018c3bce1f) *added 2.0-specific fixup from Stefano in disas/Makefile.obj due to lack of 849d8284 Signed-off-by: Michael Roth --- disas/Makefile.objs | 2 +- disas/libvixl/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/disas/Makefile.objs b/disas/Makefile.objs index 41c237424..a70c59209 100644 --- a/disas/Makefile.objs +++ b/disas/Makefile.objs @@ -4,7 +4,7 @@ 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 -$(obj)/arm-a64.o: QEMU_CFLAGS += -I$(libvixldir) +$(obj)/arm-a64.o: QEMU_CFLAGS := -I$(libvixldir) $(QEMU_CFLAGS) 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 0adb3ced7..17e6565d1 100644 --- a/disas/libvixl/Makefile.objs +++ b/disas/libvixl/Makefile.objs @@ -3,6 +3,6 @@ libvixl_OBJS = utils.o \ a64/decoder-a64.o \ a64/disasm-a64.o -$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS += -I$(SRC_PATH)/disas/libvixl +$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS) -- 2.39.5