Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files

2014-07-09 Thread Stefano Stabellini
On Tue, 8 Jul 2014, Peter Maydell wrote:
 On 7 July 2014 16:25, Stefano Stabellini
 stefano.stabell...@eu.citrix.com wrote:
  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(0x7f80);
 
  Fix the problem by prepending (rather than appending) the libvixl
  include path to QEMU_CFLAGS.
 
  Signed-off-by: Stefano Stabellini stefano.stabell...@eu.citrix.com
 
  ---
 
  diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
  index 0adb3ce..17e6565 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)
 
 Reviewed-by: Peter Maydell peter.mayd...@linaro.org
 
 I spent a few moments wondering if the conversion of
 QEMU_CFLAGS from recursively-expanded to simply-expanded
 would be a problem, but because this is a target-specific
 variable it's pretty much going to be expanded at the same
 point that it would be anyhow.
 
Thanks Peter.
Are you going to pick it up or do you want me to send a pull request?

Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files

2014-07-09 Thread Stefano Stabellini
On Tue, 8 Jul 2014, Stefano Stabellini wrote:
 On Tue, 8 Jul 2014, Peter Maydell wrote:
  On 8 July 2014 12:55, Stefano Stabellini
  stefano.stabell...@eu.citrix.com wrote:
   Are you going to pick it up or do you want me to send a pull request?
  
  I'm going to put it in the target-arm pullreq I'm currently testing.
  
 Great, thanks!
 

Unfortunately I found another one of these issues: disas/arm-a64.o adds
-Idisas/libvixl via arm-a64.o-cflags instead of QEMU_CFLAGS.  I don't
know how I missed it the first time. Probably I didn't properly clean
the QEMU build directory.

I'll send a separate patch for that.



Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files

2014-07-08 Thread Peter Maydell
On 7 July 2014 16:25, Stefano Stabellini
stefano.stabell...@eu.citrix.com wrote:
 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(0x7f80);

 Fix the problem by prepending (rather than appending) the libvixl
 include path to QEMU_CFLAGS.

 Signed-off-by: Stefano Stabellini stefano.stabell...@eu.citrix.com

 ---

 diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
 index 0adb3ce..17e6565 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)

Reviewed-by: Peter Maydell peter.mayd...@linaro.org

I spent a few moments wondering if the conversion of
QEMU_CFLAGS from recursively-expanded to simply-expanded
would be a problem, but because this is a target-specific
variable it's pretty much going to be expanded at the same
point that it would be anyhow.

thanks
-- PMM



Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files

2014-07-08 Thread Stefano Stabellini
On Tue, 8 Jul 2014, Peter Maydell wrote:
 On 8 July 2014 12:55, Stefano Stabellini
 stefano.stabell...@eu.citrix.com wrote:
  Are you going to pick it up or do you want me to send a pull request?
 
 I'm going to put it in the target-arm pullreq I'm currently testing.
 
Great, thanks!



Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files

2014-07-08 Thread Peter Maydell
On 8 July 2014 12:55, Stefano Stabellini
stefano.stabell...@eu.citrix.com wrote:
 Are you going to pick it up or do you want me to send a pull request?

I'm going to put it in the target-arm pullreq I'm currently testing.

thanks
-- PMM