On Wed, 2026-02-04 at 15:17 -0300, Ricardo de Araujo (Salveti) wrote: > On Wed, Feb 4, 2026 at 2:26 AM <[email protected]> wrote: > > > > From: Changqing Li <[email protected]> > > > > DEBUG_PREFIX_MAP is appended to TARGET_LDFLAGS in commit [1] for fixing > > reproducible issue when LTO is enabled. It is removed in comit [2] since > > this commit causes cgo binary not reproducible. But actually, we still > > need this DEBUG_PREFIX_MAP in LDFLAGS when LTO enabled. So, only appened > > it when LTO is enabled. Refer [3] for the history, with this patch, > > patch [4] is also needed for cgo + lto enabled. > > > > [1] > > https://git.openembedded.org/openembedded-core/commit/?id=fddaecc88979967d0e00e2fafdbaaabec030da9f > > [2] > > https://git.openembedded.org/openembedded-core/commit/?id=1797741aad02b8bf429fac4b81e30cdda64b5448 > > [3] > > https://lists.openembedded.org/g/openembedded-core/topic/patch_bitbake_conf_remove/117408334 > > [4] https://lists.openembedded.org/g/openembedded-core/message/230059 > > > > Signed-off-by: Changqing Li <[email protected]> > > --- > > meta/conf/distro/include/lto.inc | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/meta/conf/distro/include/lto.inc > > b/meta/conf/distro/include/lto.inc > > index 227f0c5c2a..cef92901e3 100644 > > --- a/meta/conf/distro/include/lto.inc > > +++ b/meta/conf/distro/include/lto.inc > > @@ -49,5 +49,6 @@ LTO:toolchain-clang = > > "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flt > > > > SELECTED_OPTIMIZATION:append = "${@bb.utils.contains('DISTRO_FEATURES', > > 'lto', ' ${LTO}', '', d)}" > > TARGET_LDFLAGS:append:class-target = > > "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" > > +TARGET_LDFLAGS:append:class-target = > > "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${DEBUG_PREFIX_MAP}', '', > > d)}" > > > > SELECTED_OPTIMIZATION[vardeps] += "LTO LTOEXTRA" > > As raised by Randolph in the previous thread > (https://lists.openembedded.org/g/openembedded-core/message/230469), > this will only fix the build for users that are enabling LTO in OE, > but we still have quite a few recipes enabling LTO as part of the > project meson/make/etc files (e.g. lxc) even when lto.inc is not used.
See my other reply. According to the bug report links where this was discussed, upstream think this is a bug in gcc/binutils itself and you shouldn't have to pass these options to the linker. I think we do need to narrow down a test case for upstream and see if this really is a bug or not. It may be we have to work around this in recipes that are forcing LTO unconditionally, I'd hope there aren't that many of them? Perhaps just force the include for those recipes? Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#230561): https://lists.openembedded.org/g/openembedded-core/message/230561 Mute This Topic: https://lists.openembedded.org/mt/117630000/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
