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