commit: d258a6ab040a704adae2c1a6024b5cf2240865a5 Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com> AuthorDate: Tue Mar 12 03:09:40 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Mar 12 03:30:49 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d258a6ab
dev-libs/libtecla: mark as LTO-unsafe Actually, it doesn't use the compiler to link its shared libraries, it uses $LD directly. Totally broken. The resulting shared library is LTO bytecode linked without a bytecode handler, i.e. it's not really a real library. Everything then explodes. Closes: https://bugs.gentoo.org/772014 Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com> Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/libtecla/libtecla-1.6.3-r1.ebuild | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild index d0214a052aab..a61d52f0bee1 100644 --- a/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild +++ b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,6 +33,20 @@ src_prepare() { eautoreconf } +src_configure() { + # ld: <artificial>:(.text.startup+0x6c): undefined reference to `libtecla_version' + # + # For some mysterious reason this is running $LD directly to link the + # shared library rather than use the compiler as the linker driver. As a + # result -flto is effectively a no-op *at link time* and the shared library + # contains... nothing. Because it didn't process the bytecode. Of course, + # nothing can then link to it. + # + # https://bugs.gentoo.org/772014 + filter-lto + default +} + src_compile() { emake \ OPT="" \
