commit:     6fe332967f8bd8e14bb8734f7e5c714e5d0de06e
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Dec 31 22:46:33 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan  1 00:12:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6fe33296

sys-cluster/drbd-utils: suppress LTO

It fails to build:

```
x86_64-pc-linux-gnu-gcc -march=native -fstack-protector-all -O2 -pipe 
-fdiagnostics-color=always -frecord-gcc-switches -U_FORTIFY_SOURCE 
-D_FORTIFY_SOURCE=3 -fstack-clash-protection -Wformat -Werror=format-security 
-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing 
-Werror=implicit-function-declaration -Werror=implicit-int 
-Werror=int-conversion -Werror=incompatible-pointer-types -Wall 
-I../../drbd-headers -I.. -I. -I../shared   -Wl,-O1 -Wl,--as-needed 
-Wl,--defsym=__gentoo_check_ldflags__=0  -Wl,-O1 -Wl,--as-needed 
-Wl,--defsym=__gentoo_check_ldflags__=0 -o drbdadm drbdadm_scanner.o 
drbdadm_parser.o drbdadm_postparse.o drbdadm_main.o drbdadm_adjust.o 
drbdadm_dump.o drbdtool_common.o drbdadm_usage_cnt.o drbd_buildtag.o registry.o 
config_flags.o libnla.o drbd_nla.o shared_tool.o shared_main.o shared_parser.o 
libgenl.o drbdadm_linux.o drbdtool_common_linux.o path_linux.o shared_linux.o
../shared/shared_main.c:60:22: error: type of ‘ifreq_list’ does not match 
original declaration [-Werror=lto-type-mismatch]
   60 | extern struct ifreq *ifreq_list;
      |                      ^
drbdadm_main.c:150:15: note: ‘ifreq_list’ was previously declared here
  150 | struct ifreq *ifreq_list = NULL;
      |               ^
drbdadm_main.c:150:15: note: code may be misoptimized unless 
‘-fno-strict-aliasing’ is used
lto1: some warnings being treated as errors
lto-wrapper: fatal error: x86_64-pc-linux-gnu-gcc returned 1 exit status
```

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

 sys-cluster/drbd-utils/drbd-utils-9.25.0-r1.ebuild | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sys-cluster/drbd-utils/drbd-utils-9.25.0-r1.ebuild 
b/sys-cluster/drbd-utils/drbd-utils-9.25.0-r1.ebuild
index 2b24560c3430..1dde213b413e 100644
--- a/sys-cluster/drbd-utils/drbd-utils-9.25.0-r1.ebuild
+++ b/sys-cluster/drbd-utils/drbd-utils-9.25.0-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit autotools bash-completion-r1 linux-info tmpfiles udev
+inherit autotools bash-completion-r1 flag-o-matic linux-info tmpfiles udev
 
 DESCRIPTION="mirror/replicate block-devices across a network-connection"
 HOMEPAGE="https://www.linbit.com/drbd";
@@ -71,6 +71,10 @@ src_prepare() {
 }
 
 src_configure() {
+       # -Werror=lto-type-mismatch, bug #863728
+       # https://github.com/LINBIT/drbd-utils/issues/40
+       filter-lto
+
        local myeconfargs=(
                --localstatedir="${EPREFIX}"/var
                # don't autodetect systemd/sysv; install systemd and use our 
own openrc

Reply via email to