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