commit:     c4a75bbddb54b323e799eb95d9d0488986eb0f51
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Mar 17 04:02:35 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 17 05:28:41 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4a75bbd

dev-libs/libowfat: mark as LTO-unsafe

It breaks consumers, largely because... it is a static library. Frankly,
static libraries shouldn't be LTO'ed at all. We definitely cannot
cross-LTO between libowfat and e.g. gatling anyway.

Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libowfat/libowfat-0.32-r5.ebuild | 8 +++++++-
 dev-libs/libowfat/libowfat-0.33-r1.ebuild | 8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/dev-libs/libowfat/libowfat-0.32-r5.ebuild 
b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
index da8af4daacc6..45ea340b25da 100644
--- a/dev-libs/libowfat/libowfat-0.32-r5.ebuild
+++ b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="8"
@@ -38,6 +38,12 @@ src_prepare() {
 }
 
 src_compile() {
+       # Primary use case is for code by the same author. Which then fails with
+       # LTO errors.  It builds a static library only, anyway. Result: LTO can 
be
+       # used if you don't upgrade the compiler. If you do, the compiler 
errors,
+       # or if you are unlucky, ICEs. Just don't use LTO, there is no point...
+       filter-lto
+
        emake \
                CC="$(tc-getCC)" \
                AR="$(tc-getAR)" \

diff --git a/dev-libs/libowfat/libowfat-0.33-r1.ebuild 
b/dev-libs/libowfat/libowfat-0.33-r1.ebuild
index 140aed4ff868..456716706290 100644
--- a/dev-libs/libowfat/libowfat-0.33-r1.ebuild
+++ b/dev-libs/libowfat/libowfat-0.33-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="8"
@@ -23,6 +23,12 @@ pkg_setup() {
 }
 
 src_compile() {
+       # Primary use case is for code by the same author. Which then fails with
+       # LTO errors.  It builds a static library only, anyway. Result: LTO can 
be
+       # used if you don't upgrade the compiler. If you do, the compiler 
errors,
+       # or if you are unlucky, ICEs. Just don't use LTO, there is no point...
+       filter-lto
+
        # workaround for broken dependencies
        emake headers
 

Reply via email to