On Wed, May 12, 2021 at 2:32 PM Richard Purdie
<[email protected]> wrote:
>
> lto tends to break reproducibility and makes ovmf near impossible to debug
> reproducibility issues in. Disable it and supress the warnings that then
> generates from Werror.
>
> Signed-off-by: Richard Purdie <[email protected]>
> ---
>  meta/recipes-core/ovmf/ovmf_git.bb | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-core/ovmf/ovmf_git.bb 
> b/meta/recipes-core/ovmf/ovmf_git.bb
> index 1fe01146d6b..ef5545bf705 100644
> --- a/meta/recipes-core/ovmf/ovmf_git.bb
> +++ b/meta/recipes-core/ovmf/ovmf_git.bb
> @@ -102,15 +102,22 @@ fix_toolchain_append_class-native() {
>      # to make ovmf-native reusable across distros.
>      sed -i \
>          -e 's#^\(DEFINE GCC.*DLINK.*FLAGS  *=\)#\1 -fuse-ld=bfd#' \
> +        -e 's#-flto#-fno-lto#g' \
> +        -e 's#-DUSING_LTO##g' \
>          ${S}/BaseTools/Conf/tools_def.template
>  }
>
> +# We disable lto above since the results are not reproducible and make it 
> hard to compare
> +# binary build aretfacts to debug reproducibility problems.
> +# Surprisingly, if you disable lto, you see compiler warnings which are 
> fatal. We therefore
> +# have to hack warnings overrides into GCC_PREFIX_MAP to allow it to build.
> +

could lto piece be turned into a packageconfig,as I think LTO usage
will only grow in coming future
some distros may prefer LTO over reproducibility for performance reasons.

>  # We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in
>  # --debug-prefix-map to nasm (we carry a patch to nasm for this). The
>  # tools definitions are built by ovmf-native so we need to pass this in
>  # at target build time when we know the right values.
>  export NASM_PREFIX_MAP = 
> "--debug-prefix-map=${WORKDIR}=/usr/src/debug/ovmf/${EXTENDPE}${PV}-${PR}"
> -export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP}"
> +export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP} -Wno-stringop-overflow 
> -Wno-maybe-uninitialized"
>
>  GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')"
>
> --
> 2.30.2
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#151690): 
https://lists.openembedded.org/g/openembedded-core/message/151690
Mute This Topic: https://lists.openembedded.org/mt/82784424/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to