All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] prepend the include path of libvixl header files
@ 2014-07-07 15:25 ` Stefano Stabellini
  0 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-07 15:25 UTC (permalink / raw)
  To: peter.maydell
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, Ian Jackson,
	qemu-devel, claudio.fontana

[-- Attachment #1: Type: text/plain, Size: 1367 bytes --]

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 <stefano.stabellini@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)

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

* [PATCH] prepend the include path of libvixl header files
@ 2014-07-07 15:25 ` Stefano Stabellini
  0 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-07 15:25 UTC (permalink / raw)
  To: peter.maydell
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, Ian Jackson,
	qemu-devel, claudio.fontana

[-- Attachment #1: Type: text/plain, Size: 1367 bytes --]

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 <stefano.stabellini@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)

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

* Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files
  2014-07-07 15:25 ` Stefano Stabellini
@ 2014-07-08 11:21   ` Peter Maydell
  -1 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2014-07-08 11:21 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: C Fontana, xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Ian Campbell

On 7 July 2014 16:25, Stefano Stabellini
<stefano.stabellini@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(0x7f800000);
>
> Fix the problem by prepending (rather than appending) the libvixl
> include path to QEMU_CFLAGS.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@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.maydell@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

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

* Re: [PATCH] prepend the include path of libvixl header files
@ 2014-07-08 11:21   ` Peter Maydell
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2014-07-08 11:21 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: C Fontana, xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Ian Campbell

On 7 July 2014 16:25, Stefano Stabellini
<stefano.stabellini@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(0x7f800000);
>
> Fix the problem by prepending (rather than appending) the libvixl
> include path to QEMU_CFLAGS.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@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.maydell@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

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

* Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files
  2014-07-08 11:21   ` Peter Maydell
@ 2014-07-08 11:55     ` Stefano Stabellini
  -1 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-08 11:55 UTC (permalink / raw)
  To: Peter Maydell
  Cc: xen-devel@lists.xensource.com Devel, Ian Campbell,
	Stefano Stabellini, Ian Jackson, QEMU Developers, C Fontana

[-- Attachment #1: Type: text/plain, Size: 2047 bytes --]

On Tue, 8 Jul 2014, Peter Maydell wrote:
> On 7 July 2014 16:25, Stefano Stabellini
> <stefano.stabellini@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(0x7f800000);
> >
> > Fix the problem by prepending (rather than appending) the libvixl
> > include path to QEMU_CFLAGS.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@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.maydell@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?

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

* Re: [PATCH] prepend the include path of libvixl header files
@ 2014-07-08 11:55     ` Stefano Stabellini
  0 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-08 11:55 UTC (permalink / raw)
  To: Peter Maydell
  Cc: xen-devel@lists.xensource.com Devel, Ian Campbell,
	Stefano Stabellini, Ian Jackson, QEMU Developers, C Fontana

[-- Attachment #1: Type: text/plain, Size: 2047 bytes --]

On Tue, 8 Jul 2014, Peter Maydell wrote:
> On 7 July 2014 16:25, Stefano Stabellini
> <stefano.stabellini@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(0x7f800000);
> >
> > Fix the problem by prepending (rather than appending) the libvixl
> > include path to QEMU_CFLAGS.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@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.maydell@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?

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

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

* Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files
  2014-07-08 11:55     ` Stefano Stabellini
@ 2014-07-08 11:57       ` Peter Maydell
  -1 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2014-07-08 11:57 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Ian Campbell

On 8 July 2014 12:55, Stefano Stabellini
<stefano.stabellini@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

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

* Re: [PATCH] prepend the include path of libvixl header files
@ 2014-07-08 11:57       ` Peter Maydell
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2014-07-08 11:57 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Ian Campbell

On 8 July 2014 12:55, Stefano Stabellini
<stefano.stabellini@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

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

* Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files
  2014-07-08 11:57       ` Peter Maydell
@ 2014-07-08 11:59         ` Stefano Stabellini
  -1 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-08 11:59 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Ian Campbell, xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Stefano Stabellini

On Tue, 8 Jul 2014, Peter Maydell wrote:
> On 8 July 2014 12:55, Stefano Stabellini
> <stefano.stabellini@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!

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

* Re: [PATCH] prepend the include path of libvixl header files
@ 2014-07-08 11:59         ` Stefano Stabellini
  0 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-08 11:59 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Ian Campbell, xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Stefano Stabellini

On Tue, 8 Jul 2014, Peter Maydell wrote:
> On 8 July 2014 12:55, Stefano Stabellini
> <stefano.stabellini@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!

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

* Re: [Qemu-devel] [PATCH] prepend the include path of libvixl header files
  2014-07-08 11:59         ` Stefano Stabellini
@ 2014-07-09 20:16           ` Stefano Stabellini
  -1 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-09 20:16 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Peter Maydell, xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Ian Campbell

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.stabellini@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.

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

* Re: [PATCH] prepend the include path of libvixl header files
@ 2014-07-09 20:16           ` Stefano Stabellini
  0 siblings, 0 replies; 12+ messages in thread
From: Stefano Stabellini @ 2014-07-09 20:16 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Peter Maydell, xen-devel@lists.xensource.com Devel, Ian Jackson,
	QEMU Developers, Ian Campbell

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.stabellini@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.

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

end of thread, other threads:[~2014-07-09 20:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-07 15:25 [Qemu-devel] [PATCH] prepend the include path of libvixl header files Stefano Stabellini
2014-07-07 15:25 ` Stefano Stabellini
2014-07-08 11:21 ` [Qemu-devel] " Peter Maydell
2014-07-08 11:21   ` Peter Maydell
2014-07-08 11:55   ` [Qemu-devel] " Stefano Stabellini
2014-07-08 11:55     ` Stefano Stabellini
2014-07-08 11:57     ` [Qemu-devel] " Peter Maydell
2014-07-08 11:57       ` Peter Maydell
2014-07-08 11:59       ` [Qemu-devel] " Stefano Stabellini
2014-07-08 11:59         ` Stefano Stabellini
2014-07-09 20:16         ` [Qemu-devel] " Stefano Stabellini
2014-07-09 20:16           ` Stefano Stabellini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.