diff options
author | Eli Schwartz <eschwartz93@gmail.com> | 2024-03-11 23:09:40 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-03-12 03:30:49 +0000 |
commit | d258a6ab040a704adae2c1a6024b5cf2240865a5 (patch) | |
tree | 07cef6f4a66a628aa6332db061f49d0a35128dc3 /dev-libs/libtecla | |
parent | dev-debug/scap-driver: fix build on kernel 6.8 (diff) | |
download | gentoo-d258a6ab040a704adae2c1a6024b5cf2240865a5.tar.gz gentoo-d258a6ab040a704adae2c1a6024b5cf2240865a5.tar.bz2 gentoo-d258a6ab040a704adae2c1a6024b5cf2240865a5.zip |
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@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/libtecla')
-rw-r--r-- | dev-libs/libtecla/libtecla-1.6.3-r1.ebuild | 16 |
1 files changed, 15 insertions, 1 deletions
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="" \ |