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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to