Hi Christopher, > On 10 Jul 2022, at 06:42, Christopher Clark <[email protected]> > wrote: > > To fix warnings when the buildpaths QA test is enabled, pass the file > and debug prefix map options that were previously supplied only for > reproducible builds, adding them to the DEBUG_PREFIX_MAP variable > and supplying that to CC. > > Testing indicates that passing the prefix maps needs to be via CC > rather than the EXTRA_CFLAGS_XEN_CORE/TOOLS variables. > > Signed-off-by: Christopher Clark <[email protected]> Reviewed-by: Bertrand Marquis <[email protected]>
Also I applied this in kirkstone and did a build and run on arm64, arm32 and x86 with success so: Tested-by: Bertrand Marquis <[email protected]> Cheers Bertrand > --- > recipes-extended/xen/xen.inc | 21 ++++++++++----------- > 1 file changed, 10 insertions(+), 11 deletions(-) > > diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc > index ed6e6a7..2bbf1e3 100644 > --- a/recipes-extended/xen/xen.inc > +++ b/recipes-extended/xen/xen.inc > @@ -88,12 +88,13 @@ export CROSS_COMPILE="${TARGET_PREFIX}" > # overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: > unrecognized option '-Wl,-O1'" > 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}" > +# No additional C flags for the main hypervisor build > +EXTRA_CFLAGS_XEN_CORE ?= "" > +# Add prefix maps to support buildpaths QA test and reproducibility > +DEBUG_PREFIX_MAP:append = " \ > + -ffile-prefix-map=${S}=${PN}-source \ > + -fdebug-prefix-map=${WORKDIR}=${PN} \ > + " > > # - 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 > @@ -109,11 +110,11 @@ TUNE_CCARGS:x86-64="" > # It must not be compiled with SSE compiler options enabled and the Xen > build > # 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}" > +CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} > ${CC_REPRODUCIBLE_OPTIONS}" > 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}" > +CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} > ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" > > # There are no Xen-provided variables for C++, so append to the tool > variables: > CPP:append = " ${CPPFLAGS}" > @@ -158,9 +159,7 @@ EXTRA_OEMAKE += "${@['', 'XEN_WHOAMI=${PF} > XEN_DOMAIN=${DISTRO} XEN_BUILD_HOST=$ > [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == > '1']}${@get_build_time_vars(d)}" > > # Improve build reproducibility: compiler flags to remove filesystem > differences. > -CC_REPRODUCIBLE_OPTIONS = "${@['', '-gno-record-gcc-switches ' + \ > - '-ffile-prefix-map=${S}=${PN}-source ' + \ > - '-fdebug-prefix-map=${WORKDIR}=${PN}'] \ > +CC_REPRODUCIBLE_OPTIONS = "${@['', '-gno-record-gcc-switches'] \ > [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == > '1']}" > > # check for XSM in package config to allow XSM_ENABLE to be set > -- > 2.25.1 >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#7449): https://lists.yoctoproject.org/g/meta-virtualization/message/7449 Mute This Topic: https://lists.yoctoproject.org/mt/92285004/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
