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 <christopher.w.cl...@gmail.com> --- 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 (#167842): https://lists.openembedded.org/g/openembedded-core/message/167842 Mute This Topic: https://lists.openembedded.org/mt/92285003/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-