[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] qemu build tool version assumptions vs ours


according to my looking around in the upstream tree, qemu doesn't
appear to document minimum tool versions, while we do, and
obviously this expectation we're setting extends to the upstream
qemu tree we use. Now it's not for the first time that an update of
our qemu tree introduces build regressions just because apparently
the qemu tree never gets build tested with the lowest common
denominator tools we specify. While last time this was with python,
this time it is with both make and iasl.

For reference I'm reproducing below the adjustments I had to make,
though the primary purpose of the mail is not so much to find out
whether we and/or upstream qemu should make those changes,
but to kick off a discussion of how to avoid such problems going
forward (especially the iasl problem did cost me quite a bit of time,
not the least because with default build options the failure was
completely silent, due to standard output helpfully gettinf redirected
to /dev/null).


--- 2014-06-20.orig/qemu/upstream/hw/i386/acpi-dsdt.dsl
+++ 2014-06-20/qemu/upstream/hw/i386/acpi-dsdt.dsl
@@ -106,9 +106,9 @@ DefinitionBlock (
     Scope(\_SB.PCI0) {
+/* Old iasl doesn't like this when the actual definition is also visible.
         External(ISA, DeviceObj)
         Device(ISA) {
             Name(_ADR, 0x00010000)
--- 2014-06-20.orig/qemu/upstream/hw/i386/q35-acpi-dsdt.dsl
+++ 2014-06-20/qemu/upstream/hw/i386/q35-acpi-dsdt.dsl
@@ -72,8 +72,9 @@ DefinitionBlock (
             Name(_ADR, 0x00)
             Name(_UID, 1)
+/* Old iasl doesn't like this when the actual definition is also visible.
             External(ISA, DeviceObj)
             // _OSC: based on sample of ACPI3.0b spec
             Name(SUPP, 0) // PCI _OSC Support Field value
             Name(CTRL, 0) // PCI _OSC Control Field value
--- 2014-06-20.orig/qemu/upstream/rules.mak
+++ 2014-06-20/qemu/upstream/rules.mak
@@ -34,9 +34,12 @@ expand-objs = $(strip $(sort $(filter %.
 %.o: %.rc
        $(call quiet-command,$(WINDRES) -I. -o $@ $<,"  RC    $(TARGET_DIR)$@")
+# Fallback for make 3.81 and earlier:
+or = $(if $(1),$(1),$(if $(2),$(2),$(if $(3),$(3),$(if $(4),$(4)))))
 # If we have a CXX we might have some C++ objects, in which case we
 # must link with the C++ compiler, not the plain C compiler.
-LINKPROG = $(or $(CXX),$(CC))
+LINKPROG = $(call or,$(CXX),$(CC))
 ifeq ($(LIBTOOL),)
 LINK = $(call quiet-command,$(LINKPROG) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o 
$@ \

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.