summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz93@gmail.com>2024-03-11 23:09:40 -0400
committerSam James <sam@gentoo.org>2024-03-12 03:30:49 +0000
commitd258a6ab040a704adae2c1a6024b5cf2240865a5 (patch)
tree07cef6f4a66a628aa6332db061f49d0a35128dc3 /dev-libs/libtecla
parentdev-debug/scap-driver: fix build on kernel 6.8 (diff)
downloadgentoo-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.ebuild16
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="" \