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 <richard.pur...@linuxfoundation.org> --- 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. + # 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 (#151681): https://lists.openembedded.org/g/openembedded-core/message/151681 Mute This Topic: https://lists.openembedded.org/mt/82784424/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-