All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series
@ 2021-07-08  4:32 Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 1/4] xen, xen-tools: apply upstream fixes for gcc11 compilation Christopher Clark
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Christopher Clark @ 2021-07-08  4:32 UTC (permalink / raw)
  To: meta-virtualization
  Cc: bruce.ashfield, cardoe, diego.sueiro, Bertrand.Marquis,
	andrew.cooper3, dpsmith, persaur

Pull in updates from upstream Xen and XTF for GCC 11 and fix passing
compiler flags for the Xen hypervisor, tools and test framework.

Changes since v1:
- for Xen 4.14, drop the previous cherry-picked compiler fix patch
  via an update of SRCREV to the current tip of stable-4.14
- add a patch to drop an unnecessary compiler flag override for
  the Arm 32-bit Xen tools build

Christopher Clark (4):
  xen, xen-tools: apply upstream fixes for gcc11 compilation
  xen, xen-tools: fix build and passing of CFLAGS via Xen vars
  xtf: fix build with gcc11 SRCREV and specifying linker
  xen-tools: remove Arm 32-bit compiler flags override

 ...ry-Fix-osdep_xenforeignmemory_map-pr.patch |  33 ++++++
 ...x86-make-hypervisor-build-with-gcc11.patch | 111 ++++++++++++++++++
 recipes-extended/xen/xen-hypervisor.inc       |   3 +-
 recipes-extended/xen/xen-tools.inc            |   6 +-
 recipes-extended/xen/xen-tools_4.14.bb        |   3 +-
 recipes-extended/xen/xen-tools_4.15.bb        |   1 +
 recipes-extended/xen/xen-tools_git.bb         |   1 +
 recipes-extended/xen/xen.inc                  |  13 +-
 recipes-extended/xen/xen_4.14.bb              |   2 +-
 recipes-extended/xen/xen_4.15.bb              |   1 +
 recipes-extended/xen/xen_git.bb               |   1 +
 recipes-extended/xen/xtf_git.bb               |   3 +-
 12 files changed, 167 insertions(+), 11 deletions(-)
 create mode 100644 recipes-extended/xen/files/0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch
 create mode 100644 recipes-extended/xen/files/0001-x86-make-hypervisor-build-with-gcc11.patch

-- 
2.25.1


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

* [meta-virtualization][PATCH v2 1/4] xen, xen-tools: apply upstream fixes for gcc11 compilation
  2021-07-08  4:32 [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Christopher Clark
@ 2021-07-08  4:32 ` Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 2/4] xen, xen-tools: fix build and passing of CFLAGS via Xen vars Christopher Clark
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Christopher Clark @ 2021-07-08  4:32 UTC (permalink / raw)
  To: meta-virtualization
  Cc: bruce.ashfield, cardoe, diego.sueiro, Bertrand.Marquis,
	andrew.cooper3, dpsmith, persaur

Apply patches for the tools and hypervisor to Xen 4.15 and the git
recipe and uprev Xen 4.14 to latest stable revision.
Retire the previous -Wno-vla-parameter workaround.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
---
 ...ry-Fix-osdep_xenforeignmemory_map-pr.patch |  33 ++++++
 ...x86-make-hypervisor-build-with-gcc11.patch | 111 ++++++++++++++++++
 recipes-extended/xen/xen-tools.inc            |   5 +-
 recipes-extended/xen/xen-tools_4.14.bb        |   3 +-
 recipes-extended/xen/xen-tools_4.15.bb        |   1 +
 recipes-extended/xen/xen-tools_git.bb         |   1 +
 recipes-extended/xen/xen_4.14.bb              |   2 +-
 recipes-extended/xen/xen_4.15.bb              |   1 +
 recipes-extended/xen/xen_git.bb               |   1 +
 9 files changed, 152 insertions(+), 6 deletions(-)
 create mode 100644 recipes-extended/xen/files/0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch
 create mode 100644 recipes-extended/xen/files/0001-x86-make-hypervisor-build-with-gcc11.patch

diff --git a/recipes-extended/xen/files/0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch b/recipes-extended/xen/files/0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch
new file mode 100644
index 0000000..2e3b1a6
--- /dev/null
+++ b/recipes-extended/xen/files/0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch
@@ -0,0 +1,33 @@
+From 5d3e4ebb5c71477d74a0c503438545a0126d3863 Mon Sep 17 00:00:00 2001
+From: Anthony PERARD <anthony.perard@citrix.com>
+Date: Tue, 1 Jun 2021 16:41:47 +0100
+Subject: [PATCH] libs/foreignmemory: Fix osdep_xenforeignmemory_map prototype
+
+Commit cf8c4d3d13b8 made some preparation to have one day
+variable-length-array argument, but didn't declare the array in the
+function prototype the same way as in the function definition. And now
+GCC 11 complains about it.
+
+Fixes: cf8c4d3d13b8 ("tools/libs/foreignmemory: pull array length argument to map forward")
+Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+---
+ tools/libs/foreignmemory/private.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/libs/foreignmemory/private.h b/tools/libs/foreignmemory/private.h
+index 1ee3626dd2..5bb0cefb09 100644
+--- a/tools/libs/foreignmemory/private.h
++++ b/tools/libs/foreignmemory/private.h
+@@ -32,7 +32,7 @@ int osdep_xenforeignmemory_close(xenforeignmemory_handle *fmem);
+ void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
+                                  uint32_t dom, void *addr,
+                                  int prot, int flags, size_t num,
+-                                 const xen_pfn_t arr[num], int err[num]);
++                                 const xen_pfn_t arr[/*num*/], int err[/*num*/]);
+ int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
+                                  void *addr, size_t num);
+ 
+-- 
+2.25.1
+
diff --git a/recipes-extended/xen/files/0001-x86-make-hypervisor-build-with-gcc11.patch b/recipes-extended/xen/files/0001-x86-make-hypervisor-build-with-gcc11.patch
new file mode 100644
index 0000000..72592c4
--- /dev/null
+++ b/recipes-extended/xen/files/0001-x86-make-hypervisor-build-with-gcc11.patch
@@ -0,0 +1,111 @@
+From 722f59d38c710a940ab05e542a83020eb5546dea Mon Sep 17 00:00:00 2001
+From: Jan Beulich <jbeulich@suse.com>
+Date: Thu, 27 May 2021 14:40:29 +0200
+Subject: [PATCH] x86: make hypervisor build with gcc11
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Gcc 11 looks to make incorrect assumptions about valid ranges that
+pointers may be used for addressing when they are derived from e.g. a
+plain constant. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100680.
+
+Utilize RELOC_HIDE() to work around the issue, which for x86 manifests
+in at least
+- mpparse.c:efi_check_config(),
+- tboot.c:tboot_probe(),
+- tboot.c:tboot_gen_frametable_integrity(),
+- x86_emulate.c:x86_emulate() (at -O2 only).
+The last case is particularly odd not just because it only triggers at
+higher optimization levels, but also because it only affects one of at
+least three similar constructs. Various "note" diagnostics claim the
+valid index range to be [0, 2⁶³-1].
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Tested-by: Jason Andryuk <jandryuk@gmail.com>
+Acked-by: Roger Pau Monné <roger.pau@citrix.com>
+---
+ tools/tests/x86_emulator/x86-emulate.c | 7 +++++++
+ xen/arch/x86/x86_emulate/x86_emulate.c | 2 +-
+ xen/include/asm-x86/fixmap.h           | 2 +-
+ xen/include/xen/compiler.h             | 6 ++++++
+ xen/include/xen/pdx.h                  | 2 +-
+ 5 files changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/tools/tests/x86_emulator/x86-emulate.c b/tools/tests/x86_emulator/x86-emulate.c
+index 07f892dbbb..ea286d6ad8 100644
+--- a/tools/tests/x86_emulator/x86-emulate.c
++++ b/tools/tests/x86_emulator/x86-emulate.c
+@@ -8,6 +8,13 @@
+ 
+ #define ERR_PTR(val) NULL
+ 
++/* See gcc bug 100680, but here don't bother making this version dependent. */
++#define gcc11_wrap(x) ({                  \
++    unsigned long x_;                     \
++    __asm__ ( "" : "=g" (x_) : "0" (x) ); \
++    (typeof(x))x_;                        \
++})
++
+ #define cpu_has_amd_erratum(nr) 0
+ #define cpu_has_mpx false
+ #define read_bndcfgu() 0
+diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
+index c25d88d0d8..31fdec030c 100644
+--- a/xen/arch/x86/x86_emulate/x86_emulate.c
++++ b/xen/arch/x86/x86_emulate/x86_emulate.c
+@@ -726,7 +726,7 @@ union vex {
+ #define copy_VEX(ptr, vex) ({ \
+     if ( !mode_64bit() ) \
+         (vex).reg |= 8; \
+-    (ptr)[0 - PFX_BYTES] = ext < ext_8f08 ? 0xc4 : 0x8f; \
++    gcc11_wrap(ptr)[0 - PFX_BYTES] = ext < ext_8f08 ? 0xc4 : 0x8f; \
+     (ptr)[1 - PFX_BYTES] = (vex).raw[0]; \
+     (ptr)[2 - PFX_BYTES] = (vex).raw[1]; \
+     container_of((ptr) + 1 - PFX_BYTES, typeof(vex), raw[0]); \
+diff --git a/xen/include/asm-x86/fixmap.h b/xen/include/asm-x86/fixmap.h
+index 0db314baeb..20746afd0a 100644
+--- a/xen/include/asm-x86/fixmap.h
++++ b/xen/include/asm-x86/fixmap.h
+@@ -78,7 +78,7 @@ extern void __set_fixmap(
+ 
+ #define clear_fixmap(idx) __set_fixmap(idx, 0, 0)
+ 
+-#define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT))
++#define __fix_to_virt(x) gcc11_wrap(FIXADDR_TOP - ((x) << PAGE_SHIFT))
+ #define __virt_to_fix(x) ((FIXADDR_TOP - ((x)&PAGE_MASK)) >> PAGE_SHIFT)
+ 
+ #define fix_to_virt(x)   ((void *)__fix_to_virt(x))
+diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
+index 17cf00e1ec..696c7eb89e 100644
+--- a/xen/include/xen/compiler.h
++++ b/xen/include/xen/compiler.h
+@@ -140,6 +140,12 @@
+     __asm__ ("" : "=r"(__ptr) : "0"(ptr));      \
+     (typeof(ptr)) (__ptr + (off)); })
+ 
++#if CONFIG_GCC_VERSION >= 110000 /* See gcc bug 100680. */
++# define gcc11_wrap(x) RELOC_HIDE(x, 0)
++#else
++# define gcc11_wrap(x) (x)
++#endif
++
+ #ifdef __GCC_ASM_FLAG_OUTPUTS__
+ # define ASM_FLAG_OUT(yes, no) yes
+ #else
+diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
+index 770fadc06c..9fcfb0ce52 100644
+--- a/xen/include/xen/pdx.h
++++ b/xen/include/xen/pdx.h
+@@ -19,7 +19,7 @@ extern u64 pdx_region_mask(u64 base, u64 len);
+ extern void set_pdx_range(unsigned long smfn, unsigned long emfn);
+ 
+ #define page_to_pdx(pg)  ((pg) - frame_table)
+-#define pdx_to_page(pdx) (frame_table + (pdx))
++#define pdx_to_page(pdx) gcc11_wrap(frame_table + (pdx))
+ 
+ bool __mfn_valid(unsigned long mfn);
+ 
+-- 
+2.25.1
+
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc
index e939c45..3560e79 100644
--- a/recipes-extended/xen/xen-tools.inc
+++ b/recipes-extended/xen/xen-tools.inc
@@ -725,12 +725,9 @@ do_configure() {
     do_configure_common
 }
 
-# Workaround when compiling with gcc-11
-EXTRA_CFLAGS_XEN_TOOLS_append = " -Wno-vla-parameter"
-
 do_compile() {
     cd ${S}
-    oe_runmake tools EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" PYTHON="${PYTHON}"
+    oe_runmake tools PYTHON="${PYTHON}"
 }
 
 do_install() {
diff --git a/recipes-extended/xen/xen-tools_4.14.bb b/recipes-extended/xen/xen-tools_4.14.bb
index 10982a2..6fd6f7f 100644
--- a/recipes-extended/xen/xen-tools_4.14.bb
+++ b/recipes-extended/xen/xen-tools_4.14.bb
@@ -1,4 +1,4 @@
-SRCREV ?= "ad844aa352559a8b1f36e391a27d9d7dbddbdc36"
+SRCREV ?= "b6a8c4f72def4d1135ff42660a86276ce2565c8c"
 
 XEN_REL ?= "4.14"
 XEN_BRANCH ?= "stable-${XEN_REL}"
@@ -8,6 +8,7 @@ SRC_URI = " \
     file://0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch \
     file://0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch \
     file://0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch \
+    file://0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch \
     "
 
 LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
diff --git a/recipes-extended/xen/xen-tools_4.15.bb b/recipes-extended/xen/xen-tools_4.15.bb
index 314dc52..f3f9cd3 100644
--- a/recipes-extended/xen/xen-tools_4.15.bb
+++ b/recipes-extended/xen/xen-tools_4.15.bb
@@ -6,6 +6,7 @@ XEN_BRANCH ?= "stable-${XEN_REL}"
 SRC_URI = " \
     git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
     file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \
+    file://0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch \
     "
 
 LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
diff --git a/recipes-extended/xen/xen-tools_git.bb b/recipes-extended/xen/xen-tools_git.bb
index 0188bdd..0b2dce9 100644
--- a/recipes-extended/xen/xen-tools_git.bb
+++ b/recipes-extended/xen/xen-tools_git.bb
@@ -6,6 +6,7 @@ XEN_BRANCH ?= "master"
 SRC_URI = " \
     git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
     file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \
+    file://0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch \
     "
 
 LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
diff --git a/recipes-extended/xen/xen_4.14.bb b/recipes-extended/xen/xen_4.14.bb
index 653e3b6..0dd9d3c 100644
--- a/recipes-extended/xen/xen_4.14.bb
+++ b/recipes-extended/xen/xen_4.14.bb
@@ -1,4 +1,4 @@
-SRCREV ?= "ad844aa352559a8b1f36e391a27d9d7dbddbdc36"
+SRCREV ?= "b6a8c4f72def4d1135ff42660a86276ce2565c8c"
 
 XEN_REL ?= "4.14"
 XEN_BRANCH ?= "stable-${XEN_REL}"
diff --git a/recipes-extended/xen/xen_4.15.bb b/recipes-extended/xen/xen_4.15.bb
index 2842c0a..d0aa176 100644
--- a/recipes-extended/xen/xen_4.15.bb
+++ b/recipes-extended/xen/xen_4.15.bb
@@ -7,6 +7,7 @@ SRC_URI = " \
     git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
     file://xen-arm64-implement-atomic-fetch-add.patch \
     file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \
+    file://0001-x86-make-hypervisor-build-with-gcc11.patch \
     "
 
 LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb
index eaf3956..7ce7228 100644
--- a/recipes-extended/xen/xen_git.bb
+++ b/recipes-extended/xen/xen_git.bb
@@ -7,6 +7,7 @@ SRC_URI = " \
     git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
     file://xen-arm64-implement-atomic-fetch-add.patch \
     file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \
+    file://0001-x86-make-hypervisor-build-with-gcc11.patch \
     "
 
 LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
-- 
2.25.1


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

* [meta-virtualization][PATCH v2 2/4] xen, xen-tools: fix build and passing of CFLAGS via Xen vars
  2021-07-08  4:32 [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 1/4] xen, xen-tools: apply upstream fixes for gcc11 compilation Christopher Clark
@ 2021-07-08  4:32 ` Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 3/4] xtf: fix build with gcc11 SRCREV and specifying linker Christopher Clark
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Christopher Clark @ 2021-07-08  4:32 UTC (permalink / raw)
  To: meta-virtualization
  Cc: bruce.ashfield, cardoe, diego.sueiro, Bertrand.Marquis,
	andrew.cooper3, dpsmith, persaur

Ensure that the Xen build system variables EXTRA_CFLAGS_XEN_CORE and
EXTRA_CFLAGS_XEN_TOOLS are passed into the compile steps.

Update the hypervisor compilation to avoid passing in most compile flags
from the build environment via EXTRA_CFLAGS_XEN_CORE -- prefer the
compiler defaults and the flags set by the Xen build system, so only the
debug prefix flags are provided.

Observeration derived from the prior commit e99974aa, so:
Reported-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 recipes-extended/xen/xen-hypervisor.inc |  3 ++-
 recipes-extended/xen/xen-tools.inc      |  3 ++-
 recipes-extended/xen/xen.inc            | 12 ++++++++++--
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/recipes-extended/xen/xen-hypervisor.inc b/recipes-extended/xen/xen-hypervisor.inc
index 916bd3c..9b96d91 100644
--- a/recipes-extended/xen/xen-hypervisor.inc
+++ b/recipes-extended/xen/xen-hypervisor.inc
@@ -49,7 +49,8 @@ do_configure() {
 }
 
 do_compile() {
-    oe_runmake xen PYTHON="${PYTHON}"
+    oe_runmake xen PYTHON="${PYTHON}" \
+                   EXTRA_CFLAGS_XEN_CORE="${EXTRA_CFLAGS_XEN_CORE}"
 }
 
 do_install() {
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc
index 3560e79..2930097 100644
--- a/recipes-extended/xen/xen-tools.inc
+++ b/recipes-extended/xen/xen-tools.inc
@@ -727,7 +727,8 @@ do_configure() {
 
 do_compile() {
     cd ${S}
-    oe_runmake tools PYTHON="${PYTHON}"
+    oe_runmake tools PYTHON="${PYTHON}" \
+                     EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}"
 }
 
 do_install() {
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 2fbdb3a..5aa2d5a 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -92,6 +92,16 @@ export LDFLAGS=""
 
 # Pass through the Yocto distro compiler flags via the Xen-provided variables.
 # Special handling:
+# - The Yocto distro compiler flags are typically set to be appropriate for
+#   user-space software rather than for generation of a hypervisor binary, so
+#   only pass the debug prefix map to the hypervisor build:
+EXTRA_CFLAGS_XEN_CORE="${DEBUG_PREFIX_MAP}"
+
+# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader
+#   which fails to build when "-m64" is included in flags set via the
+#   EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that.
+TUNE_CCARGS_x86-64=""
+
 # - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the
 #   optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared
 #   within the build because compilation fails with the compiler stating
@@ -102,12 +112,10 @@ export LDFLAGS=""
 #   explicitly clears CFLAGS to ensure that, so such options must not be passed
 #   in via the tool variable. hvmloader is required to run HVM-mode guest VMs.
 CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}"
-EXTRA_CFLAGS_XEN_CORE="${HOST_CC_ARCH} ${CFLAGS}"
 EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}"
 # 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed
 # in CC to ensure that configure can compile binaries for the right arch.
 CC_arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}"
-EXTRA_CFLAGS_XEN_CORE_arm="${SECURITY_CFLAGS} ${CFLAGS}"
 EXTRA_CFLAGS_XEN_TOOLS_arm="${SECURITY_CFLAGS} ${CFLAGS}"
 
 # There are no Xen-provided variables for C++, so append to the tool variables:
-- 
2.25.1


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

* [meta-virtualization][PATCH v2 3/4] xtf: fix build with gcc11 SRCREV and specifying linker
  2021-07-08  4:32 [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 1/4] xen, xen-tools: apply upstream fixes for gcc11 compilation Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 2/4] xen, xen-tools: fix build and passing of CFLAGS via Xen vars Christopher Clark
@ 2021-07-08  4:32 ` Christopher Clark
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 4/4] xen-tools: remove Arm 32-bit compiler flags override Christopher Clark
  2021-07-14 19:33 ` [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Bruce Ashfield
  4 siblings, 0 replies; 6+ messages in thread
From: Christopher Clark @ 2021-07-08  4:32 UTC (permalink / raw)
  To: meta-virtualization
  Cc: bruce.ashfield, cardoe, diego.sueiro, Bertrand.Marquis,
	andrew.cooper3, dpsmith, persaur

Newer XTF revision works around GCC 11.1 issue 99578 and
supplying the correct linker to use fixes the build.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 recipes-extended/xen/xtf_git.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/recipes-extended/xen/xtf_git.bb b/recipes-extended/xen/xtf_git.bb
index 3580324..bf7470e 100644
--- a/recipes-extended/xen/xtf_git.bb
+++ b/recipes-extended/xen/xtf_git.bb
@@ -6,7 +6,7 @@ LICENSE = "BSD-2-Clause"
 # https://static.sched.com/hosted_files/xendeveloperanddesignsummit2017/79/xtf.pdf
 
 SRC_URI = "git://xenbits.xen.org/xtf"
-SRCREV = "b0bc49846c154b79243f39d461a4515804bcaf53"
+SRCREV = "3e800027016ea4eb19887bf626b46f45fc43fa5d"
 
 COMPATIBLE_HOST = '(x86_64.*).*-linux'
 
@@ -32,6 +32,7 @@ RDEPENDS_${PN} = " \
 do_compile() {
     oe_runmake CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" \
                CPP="${CPP}" \
+               LD="${LD}" \
                OBJCOPY="${OBJCOPY}" \
                PYTHON="${PYTHON}"
     # switch the shebang to python3
-- 
2.25.1


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

* [meta-virtualization][PATCH v2 4/4] xen-tools: remove Arm 32-bit compiler flags override
  2021-07-08  4:32 [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Christopher Clark
                   ` (2 preceding siblings ...)
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 3/4] xtf: fix build with gcc11 SRCREV and specifying linker Christopher Clark
@ 2021-07-08  4:32 ` Christopher Clark
  2021-07-14 19:33 ` [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Bruce Ashfield
  4 siblings, 0 replies; 6+ messages in thread
From: Christopher Clark @ 2021-07-08  4:32 UTC (permalink / raw)
  To: meta-virtualization
  Cc: bruce.ashfield, cardoe, diego.sueiro, Bertrand.Marquis,
	andrew.cooper3, dpsmith, persaur

The SECURITY_FLAGS are already passed into the tools build in
HOST_CC_ARCH so this separate case override is not needed.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
---
 recipes-extended/xen/xen.inc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 5aa2d5a..3438034 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -116,7 +116,6 @@ EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}"
 # 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed
 # in CC to ensure that configure can compile binaries for the right arch.
 CC_arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}"
-EXTRA_CFLAGS_XEN_TOOLS_arm="${SECURITY_CFLAGS} ${CFLAGS}"
 
 # There are no Xen-provided variables for C++, so append to the tool variables:
 CPP_append = " ${CPPFLAGS}"
-- 
2.25.1


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

* Re: [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series
  2021-07-08  4:32 [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Christopher Clark
                   ` (3 preceding siblings ...)
  2021-07-08  4:32 ` [meta-virtualization][PATCH v2 4/4] xen-tools: remove Arm 32-bit compiler flags override Christopher Clark
@ 2021-07-14 19:33 ` Bruce Ashfield
  4 siblings, 0 replies; 6+ messages in thread
From: Bruce Ashfield @ 2021-07-14 19:33 UTC (permalink / raw)
  To: Christopher Clark
  Cc: meta-virtualization, Doug Goldstein, Diego Sueiro,
	Bertrand Marquis, andrew.cooper3, Daniel Smith, Rich Persaud

I haven't heard any objections, so this is now merged to master.

Bruce

On Thu, Jul 8, 2021 at 12:33 AM Christopher Clark
<christopher.w.clark@gmail.com> wrote:
>
> Pull in updates from upstream Xen and XTF for GCC 11 and fix passing
> compiler flags for the Xen hypervisor, tools and test framework.
>
> Changes since v1:
> - for Xen 4.14, drop the previous cherry-picked compiler fix patch
>   via an update of SRCREV to the current tip of stable-4.14
> - add a patch to drop an unnecessary compiler flag override for
>   the Arm 32-bit Xen tools build
>
> Christopher Clark (4):
>   xen, xen-tools: apply upstream fixes for gcc11 compilation
>   xen, xen-tools: fix build and passing of CFLAGS via Xen vars
>   xtf: fix build with gcc11 SRCREV and specifying linker
>   xen-tools: remove Arm 32-bit compiler flags override
>
>  ...ry-Fix-osdep_xenforeignmemory_map-pr.patch |  33 ++++++
>  ...x86-make-hypervisor-build-with-gcc11.patch | 111 ++++++++++++++++++
>  recipes-extended/xen/xen-hypervisor.inc       |   3 +-
>  recipes-extended/xen/xen-tools.inc            |   6 +-
>  recipes-extended/xen/xen-tools_4.14.bb        |   3 +-
>  recipes-extended/xen/xen-tools_4.15.bb        |   1 +
>  recipes-extended/xen/xen-tools_git.bb         |   1 +
>  recipes-extended/xen/xen.inc                  |  13 +-
>  recipes-extended/xen/xen_4.14.bb              |   2 +-
>  recipes-extended/xen/xen_4.15.bb              |   1 +
>  recipes-extended/xen/xen_git.bb               |   1 +
>  recipes-extended/xen/xtf_git.bb               |   3 +-
>  12 files changed, 167 insertions(+), 11 deletions(-)
>  create mode 100644 recipes-extended/xen/files/0001-libs-foreignmemory-Fix-osdep_xenforeignmemory_map-pr.patch
>  create mode 100644 recipes-extended/xen/files/0001-x86-make-hypervisor-build-with-gcc11.patch
>
> --
> 2.25.1
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

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

end of thread, other threads:[~2021-07-14 19:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-08  4:32 [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Christopher Clark
2021-07-08  4:32 ` [meta-virtualization][PATCH v2 1/4] xen, xen-tools: apply upstream fixes for gcc11 compilation Christopher Clark
2021-07-08  4:32 ` [meta-virtualization][PATCH v2 2/4] xen, xen-tools: fix build and passing of CFLAGS via Xen vars Christopher Clark
2021-07-08  4:32 ` [meta-virtualization][PATCH v2 3/4] xtf: fix build with gcc11 SRCREV and specifying linker Christopher Clark
2021-07-08  4:32 ` [meta-virtualization][PATCH v2 4/4] xen-tools: remove Arm 32-bit compiler flags override Christopher Clark
2021-07-14 19:33 ` [meta-virtualization][PATCH v2 0/4] Xen and XTF build fixes series Bruce Ashfield

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.