Message ID | alpine.DEB.2.02.1409231721020.15268@kaball.uk.xensource.com |
---|---|
State | New |
Headers | show |
On Tue, 23 Sep 2014, Ian Campbell wrote: > On Tue, 2014-09-23 at 17:29 +0100, Stefano Stabellini wrote: > > On Tue, 23 Sep 2014, Ian Campbell wrote: > > > On Tue, 2014-09-23 at 15:56 +0100, Stefano Stabellini wrote: > > > > Does the following fix the issue for you? > > > > > > I needed some new build-deps (pixman) but then it appeared to, yes. > > > > > > I'm in favour of moving the --cpu out from under the > > > IOEMU_CONFIGURE_CROSS and into the normal configure rune. It should be > > > harmless for native builds and will ensure that cross builds don't > > > regress again. Maybe that is more complex with the qemu-trad side of > > > things? > > > > I don't think so: qemu-trad is not used on arm or arm64. > > I think that the x86_32 tools build on x86_64 still has some other > > issues but this should be an improvement. > > I wasn't sure if qemu-trad even had --cpu, seem it does? > > > --- > > Fix QEMU cross-compile build > > > > Introduce the per-arch IOEMU_CPU_ARCH variable. > > Always pass --configure=IOEMU_CPU_ARCH to QEMU's configure script. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > Although the comments in config/*.mk are a bit redundant (would you like > me to drop as I apply?) Sure. Also please test as my cross-compiling environments are limited. > > diff --git a/config/arm32.mk b/config/arm32.mk > > index aa79d22..5f056bd 100644 > > --- a/config/arm32.mk > > +++ b/config/arm32.mk > > @@ -18,3 +18,6 @@ HAS_NS16550 := y > > LDFLAGS_DIRECT += -EL > > > > CONFIG_LOAD_ADDRESS ?= 0x80000000 > > + > > +#QEMU CPU arch > > +IOEMU_CPU_ARCH ?= arm > > diff --git a/config/arm64.mk b/config/arm64.mk > > index 15b57a4..f42ffe0 100644 > > --- a/config/arm64.mk > > +++ b/config/arm64.mk > > @@ -13,3 +13,6 @@ HAS_NS16550 := y > > LDFLAGS_DIRECT += -EL > > > > CONFIG_LOAD_ADDRESS ?= 0x80000000 > > + > > +#QEMU CPU arch > > +IOEMU_CPU_ARCH ?= aarch64 > > diff --git a/config/x86_32.mk b/config/x86_32.mk > > index 7f76b25..0da63ed 100644 > > --- a/config/x86_32.mk > > +++ b/config/x86_32.mk > > @@ -12,3 +12,6 @@ CFLAGS += -m32 -march=i686 > > LDFLAGS_DIRECT_OpenBSD = _obsd > > LDFLAGS_DIRECT_FreeBSD = _fbsd > > LDFLAGS_DIRECT += -melf_i386$(LDFLAGS_DIRECT_$(XEN_OS)) > > + > > +#QEMU CPU arch > > +IOEMU_CPU_ARCH ?= i386 > > diff --git a/config/x86_64.mk b/config/x86_64.mk > > index 11104bd..f5c32a2 100644 > > --- a/config/x86_64.mk > > +++ b/config/x86_64.mk > > @@ -25,3 +25,6 @@ else > > LDFLAGS_DIRECT += -melf_x86_64 > > endif > > endif > > + > > +#QEMU CPU arch > > +IOEMU_CPU_ARCH ?= x86_64 > > diff --git a/tools/Makefile b/tools/Makefile > > index 1130369..7b00a70 100644 > > --- a/tools/Makefile > > +++ b/tools/Makefile > > @@ -106,8 +106,7 @@ distclean: subdirs-distclean > > config.cache autom4te.cache > > > > ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) > > -IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \ > > - --cross-prefix=$(CROSS_COMPILE) \ > > +IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \ > > --interp-prefix=$(CROSS_SYS_ROOT) > > endif > > > > @@ -146,7 +145,7 @@ subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find > > set -e; \ > > $(buildmakevars2shellvars); \ > > cd qemu-xen-traditional-dir; \ > > - $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \ > > + $(QEMU_ROOT)/xen-setup --cpu=$(IOEMU_CPU_ARCH) $(IOEMU_CONFIGURE_CROSS); \ > > $(MAKE) all > > > > subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find > > @@ -155,6 +154,7 @@ subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find > > cd qemu-xen-traditional-dir; \ > > $(QEMU_ROOT)/xen-setup \ > > --extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \ > > + --cpu=$(IOEMU_CPU_ARCH) \ > > $(IOEMU_CONFIGURE_CROSS); \ > > $(MAKE) install > > > > @@ -207,6 +207,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find > > --disable-guest-agent \ > > --python=$(PYTHON) \ > > $(CONFIG_QEMUU_EXTRA_ARGS) \ > > + --cpu=$(IOEMU_CPU_ARCH) \ > > $(IOEMU_CONFIGURE_CROSS); \ > > $(MAKE) all > > > >
On Tue, 2014-09-23 at 17:29 +0100, Stefano Stabellini wrote: > On Tue, 23 Sep 2014, Ian Campbell wrote: > > On Tue, 2014-09-23 at 15:56 +0100, Stefano Stabellini wrote: > > > Does the following fix the issue for you? > > > > I needed some new build-deps (pixman) but then it appeared to, yes. > > > > I'm in favour of moving the --cpu out from under the > > IOEMU_CONFIGURE_CROSS and into the normal configure rune. It should be > > harmless for native builds and will ensure that cross builds don't > > regress again. Maybe that is more complex with the qemu-trad side of > > things? > > I don't think so: qemu-trad is not used on arm or arm64. > I think that the x86_32 tools build on x86_64 still has some other > issues but this should be an improvement. I wasn't sure if qemu-trad even had --cpu, seem it does? > --- > Fix QEMU cross-compile build > > Introduce the per-arch IOEMU_CPU_ARCH variable. > Always pass --configure=IOEMU_CPU_ARCH to QEMU's configure script. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Although the comments in config/*.mk are a bit redundant (would you like me to drop as I apply?) > > diff --git a/config/arm32.mk b/config/arm32.mk > index aa79d22..5f056bd 100644 > --- a/config/arm32.mk > +++ b/config/arm32.mk > @@ -18,3 +18,6 @@ HAS_NS16550 := y > LDFLAGS_DIRECT += -EL > > CONFIG_LOAD_ADDRESS ?= 0x80000000 > + > +#QEMU CPU arch > +IOEMU_CPU_ARCH ?= arm > diff --git a/config/arm64.mk b/config/arm64.mk > index 15b57a4..f42ffe0 100644 > --- a/config/arm64.mk > +++ b/config/arm64.mk > @@ -13,3 +13,6 @@ HAS_NS16550 := y > LDFLAGS_DIRECT += -EL > > CONFIG_LOAD_ADDRESS ?= 0x80000000 > + > +#QEMU CPU arch > +IOEMU_CPU_ARCH ?= aarch64 > diff --git a/config/x86_32.mk b/config/x86_32.mk > index 7f76b25..0da63ed 100644 > --- a/config/x86_32.mk > +++ b/config/x86_32.mk > @@ -12,3 +12,6 @@ CFLAGS += -m32 -march=i686 > LDFLAGS_DIRECT_OpenBSD = _obsd > LDFLAGS_DIRECT_FreeBSD = _fbsd > LDFLAGS_DIRECT += -melf_i386$(LDFLAGS_DIRECT_$(XEN_OS)) > + > +#QEMU CPU arch > +IOEMU_CPU_ARCH ?= i386 > diff --git a/config/x86_64.mk b/config/x86_64.mk > index 11104bd..f5c32a2 100644 > --- a/config/x86_64.mk > +++ b/config/x86_64.mk > @@ -25,3 +25,6 @@ else > LDFLAGS_DIRECT += -melf_x86_64 > endif > endif > + > +#QEMU CPU arch > +IOEMU_CPU_ARCH ?= x86_64 > diff --git a/tools/Makefile b/tools/Makefile > index 1130369..7b00a70 100644 > --- a/tools/Makefile > +++ b/tools/Makefile > @@ -106,8 +106,7 @@ distclean: subdirs-distclean > config.cache autom4te.cache > > ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) > -IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \ > - --cross-prefix=$(CROSS_COMPILE) \ > +IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \ > --interp-prefix=$(CROSS_SYS_ROOT) > endif > > @@ -146,7 +145,7 @@ subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find > set -e; \ > $(buildmakevars2shellvars); \ > cd qemu-xen-traditional-dir; \ > - $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \ > + $(QEMU_ROOT)/xen-setup --cpu=$(IOEMU_CPU_ARCH) $(IOEMU_CONFIGURE_CROSS); \ > $(MAKE) all > > subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find > @@ -155,6 +154,7 @@ subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find > cd qemu-xen-traditional-dir; \ > $(QEMU_ROOT)/xen-setup \ > --extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \ > + --cpu=$(IOEMU_CPU_ARCH) \ > $(IOEMU_CONFIGURE_CROSS); \ > $(MAKE) install > > @@ -207,6 +207,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find > --disable-guest-agent \ > --python=$(PYTHON) \ > $(CONFIG_QEMUU_EXTRA_ARGS) \ > + --cpu=$(IOEMU_CPU_ARCH) \ > $(IOEMU_CONFIGURE_CROSS); \ > $(MAKE) all >
On Tue, 2014-09-23 at 17:35 +0100, Stefano Stabellini wrote: > On Tue, 23 Sep 2014, Ian Campbell wrote: > > On Tue, 2014-09-23 at 17:29 +0100, Stefano Stabellini wrote: > > > On Tue, 23 Sep 2014, Ian Campbell wrote: > > > > On Tue, 2014-09-23 at 15:56 +0100, Stefano Stabellini wrote: > > > > > Does the following fix the issue for you? > > > > > > > > I needed some new build-deps (pixman) but then it appeared to, yes. > > > > > > > > I'm in favour of moving the --cpu out from under the > > > > IOEMU_CONFIGURE_CROSS and into the normal configure rune. It should be > > > > harmless for native builds and will ensure that cross builds don't > > > > regress again. Maybe that is more complex with the qemu-trad side of > > > > things? > > > > > > I don't think so: qemu-trad is not used on arm or arm64. > > > I think that the x86_32 tools build on x86_64 still has some other > > > issues but this should be an improvement. > > > > I wasn't sure if qemu-trad even had --cpu, seem it does? > > > > > --- > > > Fix QEMU cross-compile build > > > > > > Introduce the per-arch IOEMU_CPU_ARCH variable. > > > Always pass --configure=IOEMU_CPU_ARCH to QEMU's configure script. > > > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > > > Although the comments in config/*.mk are a bit redundant (would you like > > me to drop as I apply?) > > Sure. ok, will look tomorrow. > Also please test as my cross-compiling environments are limited. My standard precommit builds are native apart from arm64 which is cross. I reckon that will do. Ian.
On Tue, 2014-09-23 at 17:41 +0100, Ian Campbell wrote: > On Tue, 2014-09-23 at 17:35 +0100, Stefano Stabellini wrote: > > On Tue, 23 Sep 2014, Ian Campbell wrote: > > > On Tue, 2014-09-23 at 17:29 +0100, Stefano Stabellini wrote: > > > > On Tue, 23 Sep 2014, Ian Campbell wrote: > > > > > On Tue, 2014-09-23 at 15:56 +0100, Stefano Stabellini wrote: > > > > > > Does the following fix the issue for you? > > > > > > > > > > I needed some new build-deps (pixman) but then it appeared to, yes. > > > > > > > > > > I'm in favour of moving the --cpu out from under the > > > > > IOEMU_CONFIGURE_CROSS and into the normal configure rune. It should be > > > > > harmless for native builds and will ensure that cross builds don't > > > > > regress again. Maybe that is more complex with the qemu-trad side of > > > > > things? > > > > > > > > I don't think so: qemu-trad is not used on arm or arm64. > > > > I think that the x86_32 tools build on x86_64 still has some other > > > > issues but this should be an improvement. > > > > > > I wasn't sure if qemu-trad even had --cpu, seem it does? > > > > > > > --- > > > > Fix QEMU cross-compile build > > > > > > > > Introduce the per-arch IOEMU_CPU_ARCH variable. > > > > Always pass --configure=IOEMU_CPU_ARCH to QEMU's configure script. > > > > > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > > > > > Although the comments in config/*.mk are a bit redundant (would you like > > > me to drop as I apply?) > > > > Sure. > > ok, will look tomorrow. > > > Also please test as my cross-compiling environments are limited. > > My standard precommit builds are native apart from arm64 which is cross. > I reckon that will do. These all passed, so I've pushed. Thanks!
diff --git a/config/arm32.mk b/config/arm32.mk index aa79d22..5f056bd 100644 --- a/config/arm32.mk +++ b/config/arm32.mk @@ -18,3 +18,6 @@ HAS_NS16550 := y LDFLAGS_DIRECT += -EL CONFIG_LOAD_ADDRESS ?= 0x80000000 + +#QEMU CPU arch +IOEMU_CPU_ARCH ?= arm diff --git a/config/arm64.mk b/config/arm64.mk index 15b57a4..f42ffe0 100644 --- a/config/arm64.mk +++ b/config/arm64.mk @@ -13,3 +13,6 @@ HAS_NS16550 := y LDFLAGS_DIRECT += -EL CONFIG_LOAD_ADDRESS ?= 0x80000000 + +#QEMU CPU arch +IOEMU_CPU_ARCH ?= aarch64 diff --git a/config/x86_32.mk b/config/x86_32.mk index 7f76b25..0da63ed 100644 --- a/config/x86_32.mk +++ b/config/x86_32.mk @@ -12,3 +12,6 @@ CFLAGS += -m32 -march=i686 LDFLAGS_DIRECT_OpenBSD = _obsd LDFLAGS_DIRECT_FreeBSD = _fbsd LDFLAGS_DIRECT += -melf_i386$(LDFLAGS_DIRECT_$(XEN_OS)) + +#QEMU CPU arch +IOEMU_CPU_ARCH ?= i386 diff --git a/config/x86_64.mk b/config/x86_64.mk index 11104bd..f5c32a2 100644 --- a/config/x86_64.mk +++ b/config/x86_64.mk @@ -25,3 +25,6 @@ else LDFLAGS_DIRECT += -melf_x86_64 endif endif + +#QEMU CPU arch +IOEMU_CPU_ARCH ?= x86_64 diff --git a/tools/Makefile b/tools/Makefile index 1130369..7b00a70 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -106,8 +106,7 @@ distclean: subdirs-distclean config.cache autom4te.cache ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) -IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \ - --cross-prefix=$(CROSS_COMPILE) \ +IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \ --interp-prefix=$(CROSS_SYS_ROOT) endif @@ -146,7 +145,7 @@ subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find set -e; \ $(buildmakevars2shellvars); \ cd qemu-xen-traditional-dir; \ - $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \ + $(QEMU_ROOT)/xen-setup --cpu=$(IOEMU_CPU_ARCH) $(IOEMU_CONFIGURE_CROSS); \ $(MAKE) all subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find @@ -155,6 +154,7 @@ subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find cd qemu-xen-traditional-dir; \ $(QEMU_ROOT)/xen-setup \ --extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \ + --cpu=$(IOEMU_CPU_ARCH) \ $(IOEMU_CONFIGURE_CROSS); \ $(MAKE) install @@ -207,6 +207,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find --disable-guest-agent \ --python=$(PYTHON) \ $(CONFIG_QEMUU_EXTRA_ARGS) \ + --cpu=$(IOEMU_CPU_ARCH) \ $(IOEMU_CONFIGURE_CROSS); \ $(MAKE) all