commit:     c30f795e25db71ca03d85a7ccfd0a085f5e9a1c6
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Thu Feb 29 00:05:16 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 29 00:27:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c30f795e

www-client/elinks: mark LTO-unsafe

Upstream acknowledges the project is a walking strict-aliasing
violation, and activates -fno-strict-aliasing.

Given this, we shouldn't trust it to generate valid code with LTO
either.

Bug: https://bugs.gentoo.org/864127
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 www-client/elinks/elinks-0.16.1.1-r2.ebuild | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/www-client/elinks/elinks-0.16.1.1-r2.ebuild 
b/www-client/elinks/elinks-0.16.1.1-r2.ebuild
index ecccac8216f0..d2c680bb33b6 100644
--- a/www-client/elinks/elinks-0.16.1.1-r2.ebuild
+++ b/www-client/elinks/elinks-0.16.1.1-r2.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
@@ -6,7 +6,7 @@ EAPI=8
 PYTHON_COMPAT=( python3_{10..11} )
 LUA_COMPAT=( lua5-{1,2,3,4} luajit )
 
-inherit meson lua-single python-any-r1
+inherit flag-o-matic meson lua-single python-any-r1
 
 DESCRIPTION="Advanced and well-established text-mode web browser"
 HOMEPAGE="http://elinks.or.cz/";
@@ -79,6 +79,13 @@ pkg_setup() {
 }
 
 src_configure() {
+       # This file is severely broken w.r.t. strict-aliasing and upstream 
acknowledges it:
+       # 
https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/util/lists.h#L14
+       # 
https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/meson.build#L44
+       #
+       # Although they force fno-strict-aliasing, we should also not trust the 
LTO either.
+       filter-lto
+
        local emesonargs=(
                -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
                -Dhtmldoc=false

Reply via email to